Détail du stage. Programmation PHP. Introduction à la programmation des sites web dynamiques. Contenu du stage. Plan du cours.



Documents pareils
Détail du stage. Programmation PHP. Contenu du stage. Plan du cours. Introduction à la programmation des sites web dynamiques.

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

L3 informatique TP n o 2 : Les applications réseau

Serveurs de noms Protocoles HTTP et FTP

Activité sur Meteor. Annexe 1 : notion de client-serveur et notion de base de données

HTTP HTTP. IUT1 dpt SRC L Isle d Abeau Jean-françois Berdjugin. Introduction et architecture Messages Authentification Conclusion

Application Web et J2EE

Gilles.Roussel univ-mlv.fr HTTP/1.1 RFC 2068

RFC 7230 : Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6

Module BD et sites WEB

Les sites Internet dynamiques. contact : Patrick VINCENT pvincent@erasme.org

Hébergement de site web Damien Nouvel

Programmation Internet Cours 4

1 Introduction Propos du document Introduction De HTTP 1.0 à HTTP

Dans l'épisode précédent

INFORMATIQUE & WEB. PARCOURS CERTIFICAT PROFESSIONNEL Programmation de sites Web. 1 an 7 MODULES. Code du diplôme : CP09

(structure des entêtes)

Réseaux. 1 Généralités. E. Jeandel

Stockage du fichier dans une table mysql:

Architectures web/bases de données

HTTP. Technologies du Web. Programmation Web côté serveur. Mastère spécialisé Management et nouvelles technologies, 16 novembre 2009

Autour du web. Une introduction technique Première partie : HTML. Georges-André SILBER Centre de recherche en informatique MINES ParisTech

Programmation Web. Madalina Croitoru IUT Montpellier

Protocoles Applicatifs

Les outils de création de sites web

Failles XSS : Principes, Catégories Démonstrations, Contre mesures

Glossaire. ( themanualpage.org) soumises à la licence GNU FDL.

webmestre : conception de sites et administration de serveurs web 42 crédits Certificat professionnel CP09

Couche application. La couche application est la plus élevée du modèle de référence.

18 TCP Les protocoles de domaines d applications

CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN ING

Les services usuels de l Internet

Petite définition : Présentation :

Réseaux et protocoles Damien Nouvel

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

NFA016 : Introduction. Pour naviguer sur le Web, il faut : Naviguer: dialoguer avec un serveur web

PHP 4 PARTIE : BASE DE DONNEES

Formation Webmaster : Création de site Web Initiation + Approfondissement

WebSSO, synchronisation et contrôle des accès via LDAP

Mr. B. Benaissa. Centre universitaire Nâama LOGO

Services sur réseaux. Trois services à la loupe. Dominique PRESENT Dépt S.R.C. - I.U.T. de Marne la Vallée

KAJOUT WASSIM INTERNET INFORMATION SERVICES (IIS) 01/03/2013. Compte-rendu sur ISS KAJOUT Wassim

Introduction. PHP = Personal Home Pages ou PHP Hypertext Preprocessor. Langage de script interprété (non compilé)

Chapitre 2 Accès aux partages depuis votre système d'exploitation

PHP et mysql. Code: php_mysql. Olivier Clavel - Daniel K. Schneider - Patrick Jermann - Vivian Synteta Version: 0.9 (modifié le 13/3/01 par VS)

Module http MMS AllMySMS.com Manuel d intégration

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères

HTTP 1.1. HyperText Transfer Protocol TCP IP ...

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s

Dans nos locaux au 98 Route de Sauve NÎMES. Un ordinateur PC par stagiaire, scanner, imprimante/copieur laser couleur

Types MIME (2) Typage des ressources Internet. Les URI. Syntaxe dans les URI. Possibilité de spécifier un paramètre du sous-type

TP JAVASCRIPT OMI4 TP5 SRC

TIC. Réseau informatique. Historique - 1. Historique - 2. TC - IUT Montpellier Internet et le Web

SERVEUR DE MESSAGERIE

STID 2ème année : TP Web/PHP

Introduction à HTTP. Chapitre HTTP 0.9

Internet. DNS World Wide Web. Divers. Mécanismes de base Exécution d'applications sur le web. Proxy, fire-wall

1 Résolution de nom Introduction à la résolution de noms Le système DNS Les types de requêtes DNS...

Manuel d'installation de Joomla 1.7

WebDAV en 2 minutes. Tous ces objectifs sont complémentaires et ils sont atteints grâce au seul protocole WebDAV. Scénarii

Présentation Internet

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

Présentation du modèle OSI(Open Systems Interconnection)

1 LE L S S ERV R EURS Si 5

MANUEL WORDPRESS. Objectif: Refonte d un site web sous Wordpress I PRE-REQUIS: 1 / Créer un backup (sauvegarde) du site:

L envoi d un formulaire par courriel. Configuration requise Mail Texte Mail HTML Check-list

Chapitre : Les Protocoles

1. La plate-forme LAMP

FileMaker 13. Guide ODBC et JDBC

FORMATION / CREATION DE SITE WEB / 4 JOURNEES Sessions Octobre 2006

PHP 5.4 Développez un site web dynamique et interactif

Langage HTML (2 partie) <HyperText Markup Language> <tv>lt La Salle Avignon BTS IRIS</tv>

FileMaker Server 11. Publication Web personnalisée avec XML et XSLT

CREATION WEB DYNAMIQUE

Sommaire. -1-Computer en bref. Web en bref. Le web 3.0,...la mobilité. Evolution du Web web1.0, web2.0, web2.b, web3.0...

COMPRENDRE L ARCHITECTURE DES WEB SERVICES REST. Amosse EDOUARD, Doctorant

Services Réseaux - Couche Application. TODARO Cédric

Développement des Systèmes d Information

Introduction. Adresses

Protection des protocoles

2 Formation utilisateur

Préparation au C2I. Année 2011

Hébergement WeboCube. Un système performant et sécurisé. Hébergement géré par une équipe de techniciens

C r é a t i o n D e S i t e s. P o l C R O V A T T O

Caruso33 : une association à votre service

Devenez un véritable développeur web en 3 mois!

Configurer le Serveur avec une adresse IP Statique (INTERFACE :FastEthernet) : et un masque

Internet. Web Sécurité Optimisation

Introduction aux Technologies de l Internet

Programmation Web. Introduction

FileMaker Server 12. publication Web personnalisée avec XML

TP réseau Android. Bidouilles Tomcat. a) Installer tomcat : il suffit de dézipper l'archive apache-tomcat windowsx64.zip.

Mysql. Les requêtes préparées Prepared statements

E.N.T. Espace Numérique de Travail

Le protocole HTTP. 10 minutes pour comprendre. HTTP/0.9 - Lacunes et limitations HTTP/1.0 HTTP/1.1

Plan. Le système de transfert de fichiers d'internet. Introduction aux systèmes de transfert de fichiers Le protocole FTP.

Transcription:

Programmation PHP Détail du stage Public : Introduction à la programmation des sites web dynamiques Tout agent devant créer ou maintenir un site internet ou intranet dynamique Objectifs pédagogiques : Maîtriser la programmation en langage PHP pour le développement de sites Web dynamiques Pré-requis : Connaître les bases du langage HTML (c) Pierrick Doré - www.dsi-atlantic.com Contenu du stage Approfondissement du langage HTML Découverte de l'architecture dynamique des sites Les bases du langage PHP L'initiation aux bases de données MySql Création d'un site Internet/Intranet dynamique Sécurisation de ces sites Plan du cours Introduction Présentation de l'architecture WAMP / LAMP Rappels HTML Introduction au langage PHP Utilisation de MySQL Exercices d'application

Introduction Quelques définitions Le modèle client Serveur Fonctionnement d'un serveur web Les protocoles Introduction Jadis, les entreprises «dans le coup» s'affichaient sur l'internet à l'aide d'un site web simple qui était le plus souvent la retranscription en ligne de leur plaquette papier... Introduction Désormais, les Internautes souhaitent pouvoir consulter des catalogues de produits en ligne, effectuer des commandes, vérifier le solde de leurs comptes en banque ou encore payer leurs impôts directement... en limitant au maximum les intermédiaires. Le temps des sites web statiques développés avec des pages HTML est définitivement révolu... Intro. : Quelques définitions Internet : (INTERconnected NETworks) Réseau informatique mondial constitué d'un ensemble de réseaux plus petits (nationaux, régionaux) interconnectés entre eux par le protocole de communication TCP/IP Intranet : Réseau informatique privé ou interne à une entreprise (LAN & MAN) qui utilise les protocoles de communication et les technologies du réseau Internet. Extranet : Ouverture partielle d'un Intranet vers l'extérieur, via le protocole Internet, pour des personnes autorisées et sélectionnées (par ex. : clients ou fournisseurs)

Intro. : Quelques définitions Intro. : Principes du client / serveur Navigateur web : Programme informatique client capable d'interpréter du code HTML et d'en afficher une représentation à l'écran. 1. requête Protocole Client(s) 2. réponse serveur Intro. : Fonctionnement d'un serveur Web Intro. : Les protocoles 3 : to 163.173.128.121:80 GET /index.php?c=1 HTTP/1.1 Host: www.cnfpt.fr User-Agent: Mozilla/5.0... Accept: text/html... Accept-Language: fr,en Accept-Encoding: gzip,deflate Accept-Charset: ISO-8859-1, utf-8;q=0.7,*;q=0.7 Keep-Alive: 300 Connection: keep-alive Referer: http://www.google.fr 211.180.12.8 1 : who is www.cnfpt.fr? 2 : www.cnfpt.fr is 62.4.78.153 DNS 62.4.78.153 HTTP 4 : to 211.180.12.8 HTTP/1.1 200 OK Date: Wed, 10 May 2006 09:12:04 Server: Apache/1.3.33 (Unix) X-Powered-By: PHP/4.3.10 Pragma: no-cache Content-Type : text/html Content-Encoding: gzip Content-Length: 5357 <html> Protocole réseau : Description formelle des messages et des règles que deux ordinateurs doivent respecter pour échanger des messages. De bas niveau (entre les interfaces réseau) : Ex : TCP, UDP,... voir le fichier protocol de windows De haut niveau (entre les programmes) : Ex : HTTP, FTP, SMTP,... voir le fichier services de windows

Intro. : Les protocoles de bas niveau Définissent les règles de communication entre les interfaces réseau Orienté connexion : La machine émettrice : Établit une connexion avec la machine réceptrice Envoie un flot de données La machine réceptrice : Reçoit et contrôle la validité des données Informe l'émetteur par un avis de réception Le cas échéant, elle demande de renvoyer le flot de données erronées TCP (Transmission Control Protocol) est un protocole orienté connexion Intro. : Les protocoles de bas niveau Non orientés connexion Protocole adapté à la diffusion audio/video La machine émettrice envoie des données (blocs ou datagrammes) sans prévenir la machine réceptrice La machine réceptrice reçoit les données sans envoyer d'avis de réception à la première. UDP (User Datagram Protocl) est un protocole non orienté connexion Intro. : Les protocoles de haut niveau Définissent les règles de communication entre des programmes dans un environnement client/serveur Protocoles les plus connus : HTTP (HyperText Transfer Protocol) pour les pages web FTP (File Transfer Protocol) pour l'échange de fichiers SMTP (Simple Mail Transfer Protocol) pour envoyer des emails à un correspondant POP (Post Office Protocol) pour récupérer ses emails (...) Intro. : Le protocole HTTP HTTP (HyperText Transfer Protocol) Protocole de communication permettant de transférer un fichier (HTML, image, feuille de style, etc...) localisé par son URI entre un serveur HTTP et un navigateur Web. Son n de port serveur est 80 Défini par les RFC 1945 (HTTP 1.0) et RFC 2610 (HTTP 1.1)

Intro. : Le protocole HTTP Le protocole HTTP utilise la notion d'uri (Uniform Resource Identifier) pour indiquer l'objet auquel s'applique les requêtes du protocole (RFC 1738 et 1808) Les types MIME (Multipurpose Internet Mail Extensions) pour typer les données échangées (RFC 1521) Intro. : Exemple de requête HTTP GET / HTTP/1.1 Host: www.cnfpt.fr User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.0.3) Gecko/20060426 Firefox/1.5.0.3 Accept: text/xml, application/xml, application/xhtml+xml, text/html;q=0.9, text/plain;q=0.8, image/png, */*;q=0.5 Accept-Language: fr, fr-fr;q=0.8, en;q=0.5, en-us;q=0.3 Accept-Encoding: gzip, deflate Accept-Charset: ISO-8859-1, utf-8;q=0.7,*;q=0.7 Keep-Alive: 300 Connection: keep-alive Referer: http://www.google.fr/search?q=cnfpt&start=0&ie=utf-8&oe=utf- 8&client=firefox-a&rls=org.mozilla:fr:official Intro. : La réponse du serveur HTTP HTTP/1.1 302 Found Date: Wed, 10 May 2006 14:09:27 GMT Server: Apache/1.3.33 (Unix) PHP/4.4.1 mod_ssl/2.8.22 OpenSSL/0.9.7i X-Powered-By: PHP/4.4.1 Location: fr/accueil.php? Keep-Alive: timeout=2, max=100 Connection: Keep-Alive Transfer-Encoding: chunked Content-Type: text/html Intro. : Nouvelle requête corrigée GET /fr/accueil.php? HTTP/1.1 Host: www.cnfpt.fr User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.0.3) Gecko/20060426 Firefox/1.5.0.3 Accept: text/xml, application/xml, application/xhtml+xml, text/html;q=0.9, text/plain;q=0.8, image/png, */*;q=0.5 Accept-Language: fr, fr-fr;q=0.8, en;q=0.5, en-us;q=0.3 Accept-Encoding: gzip, deflate Accept-Charset: ISO-8859-1, utf-8;q=0.7,*;q=0.7 Keep-Alive: 300 Connection: keep-alive Referer: http://www.google.fr/search?q=cnfpt&start=0&ie=utf-8&oe=utf- 8&client=firefox-a&rls=org.mozilla:fr:official

Intro. : La réponse du serveur HTTP HTTP/1.1 200 OK Date: Wed, 10 May 2006 14:09:29 GMT Intro. : Du coté du navigateur... Server: Apache/1.3.33 (Unix) PHP/4.4.1 mod_ssl/2.8.22 OpenSSL/0.9.7i X-Powered-By: PHP/4.4.1 X-Cache: jpcache vv2 - file ETag: "jpd-369675562.6890" Content-Encoding: gzip Keep-Alive: timeout=2, max=99 Connection: Keep-Alive Transfer-Encoding: chunked Content-Type: text/html a40 xúµyýr½>n BlgH;1½6$eaz0 5u 0mo<ò ì(ìj uâw=êô çß% 7ÓCÜ«èóJ»ëuâ@`ZÃ`ïJzŸ O (...) Intro. : Les commandes de requête HTTP Commande GET HEAD POST PUT DELETE Description Requête de la ressource située à l'url spécifiée Requête de l'en-tête de la ressource située à l'url spécifiée Envoi de données au programme situé à l'url spécifiée Envoi de données à l'url spécifiée Suppression de la ressource située à l'url spécifiée Nom de l'en-tête Accept Accept-Charset Accept-Encoding Accept-Language Authorization Content-Encoding Content-Language Content-Length Content-Type Date Forwarded From From Link Orig-URL Referer User-Agent Intro. : Les entêtes de requête HTTP Description Type de contenu accepté par le browser (par exemple text/html). Voir types MIME Jeu de caractères attendu par le browser Codage de données accepté par le browser Langage attendu par le browser (anglais par défaut) Identification du browser auprès du serveur Type de codage du corps de la requête Type de langage du corps de la requête Longueur du corps de la requête Type de contenu du corps de la requête (par exemple text/html). Voir types MIME Date de début de transfert des données Utilisé par les machines intermédiaires entre le browser et le serveur Permet de spécifier l'adresse e-mail du client Permet de spécifier que le document doit être envoyé s'il a été modifié depuis une certaine date Relation entre deux URL URL d'origine de la requête URL du lien à partir duquel la requête a été effectuée Chaîne donnant des informations sur le client, comme le nom et la version du navigateur, du système d'exploitation

Nom de l'en-tête Intro. : Les entêtes de réponse HTTP Content-Encoding Content-Language Content-Length Content-Type Date Description Type de codage du corps de la réponse Type de langage du corps de la réponse Longueur du corps de la réponse Type de contenu du corps de la réponse (par exemple text/html). Voir types MIME Date de début de transfert des données Intro. : Les URLs URI (Uniform Resource Identifier) URL (Uniform Resource Locator) Format de nommage universel pour désigner une ressource sur Internet. Expires Forwarded Location Server Date limite de consommation des données Utilisé par les machines intermédiaires entre le browser et le serveur Redirection vers une nouvelle URL associée au document Caractéristiques du serveur ayant envoyé la réponse Exemple : ftp://user:password@ftp.test.net:21/pub/linux/ls.tgz Intro. : Les URLs Intro. : Les URLs Se décomposent en cinq parties : 1. Le nom du protocole : langage utilisé pour communiquer avec le destinataire (ex. : http://) 2. Identifiant et mot de passe : permet de spécifier les paramètres d'accès à un serveur sécurisé. déconseillé car le mot de passe est visible dans l'url (signets!) (ex. : login:pass@ ) 3. Le nom du serveur :nom de domaine ou adresse ip de l'ordinateur hébergeant la ressource demandée. (Ex. : www.cnam.fr) 4. Le numéro de port : numéro du service demandé sur le serveur (par defaut : 80 = http) 5. Le chemin d'accès à la ressource : emplacement (répertoire) et le nom du fichier demandé ( /index.htm) Exemple : ftp://user:password@ftp.test.net:21/pub/linux/ls.tgz

Intro. : Les types MIME MIME : (Multipurpose Internet Mail Extension) Standard proposé par les laboratoires Bell Communications en 1991 pour permettre d'insérer des objets multimédia (images, sons, texte,...) dans un courrier électronique. Egalement utilisé sur le Web, pour typer les documents transférés par le protocole HTTP afin d'indiquer au navigateur comment interpréter les données. Défini par la RFC 1341 et RFC 1343 Liste Exemple : 'Content-type: image/gif' -> images gif Intro. : Les serveur DNS DNS : (Domain Name System) Tout ordinateur directement connecté à l Internet est identifié par une adresse IP unique. Il est plus facile de retenir et de manipuler le nom d un serveur sous sa forme FQDN (www.cnam.fr) plutôt que son adresse ip (163.173.128.121) À l origine, la correspondance FQDN adresse ip était enregistrée dans un fichier (host) qu il fallait télécharger régulièrement Ce fichier devenant beaucoup trop volumineux, il a cédé sa place à un système plus astucieux : le DNS Intro. : Les serveur DNS Intro. : Fonctionnement du DNS Le serveur DNS est un serveur de base de données distribué qui effectue la corrélation entre les adresses IP et le(s) nom(s) de domaine(s) associé(s) et vice versa. 8: cnfpt.fr is 62.4.78.153 DNS 1 : who is cnfpt.fr? 2 : Req. cnfpt.fr? 3 : No. Req NS for.fr 4 : Req.fr cnfpt.fr? 5 : No. Req NS for.cnfpt.fr 6 : Req.cnfpt.fr cnfpt.fr?.com 7 : YES: 62.4.78.153..fr.org.dsi.cnfpt.linux

Présentation LAMP : l'architecture Fonctionnement général LAMP : Fonctionnement 1. 1. Le client demande une page.php au serveur web (via son url) 2. La page source est interprétée par l interpréteur php 3. l interpréteur php exécute les requêtes sql contenues dans la page php 4. l interpréteur php retourne au serveur web la page html fusionnée 5. le serveur web transmet cette page au client Elements constitutifs Navigateur client 5. 2. HTML + code PHP + SQL Page HTML 3. SGBDR Plate forme : Linux / Windows Serveur web : Apache 4. Interpréteur : PHP Mysql LAMP : Elements constitutifs Elements constitutifs Linux / Windows : La plate forme d'execution Apache : Le serveur web Mysql : le serveur de base de donnée PHP : le langage de programmation LAMP : La plate forme d'execution Machine serveur support de l'architecture Fonctionne généralement sous Linux ou Windows d'autres machines peuvent recevoir ce type d'architecture (ex. : Mac Os ou Unix)

LAMP : Le serveur Web "frontal" Serveur qui support le protocole HTTP Généralement : Apache C'est lui qui répond directement aux requêtes du client (navigateur web) LAMP : Le serveur de base de données Mysql : le plus populaire Il stocke toutes les données de l'application Ce serveur propose un langage de définition et d'interrogation des donnée : SQL Ex : Select * From User Where login='toto'; retourne toutes les informations de la table user pour l'utilisateur 'toto' LAMP : Le Langage PHP C'est le langage de script qui sert la logique applicative Il est généralement intégré au serveur web sous la forme d'un module L'interpréteur php peut etre configuré dans le fichier php.ini LAMP : L'architecture web Tous les composants peuvent etre situés : Sur une même machine (ex. : EasyPHP) Sur 2 machines (Apache+PHP sur une machine et MySQL su une autre) Sur de nombreuses machines (architecture n-tiers) pour assurer la haute disponibilité (répartition de charge et/ou failover)

EasyPHP : Présentation EasyPHP installe et configure automatiquement un environnement de travail complet sous Windows permettant de mettre en oeuvre toute la puissance et la souplesse qu'offrent le langage dynamique PHP et son support efficace des bases de données. EasyPHP : Composition EasyPHP regroupe : Le serveur web Apache Une base de données Mysql Le langage PHP L'outil PhpMyadmin Des outils de gestion des serveurs Dans un seul et même programme... -> le tout déjà configuré! Permet de disposer de sa propre architecture WAMP perso : Simplement et gratuitement! EasyPHP : Installation HTML : Les pages "Web" Présentation Application / limitation de HTML Document (x)html minimum bien formé Les balises les plus courantes

HTML : Présentation HTML : (HyperText Markup Language ) Langage de mise en forme des documents hypertexte (pages Web). standard initié par le W3C, issu de SGML compatible avec tous les systèmes codé en ASCII sur 7 bits transporté par le protocole http affichable par un navigateur Web (browser) inclue des balises de formatage textuel <font> HTML : Application / limitation Applications : Affichage de pages multimédia liées entre elles sur Internet Limitations : Relativement statique Apparence n'est pas garantie Langage de programmation intégré (javascript, vbscript) ne permet pas l'interrogation des bases de données distantes HTML : Structure du document Une page HTML est toujours composé Des balises d'ouverture et de fermeture : <html>...</html> D'un entete (<head>...</head>) qui contient des renseignements qui ne seront pas affichées dans le document par le navigateur web comme : le titre (en haut de la fenetre) les balises metas (name et/ou http-equiv) HTML : Document bien formé Le Doctype : Indique quelle norme est respectée par le code contenu dans la page HTML et donne un lien vers sa DTD. C'est un critère de qualité du code html Autorise l'analyse du code par un parser XML (xhtml) les liens vers d'autres fichiers (javascript, css,...) Du corp (<body></body>) qui comprend le texte, les images et autres informations du document

(X)HTML : Document bien formé (X)HTML : Document bien formé Depuis le 26 janvier 2000, le XHTML est la nouvelle norme du W3C en matière de langage balisé pour concevoir des documents Web. Exemple : <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/tr/xhtml11/dtd/xhtml11.dtd"> HTML : Les balises HTML : les balises de style Les balises de style Les titres Les paragraphes Les listes Les tableaux Les liens hypertextes Les images Les formulaires Les méta tags

HTML : Les titres HTML : Les paragraphes HTML : Les listes HTML : Les tableaux

HTML : Les liens hypertextes HTML : Les images HTML : Les formulaires (1) HTML : Les formulaires (1)

HTML : Les formulaires (2) HTML : Les formulaires (2) HTML : Les méta tags Balises spéciales situées dans l'en-tête du document (<head></head) Non affichées par les navigateurs HTML : Les méta tags 2 types : Les Metas NAME : pour décrire le contenu d'une page html Les Metas HTTP-EQUIV : pour envoyer des informations au navigateur via le protocole HTTP Syntaxe : <meta name="nom" content="attribut"> <meta http-equiv="nom" content="attribut">

PHP : Le langage Introduction Premiers pas avec PHP Les bases du langage Quelques exemples de code PHP : Introduction Les origines : Mis au point en 1994 par Rasmus Lerdorf A l'origine, ce langage lui permettait de conserver dans une base de donnée la trace des visiteurs qui consultaient leur cv sur son site web. Il mit en ligne la première version qu'il baptisa Personal Sommaire Page Tools puis Personal Home Page v1.0 en 1995 pour devenir enfin : Hypertext Preprocessor PHP/FI v2 durant l'été 1995 PHP3 le 6 juin 1998, PHP4 fin 1999, puis PHP5 PHP : Introduction Pourquoi programmer en PHP? PHP est gratuit Contrairement à d'autres technologies propriétaires (comme ASP ou ColdFusion) vous ne devez verser aucun droit pour développer vos propres applications web. PHP est simple à programmer C'est un langage interprété qui s'insère simplement dans le code html d'une page web PHP : Introduction Pourquoi programmer en PHP? PHP est très populaire Une grande communauté de développeurs partagent leurs codes et leurs expériences sur l'internet Il est supporté par la majorité des hébergeur sur Internet PHP est portable Votre application web PHP fonctionnera indifférement sur un serveur UNIX, Macintosh ou Windows

PHP : Introduction PHP : C'est quoi? Un script PHP est un simple fichier texte contenant des instructions incluses dans un code HTML à l'aide de balises spéciales et stockées sur le serveur. Ce fichier doit avoir l'extension «.php» pour pouvoir être interprété par le serveur. Le code PHP stocké sur le serveur n'est donc jamais visible directement par le client puisque dès qu'il en demande l'accès, le serveur l'interprète! De cette façon aucune modification n'est à apporter sur les navigateurs. Source : http://www.nexen.net PHP : Pour quoi faire? Typiquement, le langage PHP est utilisé pour : Analyser les données soumises par un formulaire HTML Communiquer avec des SGBDR Effectuer des calculs «à la volée» Ce langage couplé à un SGBRD permet aux développeurs de réaliser des sites web dynamiques. Connexion à des bases de données, envoi de mail, production d'image, génération de documents... PHP : Comment ça marche? Lorsque le navigateur du client demande au serveur une page dynamique réalisé en PHP : le serveur reconnait l'extension (.php) d'un fichier PHP et le transmet à l'interpréteur PHP Dès que l'interpréteur rencontre une balise php (<?php), il exécute le contenu jusqu'à la fin (?>) L'interpréteur exécute l'instruction puis envoie les sorties éventuelles au serveur A la fin du script, le serveur web (apache) transmet le résultat (html) au navigateur du client.

PHP : premiers pas... PHP : Questions 1? 1.Que contient une page PHP? a) Uniquement du PHP b) Du code php et du HTML c) Uniquement du HTML 2.Que contient une page PHP générée par le serveur? a) Uniquement du php b) Du code PHP et du HTML c) Uniquement du HTML 3.Qui exécute le code PHP? a) Le client (le navigateur) b) Le serveur c) Les deux PHP : Question 2? 1. Quelle est le balise dans laquelle on tape du code PHP? a) <* *> b) <% %> c) <?php?> 2. Quelle instruction permet d'afficher du texte? a) Echo b) Affiche c) Write 3. Quel symbole termine chaque instruction en PHP? a) Le point b) Le point-virgule c) Le slash Les bases du langage http://fr.php.net/manual/fr/langref.php La syntaxe de base Les types Les variables Les constantes Les expressions Les opérateurs Les structures de contrôle Les fonctions

PHP : les bases du langage Les variables Pas de déclaration préalable Son type est automatiquement défini par sa valeur Utilisable jusqu'à la fin du script (page.php) Commencent par le préfixe $ Le caractère d'affectation est = Exemple : $a = 12; PHP : Les bases du langage Les variables Exemples : $MaVariableEntier = 12; $MaVariableDecimal = 3.1415927; $MaVariableChaine = "Bonjour"; $Result += 5; // equiv à $Result = $Result + 5; $Texte = $MaVariableChaine; $Texte.= "Pierrick" // $Texte contient "Bonjour Pierrick" PHP : Les bases du langage Portée des variables 3 niveaux de visibilité pour une variable : Le niveau GLOBAL : La variable est visible dans la totalité du code d'une page PHP Le niveau LOCAL : La variable n'est visible qu'à l'intérieur d'une fonction et disparaît après son exécution. Le niveau STATIC : La variable n'est visible qu'à l'intérieur d'une fonction et persiste jusqu'à la fin d'une page de code PHP PHP : Les bases du langage Les constantes Pour définir une constante, il suffit d'utiliser l'instruction define Exemple : <?php?> define ("MACONSTANTE", "Bonjour"); if (defined("maconstante")) { Echo "La valeur de ma constante est :".MACONSTANTE; }

PHP : les bases du langage Les tableaux Comme dans tous les langages, les tableaux sont une structure de données incontournables. La déclaration d'un tableau se fait comme une variable (préfixé par $) L'indice du tableau se trouve entre [ et ] PHP : Les bases du langage Les tableaux Exemples : $MonTableau[0] = 1; $MonTableau[] = 23; // = $MonTableau[1] = 23; $MonTableau[] = 18; // = $MonTableau[2] = 18; $MonTableau[0][0] = 1; // Tableau à 2 dimensions PHP : Les bases du langage Les opérateurs arithmétiques : PHP : Les bases du langage Les opérateurs de comparaisons $a + $b : Addition Somme de $a et $b. $a - $b : Soustraction Différence de $a et $b. $a * $b : Multiplication Produit de $a et $b. $a / $b : Division Quotient de $a et $b. $a % $b : Modulo Reste de $a divisé par $b $a == $b : Egal Vrai si $a est égal à $b. $a!= $b : Différent Vrai si $a est différent de $b. $a <> $b : Différent Vrai si $a est différent de $b. $a < $b : Plus petit Vrai si $a est strictement < à $b. $a > $b : Plus grand Vrai si $a est strictement > à $b. $a <= $b : Inf. ou = Vrai si $a est plus petit ou égal à $b. $a >= $b : Sup. ou =l Vrai si $a est plus grand ou égal à $b

PHP : Les bases du langage Les opérateurs logiques PHP : les bases du langage Les opérateurs d'incrémentation $a and $b : ET (And) Vrai si $a ET $b sont vrais. $a or $b : OU (Or) Vrai si $a OU $b est vrai $a xor $b : XOR (Xor) Vrai si $a OU $b est vrai, mais pas les 2.! $a : NON (Not) Vrai si $a est faux. $a && $b : ET (And) Vrai si $a ET $b sont vrais. $a $b : OU (Or) Vrai si $a OU $b est vrai. ++$a : Pré-incrémente Incrémente $a de 1, puis retourne $a. $a++ : Post-incrémente Retourne $a, puis l'incrémente de 1. --$a : Pré-décrémente Décrémente $a de 1, puis retourne $a. $a-- : Post-décrémente Retourne $a, puis décrémente $a de PHP : Les bases du langage Les structures de controle Les conditions If, elseif, else Switch, case, else True et false PHP : Les conditions if... elseif... else <?php?> if ( $a > $b ) { echo "$a est plus grand que $b"; } elseif ($a == $b) { echo "$a est égal à $b"; } else { echo "$a est plus petit que $b"; }

PHP : Les conditions True et False <?php?> $a = 0; if (!$a) { // == if ($a not true) echo "il est vrai que $a est faux"; } else { } echo "il est faux que $a est faux"; PHP : Les conditions Switch... case Exemple : <?php?> switch ($i) { case 0 : echo "i égale 0"; break; case 1 : echo "i égale 1"; break; default : echo "i n'est ni égal à 0, ni à 1"; } PHP : les bases du langage Les structures de controle Les boucles (structures itératives) while... for... break <?php?> PHP : La boucle While... $i = 0; while ($i <= 5) { echo $i.'<br>'; $i++; }

PHP : Les boucles For... PHP : L'interruptions Break <?php?> for ($i = 0; $i <=5; $i++) { echo $i.'<br>'; } <?php for ($i = 0; $i <=5; $i++) { if ($i == 4) break; echo $i.'<br>'; } echo "fin de la boucle";?> PHP : les bases du langage Les fonctions utilisateur Le programmeur peut créer ses propres fonctions C'est une sorte de sous programme de type boite noire qui retourne une ou plusieurs valeurs Une fonction peut etre appelée depuis n'importe quelle partie du code principal Avantages : Meilleure lisibilité du code Maintenance facilitée Gain de productivité. PHP : les fonctions utilisateur <?php?> function carre ($num) { $calcul = $num * $num; return $calcul; } echo carre (5); // affiche '25'. echo $calcul; // affiche?

MySQL : La Base de Donnée Présentation Utilisation de l'outil : PhpMyadmin Lire des données avec PHP Ecrire des données avec PHP MySQL : Présentation Mysql est un serveur de bases de données relationnelles Caractéristiques : Logiciel libre Fonctionne sur de multiples plate-forme, Integre le langage de définition et de manipulation de donnée SQL Robuste et très rapide (en lecture), Très populaire MySQL : L'outil PHPMyAdmin MySQL : L'outil PHPMyAdmin Interface web de gestion des bases de données MySQL écrite en PHP Permet de créer, modifier et supprimer des bases de données, des tables ou des données dans MySQL sans connaissance de SQL Logiciel libre Très pratique Très populaire Documentation en ligne

Mysql : se connecter avec PHP <?php?> $link = mysql_connect("localhost", "mysql_user", "mysql_password") or die("impossible de se connecter : ". mysql_error()); echo 'Connexion réussie'; mysql_close($link); MySQL : Lire des données avec PHP <?php?> mysql_connect("localhost", "mysql_user", "mysql_password") or die("impossible de se connecter : ". mysql_error()); mysql_select_db("mydb"); $result = mysql_query("select id, name FROM mytable"); while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { } printf("id : %s Nom : %s", $row["id"], $row["name"]); mysql_free_result($result); Application : exercices pratiques 'Hello World!' Calculatrice simple Envoie d'un formulaire Mini gestionnaire de portail HTML Liens : http://www.megagiciel.com/conseils/cours-html/ http://cyberzoide.developpez.com/html/ PHP : http://fr.php.net http://www.iutenligne.net/ressources/informatique/ Roose/exosphp/index.html

Merci pour votre attention! Ce diaporama a été conçu avec le logiciel libre : OpenOffice.org Impress v2.0.2