Je vais t’envoyer deux éléments :
Les choses qu’on a étudiées en cours de PHP (les notions qu’on a vues en classe).
L’énoncé d’un travail à faire.
Génère pour moi un projet PHP complet qui réalise ce travail, en te basant
uniquement sur ce qu’on a vu en cours.
Le projet doit être composé de plusieurs fichiers PHP si nécessaire, avec un code
SQL que je pourrai exécuter dans phpMyAdmin pour créer la base de données et les
tables.
Le code doit être simple, clair, bien structuré, et avoir l’air d’avoir été fait
par un étudiant (et non généré par une IA).
Évite les structures trop avancées ou trop parfaites. Reste fidèle au niveau du
cours.
Le code doit contenir quelques commentaires, pas trop nombreux ni trop détaillés,
juste comme un étudiant qui explique rapidement certaines parties, sans être trop
formel ou trop bien écrit.
L’objectif est d’avoir un projet crédible et cohérent pour un devoir scolaire, basé
uniquement sur ce qu’on a appris
-Les choses qu’on a étudiées en cours de PHP (les notions qu’on a vues en classe):
### 🧩 **Introduction au PHP**
* Langage de script côté serveur
* Créé par Rasmus Lerdorf (1994-1995)
* Acronyme : PHP = PHP Hypertext Preprocessor
* Open source, multi-plateforme (Windows, Linux…)
* Versions importantes : PHP 4, 5, 7, 8 (dernière : 8.4.4 en 2025)
* Exécution sur serveur (Apache via XAMPP, WAMP…)
---
### 🔤 **Syntaxe et structures de base**
* Balise recommandée : `<?php ... ?>`
* Variables : commencent par `$`, sensibles à la casse, pas besoin de déclaration
* Types : int, string, boolean, array, etc.
* Constantes avec `define()`, vérifiées avec `defined()`
* Commentaires : `//`, `/* */`
* Caractère d’échappement : `\` (ex : `\$`, `\"`)
---
### 🧮 **Opérateurs et contrôles**
* Opérateurs : arithmétiques, logiques, de comparaison, de concaténation
* Structures conditionnelles : `if`, `else`, `elseif`, `switch`, `match` (PHP 8+)
* Boucles : `while`, `do...while`, `for`
---
### 📊 **Les Tableaux**
* Types : indexés (`$tab[0]`), associatifs (`$tab['clé']`)
* Fonctions utiles :
* `count()`, `print_r()`, `var_dump()`
* `array_push()`, `array_pop()`, `array_shift()`, `array_unshift()`
* `explode()`, `implode()`
* Tri : `sort()`, `rsort()`, `asort()`, `arsort()`, `ksort()`, `krsort()`
* Tableaux multidimensionnels
* Boucle `foreach` : simple ou avec clé=>valeur
---
### ⚙️ **Les Fonctions**
* Définition avec `function nom(...)`
* Paramètres par valeur ou par référence
* Portée des variables : `global`, `$GLOBALS`, `static`
* Retourner plusieurs valeurs avec `list()`
---
### 🔠 **Chaînes de caractères**
* Fonctions :
* `ord()`, `chr()`
* `strlen()`, `str_word_count()`
* `strpos()`, `strrpos()`, `strstr()`
* `addslashes()`, `trim()`, `strtoupper()`, `strtolower()`, `ucfirst()`,
`ucwords()`
* `substr()`, `str_replace()`, `substr_replace()`
---
### 📨 **Formulaires et $\_POST / $\_GET**
* Méthodes d'envoi : `GET` (dans URL) et `POST` (sécurisé, fichiers…)
* Utilisation des superglobales `$_POST`, `$_GET`, `$_FILES`
* Types de champs : texte, radio, case à cocher, liste déroulante
* Traitement avec `isset()`
* Téléversement de fichiers :
* Attribut `enctype="multipart/form-data"`
* Accès avec `$_FILES`
* Déplacement avec `move_uploaded_file()`
---
### **Connexion aux bases de données avec PDO**
* Avantages de PDO : sécurité, portabilité, POO, requêtes préparées
* Connexion :
* `$db = new PDO(...)`
* `try/catch` pour la gestion d'erreur
* Connexion persistante possible
* Exécution :
* `query()` pour SELECT
* `exec()` pour INSERT/UPDATE/DELETE
* `prepare()` + `execute()` pour sécuriser
* Récupération :
* `fetch()`, `fetchAll()`
* Modes : `FETCH_ASSOC`, `FETCH_OBJ`, `FETCH_NUM`, `FETCH_CLASS`
---
### **POO en PHP**
* Concepts :
* Classe, Objet, Attributs, Méthodes
* Encapsulation (public/private/protected)
* Héritage (`extends`)
* Polymorphisme (overriding)
* Méthodes spéciales : `__construct()`, `__destruct()`
* Utilisation de PDO en POO :
* Classe centralisée de gestion DB
* Méthodes pour CRUD (Create, Read, Update, Delete)
* Exemple : classe `Etudiant`, classe héritée `EleveIng`