Vanilla
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.
Démarrage rapide
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".
Cloner votre dépôt
git clone https://<git-server>/<username>/<repo-name>.git
cd <repo-name>
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';
Commencer à développer
Modifiez directement les fichiers HTML, CSS, JavaScript et PHP. Aucune étape de build requise !
Pousser vos modifications
git add .
git commit -m "Initial setup"
git push origin main
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.
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.
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 :
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