La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

4 Développement de site Web dynamique avec PHP Formation continue – Cégep de Sainte-Foy François G. Couillard.

Présentations similaires


Présentation au sujet: "4 Développement de site Web dynamique avec PHP Formation continue – Cégep de Sainte-Foy François G. Couillard."— Transcription de la présentation:

1 4 Développement de site Web dynamique avec PHP Formation continue – Cégep de Sainte-Foy François G. Couillard

2 5 Table des matières Faire connaissance Introduction Évaluation des connaissances de départ PHP les bases Outils de développement

3 6 Table des matières (suite) Récupération et stockage des données dans des fichiers Utilisation des tableaux Manipulation de chaînes Réutilisation de code et écritures de fonctions Expressions régulières

4 7 Faire connaissance Vos connaissances  HTML  Pages web dynamiques  Architecture client-serveur  Langages Votre but à la fin du cours

5 8 Faire connaissance Présentation du professeur  francoisgosselincouillard@hotmail.com Expérience Mon objectif face au cours

6 9 Introduction Définition Caractéristiques L’histoire du PHP Fonctionnement Les outils de développement Architecture client-serveur

7 10 Définition PHP (Hypertext Preprocessor) est un langage de scripts libre principalement utilisé pour produire des pages Web dynamiques via un serveur Web. http://fr.wikipedia.org/wiki/PHP:_Hypertext_Preprocessor

8 11 Caractéristiques de PHP Accès à une base de données Envoi de courriel Lecture du contenu de fichiers Compression de données Génération d’images ou de PDF Validation d’un paiement en ligne Gestion de formulaires

9 12 Caractéristiques On parle de script PHP puisque c’est un langage interprété et non compilé. Le responsable de l’exécution est l’interpréteur. Il fait la lecture des lignes du script une à la fois et exécute le résultat. De l’autre côté, les langage compilés (C, C++ et VB) utilisent un compilateur afin de transformer le code en langage machine. http://fr.wikipedia.org/wiki/Interpr%C3%A8te_(informatique)

10 13 Avantages Gratuit, libre et peu consommateur de ressources Programmation objet et procédurale Fondements du langage simples à acquérir Interaction avec un grand nombre de BD Plusieurs éditeurs de code gratuits Multi-plateforme : Linux, Windows, MacOSX Largement utilisé

11 14 Inconvénients Manque la gestion des processus (thread) POO pas encore très évoluée Aucun environnement de développement majeur sur le marché

12 Statistiques http://w3techs.com/technologies/detail s/pl-php/all/all http://w3techs.com/technologies/detail s/pl-php/all/all http://trends.builtwith.com/framework/P HP http://trends.builtwith.com/framework/P HP 15

13 16 L’histoire de PHP

14 17 L’histoire Conçu en 1994 par Ramsus Lerforf. Il cherchait un moyen de comptabiliser les internautes qui visitaient son CV sur son site Internet. Il a cherché un langage qui aurait permis de traiter facilement des formulaires. Il n’a pas trouvé. Il a donc décidé de développer son propre langage.

15 18 L’histoire Le langage PHP/FI (Personal Homepage Tools/Form Interpreter) a donc vu le jour. Un peu plus tard, le langage a été rebaptisé par PHP Hypertext Preprocessor. En 1997, deux israéliens (Zeev Suraski et Andi Gutmans) veulent développer un site de commerce électronique. Ils se joignent à Rasmus afin de l’aider dans son projet.

16 19 L’histoire Un engouement immédiat pour ce langage se fait sentir. La compagnie Zend (Zeev & Andi) est fondée et le langage est réécrit. Depuis, deux réécritures ont eu lieu :  2000  PHP 4  2004  PHP 5

17 20 L’histoire La version PHP 5 apporte de nouveaux éléments :  Programmation OO (orienté objet) améliorée  Un support pour le XML et le XSLT  La gestion des services Web  L’accès aux BD via l’extension PDO

18 21 L’histoire PHP aujourd’hui  Utilisé sur des dizaines de millions de sites  Marché de plus de 10 milliards de $  Yahoo utilise ce langage et a engagé Ramsus

19 22 L’évolution http://fr2.php.net/usage.php 20 917 850 domaines, 1 224 183 adresses IP

20 23 Fonctionnement

21 24 Fonctionnement Architecture client- serveur  Le client fait l’envoi d’une demande au serveur.  Le serveur traite cette demande et renvoie la réponse au client. http://www.dbco.ch/pub/img/ClientServeur.jpg

22 25 Fonctionnement http://upload.wikimedia.org/wikipedia/commons/4/40/PHP.svg

23 26 Fonctionnement 1. Un client demande l’affichage d’une page web PHP. 2. Le serveur Web charge le fichier à partir du disque dur. 3. Le fichier est envoyé à l’interpréteur PHP. 4. L’interpréteur génère le code HTML et effectue un traitement. 5. Le code produit est retourné au serveur Web. 6. La réponse est retournée au client.

24 27 Fonctionnement * Si le nom du fichier n’est pas spécifié, le fichier index.php est retourné. index.php

25 28 Les outils

26 29 Outils L’interpréteur PHP Un serveur Web Un éditeur de code Un fureteur Un SGBDR  (Système de gestion de base de données relationnelles) Package WAMP ou LAMP

27 30 L’interpréteur L’interpréteur PHP peut être téléchargé sur le site php.net. Il est disponible pour une multitude de systèmes d’exploitation.php.net Pour une installation facile sur Windows, téléchargez l’installeur. php.net/downloads.php php.net/downloads.php

28 31 Un serveur Web Plusieurs serveurs Web peuvent fonctionner avec l’interpréteur PHP.  Apache Serveur web gratuit http://httpd.apache.org/download.cgi  IIS (Internet Information Server de Microsoft) Disponible avec Windows XP Pro

29 32 Un SGBDR La base de données la plus populaire pour fonctionner avec PHP est bien entendu MySQL. Gratuit et licence GPL. Version « community server »  http://dev.mysql.com/downloads/mysql/5.1.html http://dev.mysql.com/downloads/mysql/5.1.html

30 33 Un éditeur Il est possible de créer des pages avec Notepad. Des environnement plus élaborés sont disponibles. Notepad++  Éditeur de texte gratuit accompagné d’une mise en évidence du code PHP (Syntax highlight)  http://notepad-plus-plus.org/ http://notepad-plus-plus.org/

31 34 Un éditeur Eclipse PDT  eclipse.org/pdt eclipse.org/pdt NetBeans  netbeans.org/downloads netbeans.org/downloads Zend Studio  Environnement de développement payant.  zend.com/fr/products/zend_studio zend.com/fr/products/zend_studio

32 35 Un éditeur plusieurs autres éditeurs.  php-editors.com/review/ php-editors.com/review/

33 36 Un fureteur Chrome Firefox Internet Explorer Opera 2013Internet Explorer FirefoxChromeSafariOpera Février13.5 %29.6 %50.0 %4.1 %1.8 %

34 37 Tester le résultat Voici un site qui vous permettra de vérifier l’apparence d’un autre site sans avoir à installer plusieurs fureteurs. browsershots.org

35 38 Fureteur proposé Un développeur Web doit avoir plusieurs fureteurs sous la main afin de tester le résultat généré. http://www.w3schools.com/browsers/browsers_stats.asp

36 39 WAMP & LAMP Un ensemble de logiciels faciles à installer. Pour Windows et Linux.  WAMP : Windows Apache MySQL PHP  LAMP : Linux Apache MySQL PHP  easyPHP.org easyPHP.org  wampserver.com wampserver.com  apachefriends.org/fr/xampp.html apachefriends.org/fr/xampp.html

37 40 Exercice Installez XAMPP Arrêtez le serveur IIS  iisreset /stop Démarrez le nouveau serveur Vérifiez le fonctionnement à l’adresse  http://localhost http://localhost

38 41 Les bases Démarrer l’environnement Répertoire Root Les fichiers.php Les balises PHP Les variables

39 42 Démarrer l’environnement Lancer le serveur Web Ouvrir la page http://localhost/ dans un fureteurhttp://localhost/ Si IIS (serveur web) occupe déjà le port 80, utilisez la commande  iisreset /stop

40 43 Répertoire de base Le répertoire ROOT ou RACINE C’est le contenu de ce dossier qui sera affiché lorsque vous ouvrirez l’adresse :  http://localhost/ http://localhost/ C’est l’adresse de votre serveur web Le contenu se trouve dans l’un de ces répertoires du disque dur: C:\xampplite\htdocs C:\wamp\www C:\Program Files\EasyPHP1-8\www

41 44 PHP.ini Le fichier PHP.ini contient la configuration de l’interpréteur. Vous pouvez modifier des options en fonction de vos besoins. error_reporting = E_ALL & ~E_NOTICE display_errors = true Affiche toutes les erreurs sauf les notices.

42 45 PHP.ini - ini_set Il est possible de modifier les configurations de ce fichier lors de l’exécution avec la fonction ini_set : ini_set("display_errors", true); ini_set("file_uploads", "On"); ini_set("upload_max_filesize", "32M");

43 46 Les fichiers.php Un fichier.php est un fichier texte qui peut contenir un mélange de HTML, CSS, JavaScript et d’instructions PHP. Vos fichiers doivent avoir l’extension php (exemple.php) pour être interprétés par PHP.

44 47 Les balises PHP <?php  Afin que vos instructions PHP soient interprétées, vous devez les délimiter avec ces balises. ?>

45 48 Votre premier programme <?php echo "Bonjour PHP"; ?> Enregistrez ce code dans le fichier index.php dans le répertoire root de votre serveur web. Afin de vérifier que cette instruction est fonctionnelle, ouvrez la page Web qui contient ce code avec un fureteur, adresse http://localhost.

46 49 PHPinfo() À la suite de votre instruction, ajoutez l’appel de la fonction suivante : phpinfo(); La configuration de votre système sera affichée à l’écran.

47 50 Votre premier programme (suite) <?php echo "PHP 5 "; echo "Super!"; ?> Une balise HTML est utilisée a travers le PHP.

48 51 Mélanger HTML et PHP Afin de générer du HTML, vous pouvez toujours utiliser la fonction echo ou print. Il est parfois plus facile d’ouvrir et de refermer plusieurs fois les balises PHP.

49 52 Mélanger HTML et PHP Paragraphe HTML 1 Paragraphe HTML 2

50 53 Caractéristiques du code Toujours délimité par les balises PHP. Les instructions se terminent par un point-virgule. Il est conseillé de documenter le code en ajoutant des commentaires. Les commentaires seront ignorés par l’interpréteur.

51 54 Commentaires PHP /* Sur plusieurs lignes */ // Sur une seule ligne # Autre commentaire

52 55 Commentaires HTML Il existe aussi des commentaires HTML. Ces commentaires seront visibles dans le code source, mais n’auront pas d’impact dans votre fureteur.

53 56 Mélanger HTML et PHP avec commentaires <? // Affiche le texte PHP avant HTML PHP echo "PHP avant HTML"; ?> Paragraphe HTML 1 Paragraphe HTML 2

54 57 Structure HTML de base Titre de la page Titre Principal Titre secondaire Paragraphe

55 58 Aide Ou utilisez l’aide en ligne http://php.net/manual/fr/index.php http://php.net/manual/fr/index.php Téléchargez l’aide.CHM  http://www.php.net/download-docs.php http://www.php.net/download-docs.php

56 59 Exercice Créez un fichier PHP nommé index.php dans votre répertoire www (si ce n’est pas déjà fait). Utilisez la fonction echo pour afficher une phrase et date pour afficher la date. Visualisez le résultat dans votre fureteur. Profitez-en pour regarder le code source  Menu Affichage  Source Il est souhaitable d’ajouter les balises HTML, HEAD et BODY.

57 60 Les variables Y

58 61 Les variable$ Une variable est un espace de stockage pour une donnée. Toutes les variables commencent avec le caractère $  Exemple : $nom

59 62 Nom d’une variable Choisissez un nom significatif PHP est sensible à la casse (case-sensitive)  $a et $A sont deux variables différentes Certains caractères spéciaux ne peuvent pas être utilisés dans le nom d’une variable.  Doit commencer par une lettre ou un souligné (_), suivi de lettres, chiffres ou soulignés.

60 63 Affectation = L’affection est l’acte d’attribuer une valeur à une variable. $test Test est le nom de la variable Cette variable pourrait contenir la valeur « Océane » par exemple. $test = "Océane";

61 64 Affectation = Différents types Directe: $test = "Océane"; Suite à une opération: $test = 3 + 4; Résultat d’une fonction: $test = pow(2,4);

62 65 Affectation $nb++;  Incrémentation  Même résultat que $nb = $nb + 1 $nb--;  Décrémentation  Même résultat que $nb = $nb - 1

63 66 Les constantes Il est possible de définir des constantes. Ces sont des variables qui ne changeront pas de contenu, d’où le nom de constante. define("VITESSE_LUMIERE", 299792458 );

64 67 Les constantes Plusieurs constantes sont déjà définies par PHP. Afin d’en avoir la liste, exécutez les instructions suivantes : echo " "; print_r(get_defined_constants()); echo " ";

65 68 Exercice Déclarez une variable, affectez-lui une valeur et afficher cette valeur à l’aide de echo. Déclarez une constante NOM_SITE qui contiendra le nom de votre site Web. Affichez cette constante en haut de votre page à l’aide de la balise HTML.

66 69 Les types de variables Booléen Entier Virgule flottante Chaînes de caractère

67 70 Définition Chaque variable a un type spécifique Il identifie comment la donnée sera interprétée et la quantité d’espace mémoire requise pour entreposer l’information. Il est assigné automatiquement selon la valeur qui est attribuée.

68 71 Types de base BooléenBool0,1 True ou false EntierInteger0,1,-5, 100 Virgule flottante Double0.1, 5.5, 100.2 Chaîne de caractères String"PHP" "Ramsus"

69 72 Types supplémentaires Types composés :  Tableaux  Objets Orienté objet Types spéciaux  Ressources fichier, bd, connexion FTP  Null

70 73 Entier Les entiers peuvent être spécifiés en base décimale (base 10), en hexadécimale (base 16) ou octale (base 8). $a = 1234; // entier en base 10 $a = -123; // entier négatif $a = 0123; // entier en base 8, octale $a = 0x1A; // entier en base 16, hexadécimale

71 74 Virgule flottante Les nombres décimaux (connus aussi sous le nom de "double", "float" ou "nombre réels") peuvent être spécifiés en utilisant la syntaxe suivante : $a = 1.234; $b = 1.2e3; $c = 7E-10;

72 75 Opérateurs arithmétique $resultat = 1 / 2 * 8 – (2 + 0) % 3; Opérateurs : + - * / %  %  modulo : retourne le reste d’une division Priorité des opérations à considérer Utilisation de parenthèses possibles Raccourcis : -=, *=, /= %=

73 76 Chaînes de caractères Les chaînes de caractères sont des séquences de caractères. Un caractère est entreposé dans un octet et il y a 256 caractères possibles. Il n'a pas de support natif Unicode. Voir les fonctions utf8_encode() et utf8_decode() pour un support Unicode.

74 77 Chaînes de caractères Afin de délimiter une chaîne, les guillemets doubles sont habituellement utilisés.  $chaine = "Voici ma chaîne"; Cas spéciaux :  echo 'Ceci est une chaîne simple';  echo 'Il a dit : "I\'ll be back" ';  echo "Il a dit : \"I'll be back\" "; http://ca.php.net/manual/fr/language.types.string.php

75 78 Caractères spéciaux SéquenceValeur \n Nouvelle ligne (linefeed, LF ou 0x0A (10) en ASCII) \r Retour à la ligne (carriage return, CR ou 0x0D (13) en ASCII) \t Tabulation horizontale (HT ou 0x09 (9) en ASCII) \\ Anti-slash \$ Caractère $ \" Guillemets doubles

76 79 Concaténation de chaînes 1. <?php 2. $nom = "M. Côté"; 3. $message = ' Merci '. $nom; 4. echo $message; 5. ?>

77 80 Traitement des chaînes strtoupper, strtolower strlen strpos, stripos, strrpos, strripos rtrim, trim, ltrim substr str_replace

78 Fonction Sous-programme, qui effectue une séquence d'instructions Possède un nom (elle peut donc être appelée) 81

79 Fonction Une fonction peut retourner une valeur  Ex: $nom = getNom(); Une fonction peut recevoir des paramètres  Ex: print ($chaine);  Ou print (“Hello world”);  Ou pow (2,4) 82

80 83 Traitement des chaînes strtoupper  Retourne une chaîne en majuscules strtolower  Retourne une chaîne en minuscules strlen  Retourne le nombre de caractères dans une chaîne.

81 84 Traitement des chaînes strpos, stripos, strrpos, strripos  Retourne la position d’une chaîne dans une autre chaîne. strpos : à partir du début stripos : à partir du début, sans casse strrpos : à partir de la fin strripos : à partir de la fin, sans casse

82 85 Traitement des chaînes rtrim, trim, ltrim  Enlève les espaces dans une chaîne. rtrim : espaces à droite ltrim : espaces à gauche trim : espaces à gauche et à droite

83 86 Traitement des chaînes substr  Permet d’extraire une section d’une chaîne. $extract = substr("abcde", 1); // bcde $extract = substr("abcde", 1,3); // bcd $extract = substr("abcde", -1); // e $extract = substr("abcde", 2,-1); // cd

84 87 Traitement des chaînes str_replace  Remplace une chaîne par une autre chaîne dans une chaîne. $result = str_replace("a", "b", "abc"); //Le contenu de $result sera bbc

85 88 Fonctions pour déterminer le type $var = -2.2; echo 'type : '. gettype($var). ' '; echo 'null : '. is_null($var). ' '; echo 'int : '. is_int($var). ' '; echo 'bool : '. is_bool($var). ' '; echo 'float : '. is_float($var). ' ';

86 89 Exercice Déclarez une variable de type chaîne. Expérimentez les fonctions vues. Si vous éprouvez des difficultés, allez sur le site www.php.net.www.php.net Ayez l’aide PHP sous la main!  Fichier.chm


Télécharger ppt "4 Développement de site Web dynamique avec PHP Formation continue – Cégep de Sainte-Foy François G. Couillard."

Présentations similaires


Annonces Google