# Le programme | Langage | Semestre | Fonctionnalités pour le projet | |:-------------:|:--------:|:----------------------------------------------:| | HTML / CSS | 2 | Bootstrap | | PHP | 3 | Base de données, Formulaires, ... | | JavaScript | 4 | Utilisation de l'API, Affichage dynamique, ... | --- # Le programme | TP | Sujet | Séance | |:--:|:--------------------------|:--------:| | 1 | Introduction à PHP et POO | 1 | | 2 | Fonctions, Tableaux | 1 | | 3 | Modèle vue Contrôleur | 2 | | 4 | Formulaires | 2 | | 5 | Base de données | 4 | | 6 | Sessions | 1 | | 7 | Initiation à Symfony | 1 | --- # La notation | Type | Coef | |:------:|:-----:| | Examen | 1 | | QCM | 2 | --- ## Plan du cours - A- Protocole HTTP - B- Présentation de PHP - C- Programmation Orientée Objet --- # A- Protocole HTTP ## Introduction au protocole HTTP **HTTP** (HyperText Transfer Protocol) est le protocole de communication utilisé sur le Web. **Principe :** - Le **client** (navigateur) envoie une **requête** au **serveur** - Le **serveur** traite la requête et renvoie une **réponse** - Communication sans état (stateless) --- ## Communication entre navigateur et serveur **Étapes d'une communication HTTP :** 1. **Requête du client** : Le navigateur demande une ressource 2. **Traitement serveur** : Le serveur analyse la demande 3. **Génération de la réponse** : Le serveur prépare le contenu 4. **Envoi de la réponse** : Le serveur renvoie les données au client 5. **Affichage** : Le navigateur interprète et affiche le contenu --- ## Qu'est-ce qu'une URL ? **URL** = Uniform Resource Locator (Localisateur uniforme de ressource) **Composants d'une URL :** - **Protocole** : (HTTP, HTTPS, FTP, SSH ...) - **Nom du serveur** : le nom de domaine ou adresse IP - **Numéro de port** : un numéro associé à un service - **Chemin d'accès** : /dossier/fichier --- ## Structure d'une URL | Protocole | Nom du serveur | Port | Chemin | |-----------|----------------------------|------|-----------------------| | http:// | di-web.iut.univ-lehavre.fr | :80 | /pedago/index.xml | | https:// | salimkhraimeche.dev | | /php/ | | ftp:// | files.example.com | :21 | /documents/file.pdf | **Exemple complet :** `https://www.example.com:8080/dossier/page.php?param=valeur#section` --- ## Les Requêtes HTTP Une requête HTTP commence par une **méthode** qui indique l'action que le navigateur veut effectuer : - **GET** : pour récupérer des données depuis le serveur - **POST** : pour envoyer des données au serveur - **PUT** : pour mettre à jour une ressource existante - **DELETE** : pour supprimer une ressource sur le serveur --- ## Codes de réponse HTTP | Code | Signification | Exemple | |------|---------------------|----------------------------| | 2xx | Succès | 200 OK | | 3xx | Redirection | 301 Moved Permanently | | 4xx | Erreur client | 404 Not Found | | 5xx | Erreur serveur | 500 Internal Server Error | **Les plus courants :** - **200** : Succès - **404** : Page non trouvée - **500** : Erreur serveur --- # B- Présentation de PHP ## PHP Hypertext Preprocessor **PHP** est un langage de scripts, spécialement conçu pour le développement d'applications web. **Caractéristiques :** - Langage interprété côté serveur - Syntaxe inspirée de C, Java et Perl - Intégration native avec HTML --- ## Syntaxe de base ```php ``` **Points importants :** - Commence toujours par ` --- ## Les variables en PHP ```php[] ``` --- ## Affichage de Texte ```php[2-3|5-6|8-9|11-12|14-15|18-19] ``` --- ## Affichage de Texte ```php[2|9-17] $name = "Charlie" ?>
Hello $name!
"; ?> ``` --- ## Les structures de contrôle ### If ```php[1-7|9-14|16-23] = 18) { echo "Vous êtes majeur"; } // Structure if-else if ($age >= 18) { echo "Vous êtes majeur"; } else { echo "Vous êtes mineur"; } // Structure if-elseif-else if ($age < 13) { echo "Enfant"; } elseif ($age < 18) { echo "Adolescent"; } else { echo "Adulte"; } ?> ``` --- ## Les structures de contrôle ### Switch ```php[2|4-9|10-15] ``` --- ## Les structures de contrôle ### Match ```php[] 'Je suis de bonne humeur', 'triste' => 'bof!!', default => $humeur, }; ?> ``` --- ## Les structures de contrôle ### Boucles ```php[2-5|7-12] Nombre : $i"; } // Boucle WHILE $compteur = 0; while ($compteur < 3) { echo "