Aperçu

Vanilla PHP est un projet PHP pur sans aucun framework. Il offre un point de départ propre pour des projets simples, vous donnant un contrôle total sur la structure de votre code avec HTML, CSS, JavaScript et PHP.

Avant de commencer
Assurez-vous que votre tableau de bord est ouvert - vous aurez besoin des identifiants Git qui y sont affichés. Ce modèle inclut PHP avec la prise en charge MySQL/PDO via Apache.

Démarrage rapide

1

Créer un dépôt à partir du modèle

Sur votre tableau de bord, allez dans l'onglet Tools & Deployment. Cliquez sur le bouton "New Repository", sélectionnez le modèle Vanilla PHP dans le menu déroulant, saisissez un nom de dépôt et un sous-domaine, puis cliquez sur "Create Repository".

2

Cloner votre dépôt

git clone https://<git-server>/<username>/<repo-name>.git
cd <repo-name>
3

Configurer la base de données (facultatif)

Si vous utilisez MySQL, récupérez vos identifiants de base de données dans phpMyAdmin (lien sur le tableau de bord) et mettez à jour vos fichiers PHP :

$host = 'your-host';
$dbname = 'your-database';
$username = 'your-username';
$password = 'your-password';
4

Commencer à développer

Modifiez directement les fichiers HTML, CSS, JavaScript et PHP. Aucune étape de build requise !

5

Pousser vos modifications

git add .
git commit -m "Initial setup"
git push origin main
Chaque push vers Git déploie automatiquement votre application. Consultez l'URL de travail du module sur votre tableau de bord pour voir votre site en ligne.

Développement local avec Docker

Si vous n'avez pas PHP installé localement, vous pouvez utiliser Docker pour exécuter un serveur PHP local. Le projet inclut un Dockerfile avec PHP 8.2 et Apache.

Qu'est-ce que Docker ?
Docker crée des "conteneurs" isolés contenant tous les logiciels nécessaires (PHP, Apache, extensions MySQL) sans les installer sur votre ordinateur. Considérez-le comme une machine virtuelle légère.

Prérequis

Installez Docker Desktop pour votre système d'exploitation (Windows, Mac ou Linux).

Exécuter avec Docker

# Construire et exécuter le conteneur
docker build -t my-php-app .
docker run -p 8080:80 -v $(pwd):/var/www/html my-php-app

# Ou utilisez une commande rapide pour le développement
docker run --rm -p 8080:80 -v $(pwd):/var/www/html php:8.2-apache

Ouvrez http://localhost:8080 dans votre navigateur.

Remarque
Docker est facultatif pour le développement local. La plateforme NStrim gère le déploiement automatiquement - vous n'avez besoin de Docker que si vous souhaitez exécuter PHP localement sans l'installer.

Structure du projet

Comprendre où sont situés les fichiers :

├── index.php             # Point d'entrée principal
├── css/
│   └── style.css         # Feuilles de style
├── js/
│   └── script.js         # Fichiers JavaScript
├── includes/
│   ├── config.php        # Configuration de la base de données
│   ├── header.php        # En-tête réutilisable
│   └── footer.php        # Pied de page réutilisable
├── images/               # Ressources images
├── Dockerfile            # Configuration de build Docker
└── README.md             # Documentation du projet
        

Tâches courantes

Connexion à la base de données avec PDO

Créez une connexion réutilisable à la base de données :

<?php
$host = 'localhost';
$dbname = 'database_name';
$username = 'username';
$password = 'password';

try {
    $pdo = new PDO("mysql:host=$host;dbname=$dbname", $username, $password);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
    die("Connection failed: " . $e->getMessage());
}
?>

Interroger la base de données

Utilisez les requêtes préparées pour des requêtes sécurisées :

<?php
// Requête SELECT
$stmt = $pdo->prepare("SELECT * FROM users WHERE id = ?");
$stmt->execute([$userId]);
$user = $stmt->fetch(PDO::FETCH_ASSOC);

// Requête INSERT
$stmt = $pdo->prepare("INSERT INTO users (name, email) VALUES (?, ?)");
$stmt->execute([$name, $email]);
?>

Inclure des fichiers

Réutilisez du code entre les pages :

<?php
include 'includes/header.php';
// Le contenu de votre page ici
include 'includes/footer.php';
?>

Traiter les données de formulaire

Traitez les requêtes POST de manière sécurisée :

<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $name = htmlspecialchars($_POST['name'] ?? '');
    $email = filter_var($_POST['email'] ?? '', FILTER_SANITIZE_EMAIL);

    // Traiter les données...
}
?>

Technologies clés

PHP 8.2

Scripts côté serveur avec les fonctionnalités modernes de PHP et la prise en charge MySQL/PDO.

HTML5

Structurez vos pages web avec des éléments HTML sémantiques.

CSS3

Stylisez vos pages avec des fonctionnalités CSS modernes comme Flexbox et Grid.

JavaScript

Ajoutez de l'interactivité avec du JavaScript vanilla - aucune bibliothèque requise.

Dépannage

Échec de la connexion à la base de données

Cause : Identifiants de base de données incorrects ou base de données non accessible.

Solution : Vérifiez vos identifiants dans phpMyAdmin (lien sur le tableau de bord). Assurez-vous que l'hôte, le nom de la base de données, le nom d'utilisateur et le mot de passe sont corrects.

Les erreurs PHP ne s'affichent pas

Cause : Le rapport d'erreurs est désactivé.

Solution : Ajoutez en haut de votre fichier PHP : ini_set('display_errors', 1); error_reporting(E_ALL);

Page blanche

Cause : Erreur fatale PHP avec rapport d'erreurs désactivé.

Solution : Activez le rapport d'erreurs (voir ci-dessus) ou consultez les journaux du serveur. Causes courantes : erreurs de syntaxe, fichiers manquants ou fonctions indéfinies.

CSS/JS ne se charge pas

Cause : Chemins de fichier incorrects.

Solution : Utilisez des chemins relatifs depuis votre fichier HTML : href="css/style.css" ou des chemins absolus : href="/css/style.css"

Données de formulaire non reçues

Cause : Méthode ou action de formulaire incorrecte.

Solution : Assurez-vous que votre formulaire a method="POST" et le bon attribut action pointant vers votre fichier PHP.

Flux de déploiement

Chaque fois que vous poussez du code vers Git, votre application est déployée automatiquement :

Modification du code git push Déploiement vers Apache En ligne !

L'URL de votre application déployée suit ce format :

https://<your-subdomain>-<repo-name>.<session-domain>

Exemple : https://student01-module-a.demo.nstrim.app

Pour plus d'informations, consultez la documentation PHP et les MDN Web Docs.