PHP: script côté serveur HTML et programmation * HTML n'est pas un langage de programmation * Langage de structuration de l'information * Tendance actuelle: séparer l'information de son apparence * HTML contient l'information seulement * Feuille de style (CSS) contient la présentation de l'information * Avantages de HTML * Développement facilité * Intégration multimédia * Texte, images, liens, vidéo... * Inconvénients de HTML * Présentation statique de l'information * Pas d'interaction avec l'utilisateur Scripts et pages dynamiques * Les scripts côté client (comme JavaScript) rendent les pages dynamiques * Modification dynamique de la présentation du contenu * Réponse aux actions de l'utilisateur * Vérification des formulaires * ... * Ils répondent au besoin d'interactivité * Mais pas au besoin de dynamisme du contenu * D'où la nécessité de scripts côté serveur (comme PHP) * Permettent la modification dynamique du contenu * Interagissent avec des bases de données Client-serveur: HTML simple (1/2) Client-serveur: HTML simple (2/2) * Sur le serveur: code HTML <html> <body> <p>Bienvenue !</p> </body> </html> * Le client reçoit: code HTML identique <html> <body> <p>Bienvenue !</p> </body> </html> Client-serveur: code JavaScript (1/2) Client-serveur: code JavaScript (2/2) * Sur le serveur: code HTML + JavaScript <html> <body> <script type="text/javascript"> document.write("<p>Bienvenue !</p>"); </script> </body> </html> * Le client reçoit: code HTML + JavaScript identique <html> <body> <script type="text/javascript"> document.write("<p>Bienvenue !</p>"); </script> </body> </html> * Le navigateur affiche: code HTML <html> <body> <p>Bienvenue !</p> </body> </html> Client-serveur: code PHP (1/2) Client-serveur: code PHP (2/2) * Sur le serveur: code PHP <html> <body> <?php echo "<p>Bienvenue !</p>"; ?> </body> </html> * Le client reçoit: code HTML <html> <body> <p>Bienvenue !</p> </body> </html> Client-serveur: base de données (1/2) Client-serveur: base de données (2/2) * Sur le serveur: code PHP <html> <body> <?php ... @mysqli_query($cnx,"SELECT * FROM cours"); ... // Requête while ... { ... echo "<p>$cours</p>"; ... // Affichage liste } ?> </body> </html> * Le client reçoit: code HTML <html> <body> ... <p>Systèmes d'information</p> <p>Programmation objet et événementielle</p> ... </body> </html> JavaScript et PHP sont complémentaires * JavaScript * Exécuté côté client * Code lisible par l'utilisateur * Permet de modifier la structure de la page * Interactivité forte avec l'utilisateur * Peut fonctionner "hors ligne" * PHP * Exécuté côté serveur * Code non lisible par l'utilisateur * Ne permet pas de modifier la structure de la page * Interactivité plus difficile avec l'utilisateur * Rechargement (contact avec le serveur) nécessaire * Accès à une base de données * Enregistrement et restitution de données * Ne peut pas fonctionner "hors ligne" PHP et serveur * PHP permet d'accéder à des bases de données * Différents types de bases sont possibles * Par exemple: MySQL, PostgreSQL * PHP nécessite un serveur pour fonctionner * Par exemple: serveur LAMP, WAMP ou MAMP * Linux, Windows ou Mac OS: système d'exploitation * Apache: serveur HTTP * MySQL: gestionnaire bases de données * PHP: interpréteur script * Solution simple sous Windows: EasyPHP |