COURS PROGRAMMATION WEB HTML – CSS – PHP
Transcription
COURS PROGRAMMATION WEB HTML – CSS – PHP
09/11/2011 COURS PROGRAMMATION WEB HTML – CSS – PHP - MYSQL Responsable : F. CHAKER-KHARRAT Niveau : 3ème ESSAI Année Universitaire : 2011/2012 OBJECTIFS DU COURS Objectifs généraux : Ce cours est destiné aux étudiants disposant de quelques notions de programmation procédurale et désireux de comprendre les spécificités de la programmation en environnement Web. Pré--requis Pré Notions de structure de données et d’algorithmique, de programmation, les bases de données relationnelles (BDR). Volume Horaire 2 1h30 de cours /7 semaines Prog. Web (2011/2012) F. CHAKER-KHARRAT OBJECTIFS DU COURS Objectifs spécifiques : Une bonne compréhension des technologies et des protocoles sous-jacents au World Wide Web. Les outils et techniques utilisés pour le développement d’application Web côté client vs. côté serveur. Compréhension de plusieurs langages programmation Web, à savoir: HTML, CSS, Javascript et PHP. de Programmation Web avec accès à des BDR (mysql). Les nouvelles tendances en matière de développement Web: outils, environnements. Prog. Web (2011/2012) 3 F. CHAKER-KHARRAT 1 09/11/2011 Prog. Web (2011/2012) NETOLOGIE & BIBLIOGRAPHIE Références sur le Web : W3C Schools HTML, HTML5, CSS, JavaScript et PhP tutorials : http://www.w3schools.com/default.asp Site du Web Standards Project : http://www.webstandards.org F. CHAKER-KHARRAT W3C World Wide Web : Consortium : http://www.w3c.org WAMP Server: http://www.wampserver.com PHP: http://www.php.net, ttp://ca2.php.net/manual/fr/index.php MySQL: http://www.mysql.com/ Comment ça marche : http://www.commentcamarche.net Wikipedia: http://fr.wikipedia.org/wiki/Programmation_web Prog. Web (2011/2012) 4 F. CHAKER-KHARRAT Prog. Web (2011/2012) NETOLOGIE & BIBLIOGRAPHIE Bibliographie : W3C Schools HTML, HTML5, CSS, JavaScript et PhP tutorials : http://www.w3schools.com/default.asp Site du Web Standards Project : http://www.webstandards.org F. CHAKER-KHARRAT W3C World Wide Web : Consortium : http://www.w3c.org WAMP Server: http://www.wampserver.com PHP: http://www.php.net, ttp://ca2.php.net/manual/fr/index.php MySQL: http://www.mysql.com/ Comment ça marche : http://www.commentcamarche.net Wikipedia: http://fr.wikipedia.org/wiki/Programmation_web 5 GÉNÉRALITÉS 2 09/11/2011 WEB ≠ INTERNET (1/3) Le Web est un système de fichiers présent sur des machines (serveurs) transitant par un protocole particulier (HyperText Transfer Protocol: HTTP), consultable grâce à des navigateurs web et fonctionnant SUR Internet ! Internet est un assemblage de multiples réseaux, tous connectés entre eux en utilisant le protocole Transmission Control Protocol / Internet Protocol (TCP/IP). Cet amas de câbles, de fibres optiques... de matériels, pour faire simple, constitue Internet, aussi appelé « le réseau des réseaux ». Internet est hardware; le Web est software Il y a plusieurs autres applications basées sur Internet: e.g., email, telnet, ftp, usenet, Instant Messenger, Napster, etc. 7 Prog. Web (2011/2012) F. CHAKER-KHARRAT WEB ≠ INTERNET (2/3) Tout ordinateur actuel possède une adresse sur un réseau : son adresse IP (Internet Protocol). Exp.: 74.125.19.147 Lorsque vous demandez une page web à votre navigateur, vos tapez une adresse URL (Uniform Resource Locator): Exp.: http://www.google.fr Vous demandez, de façon implicite, d'aller chercher ce qui se 8 trouve à l'adresse IP correspondante à cette URL! Prog. Web (2011/2012) F. CHAKER-KHARRAT WEB ≠ INTERNET (2/3) Si les ordinateurs ont des adresses pour se reconnaître sur les réseaux, comment se fait-il qu'en tapant un nom comme "google.com" les navigateurs sachent où chercher ? les (Domain Name Server DNS): des serveurs particuliers (de gigantesques annuaires téléphoniques pour les sites internet) qui font le lien entre l’URL tapée et son adresse IP. Par exemple, taper "http://www.google.fr" dans votre navigateur revient à saisir http://74.125.19.147 (adresse d'un serveur Google sur Internet). 9 Prog. Web (2011/2012) F. CHAKER-KHARRAT 3 09/11/2011 INTERNET : HISTORIQUE 1967 : Arpanet(Advanced Research Project Agency) : réseau militaire américain robuste aux pannes. Les années 70 70ss: ARPANET doublait de taille chaque année. 1984 : ~1000 d’ordinateurs militaires et académiques connectés. 1992 : ~1,000,000 d’ordinateurs connectés. Internet society a été crée et le contrôle lui a été transféré: Internet Engineering Task Force (IETF). Internet Architecture Board . Internet Assigned Number Authority . 10 World-Wide-Web Consortium (W3C). Prog. Web (2011/2012) F. CHAKER-KHARRAT INTERNET : NBRE D’UTILISATEURS 1,966 966,,514 514,,816 Internet users in 2010 (approx. 28 28..7 % of the world’s population) (http://www.internetworldstats.com/top20.htm) (28 Septembre, 2010) Japan Japan: 99 99,,143 143,,700 users (approx. 78 78..2% of the population) Tunisia Tunisia: 3,600 600,,000 users (approx. 34 % of the population 11 Prog. Web (2011/2012) F. CHAKER-KHARRAT INTERNET : BREF HISTORIQUE L’idée des liens hypertexte: a été proposée au début dans les années 40 par Vannevar Bush Bush. En 1989 : Tim Berners-Lee du European Particle Physics Laboratory (CERN) a conçu un système d’hypertexte pour connecter des documents sur le Net. Prog. Web (2011/2012) Il l a conçu un langage pour spécifier le contenu des documents. Devenu par la suite : HyperText Markup Language (HTML). Il a conçu un protocole pour télécharger et interpréter le contenu des documents devenu par la suite HTTP HTTP. Il a implémenté le premier navigateur Mozaïc : seulement du texte, PAS d’objet multimédia. 12 F. CHAKER-KHARRAT 4 09/11/2011 CLIENT/SERVEUR (1/2) Pour bien comprendre ce qu'est la programmation Web, il faut rappeler rapidement le principe de fonctionnement de l'architecture client/serveur dans le contexte du Web. Quand un visiteur veut aller sur un site Web. Il tape l'adresse URL, ok, mais ensuite ? La page temps que s'est s'est--il passé ? s'affiche, d'accord, mais entre- Lorsque l'internaute tape l'adresse d'un site dans son browser (client) (www.google.fr par exemple), celui-ci envoie une requête au serveur qui héberge ce site. Le serveur transmet alors la page demandée au browser qui l'affiche. Le client, c'est le navigateur Internet de l'internaute comme, Mozilla Firefox, Microsoft IE, Apple Safari, Google Chrome, Opera etc. Prog. Web (2011/2012) 13 F. CHAKER-KHARRAT CLIENT/SERVEUR (2/2) serveur web ou encore serveur http est un ensemble ordinateur/logiciel paramétré pour pouvoir traiter certains types de pages et notamment celles qui contiennent des instructions de programmation. Il reconnaît ces pages grâce à l'URL qu'il reçoit, effectue les traitements demandés et transmet le résultat au format html au browser de l'internaute. Le Un serveur HTTP est, comme tout serveur, à l'écoute des connections en provenance de l'extérieur sur un port donné. Le port standard pour un serveur HTTP est le numéro 80. A chaque requête qu'il reçoit le serveur présente à l'utilisateur la page demandée. Exemple de serveurs HTTP : Apache HTTP Server développé par Apache Software Foundation, Internet Information Services (IIS) développé par Microsoft. Prog. Web (2011/2012) 14 F. CHAKER-KHARRAT STATICS VS DYNAMICS PAGES L'explosion de l'Internet, vers 1995, a vu la multiplication des sites dits "cartes de visite" constitués par des pages web statiques « A static web page is a web page that always comprises the same information in response to all download requests from all users. » (www.answers.com) Le contenu (texte/liens/images/animation/vidéo) est toujours le même. Avantages Rapide et facile à mettre en place même pour les non connaisseurs. Un outil idéal pour donner un avant gout/maquette d’un site Web à construire. Inconvénients N'offrir qu'une et une seule présentation, sans aucune possibilité de personnalisation et avec une interactivité limitée au strict minimum La maintenance des site Web de taille est couteuse. 15 Difficile de les garder à jour et surtout cohérent. Prog. Web (2011/2012) F. CHAKER-KHARRAT 5 09/11/2011 STATICS VS DYNAMICS PAGES (SUITE) Orientations du Web : Services en ligne, E-business, les blog, les forums, etc. Offrir un contenu personnalisé / dynamique qui s’adapte aux besoins de chaque visiteur en fonction de ses actions, + d'interactivité. Une page web dynamique est construite à la demande (à la volée) par le serveur (côté serveur), en fonction de critères spécifiques. La présentation et le contenu affichés peuvent ainsi être personnalisés de manière interactive, en fonction des produits, des internautes, des langues, etc. 16 Prog. Web (2011/2012) F. CHAKER-KHARRAT STATICS VS DYNAMICS PAGES (SUITE) On reconnaît facilement une page dynamique grâce à l'URL qui s'affiche dans le navigateur web de l'utilisateur: Page statique statique:: http://www.monsite.fr/accueil.html Affiche la page accueil.htm, stockée telle quelle sur le serveur, Page dynamique dynamique:: http://www.monsite.fr/accueil.php?langue=fr Affiche la page accueil.php en demandant au serveur d'afficher le contenu de cette page en français. Prog. Web (2011/2012) 17 F. CHAKER-KHARRAT STATICS VS DYNAMICS PAGES (SUITE) Alors que les pages statiques font appel au html, langage de description de données, les pages dynamiques sont mises en oeuvre grâce à un langage de programmation. Grâce à lui, on pourra disposer d'instructions conditionnelles, de boucles et de fonctions de traitement complexes. Le langage de programmation variera en fonction de la technologie retenue (PHP, ASP, Java, etc.). Le langage de programmation ne remplace pas le html, mais il en produit. En effet, actuellement, les navigateurs ne reconnaissent que ce standard pour afficher des pages web. 18 Prog. Web (2011/2012) F. CHAKER-KHARRAT 6 09/11/2011 STATICS VS DYNAMICS PAGES (SUITE) Page Dynamique Page Statique (http://www.monsite.tn/accueil.php www.monsite.tn/accueil.php http://www.monsite.tn/accueil.html http:// www.monsite.tn/accueil.html (http:// Prog. Web (2011/2012) F. CHAKER-KHARRAT Le client : "S'il te plaît, envoie moi la page accueil.html". Le serveur lui répond en lui envoyant la page accueil.html : "Tiens, voici la page que tu m'as demandée". Le client: "S'il te plaît, envoie moi la page accueil.php". Le serveur n'envoie PAS de suite la page au client. Il la génère à partir du code php. En effet, le client n'est pas capable d'exécuter une page PHP (seul le serveur sait le faire). Une fois la page est générée, le serveur 19 l'envoie au client. F. CHAKER-KHARRAT 7