1 / 37

Cours : Programmation Web

Cours : Programmation Web. rahma.dhaouadi@laposte.net. Mlle Rahma DHAOUADI. 2009-2010. 3 ème année IAG . Institut Supérieur de Gestion. Les pré-requis. Langage HTML Les notions de base de la programmation objet Architecture client serveur Base de données. Objectifs du cours.

malise
Télécharger la présentation

Cours : Programmation Web

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Cours : Programmation Web rahma.dhaouadi@laposte.net Mlle Rahma DHAOUADI 2009-2010 3ème année IAG Institut Supérieur de Gestion

  2. Les pré-requis • Langage HTML • Les notions de base de la programmation objet • Architecture client serveur • Base de données

  3. Objectifs du cours 1- Suivre l’historique et l’évolution de la programmation orientée web 2- Initiation aux langages web de base 3- Comprendre le fonctionnement interne des pages web 4- Se préparer au projet de fin de semestre

  4. Références • www.phpfacile.com • www.Developpez.com • ENPC - Module SYSIN - Option XML - 2003/04 - B. Amann • Initiatin à AJAX (Réseau CERTA ) Denis Cabasson– Programmation Web

  5. PLAN du cours Historique du web Les langages du web : PHP Les langages du web : XML Les langages du web : JAVA SCRIPT Les langages du web : AJAX

  6. Les langages du web Un peu d’historique 3 Web 2.0 (2004): participation, échange de contenu 2 Web 1.5 pages dynamiques 1 Web 1.0 pages statiques

  7. Avantages - Caractéristiques Nombreuses bibliothèques Langage interprété Langage non déclaratif Communauté 1er ordre Langage non typé Gestion pratique, efficace Syntaxe inspirée du Shell SD et objets

  8. MySQL PHP Apache Principe du fonctionnement Internet

  9. Les bases du langage PHP • Bloc de code • <?php • ?> • commentaires • // commentaires ligne • /* commentaires bloc */ • # commentaires de type • Les blocs • { • }

  10. Les variables • Modèle unifié de variable : $ + un nom • $var = 1; • $var = 3.2E+4; • $var = "du texte"; • $var = array(); • $var = new Object();

  11. Bibliothèque • Vérifier l’affectation d’une variable : isset • (unset : désaffecter une variable) • Exemple : echo (isset($var)) ? 'initialisée' ; 'rien' ; • Tester le type d’une variable : isXXXX() • Exemple : isarray($var) ? • Fonctions de manipulation du type : • settype(string var, string type) pour typer une variable • gettype pour récupérer le type .

  12. Bibliothèque Date - Time .

  13. Les chaînes de caractères • $str = " KG"; • echo $str; • Concaténation de chaînes de caractères : • $a = "Hello "; $b = $a . "KG!"; • echo $b; KG HelloKG StrposRecherche la première occurrence d'un caractère dans une chaîne Strtolower Met tous les caractères en minuscules opp.strtoupper Explode Scinde une chaîne en morceaux, grâce à un délimiteur UcfirstForce le premier caractère d'une chaîne en majuscule Trim Enlève les espaces de début et de fin de chaîne SubstrRetourne une partie de la chaîne

  14. Les tableaux Se déclare mais ne s'alloue pas • $var = array(); • $var[3] = 4.2; Il existe deux types de tableaux Scalaires et Associatifs • $TAB = array(); • $TAB[1][0] = 4; Augmenter de dimension Un tableau à dimension multiple est TOUJOURS un tableau de tableaux • $TAB • = array(1,2,6,array(2,3),array(3,4,7));

  15. Construction des objets Façonopportuniste • $obj->nom = ‘chocolat'; • $obj->prix = 2; • $obj->quantité = 10; . Instanciation • Les objets peuvent être également déclarés en "classes" • $variable=newNomObjet();

  16. Les opérateurs & structures de contrôle • Les opérateurs : • Opérateurs arithmétiques • Opérateurs logiques • Opérateurs de comparaison • Les structures : • If/else • While • Do/while • For • Foreach • Switch • Break/continue • Include

  17. Fonction utilisateur • functionmaFonction($parm1, $parm2 , $parm3=0) • { • … code de la fonction … • } • functionmaFonction(…) • { • $valretour = …; • … code de la fonction … • return$valretour; • } • Appel fonction • $var=nomfonction();

  18. Passage de paramètres

  19. Passage de paramètres http://www.laposte.net/thematique/femmes/cuisine/ Article.jsp?idArticle=cookies-aux-pepites-de-chocolat&idAgg=femmes_cuisine Ajouter dans l'URL, après le nom du script, une chaîne de la forme ?param1=valeur1&param2=valeur2&...

  20. Interaction avec l’utilisateur : formulaire

  21. Récupérer les valeurs des champs d’un formulaire Méthode GET = Méthode POST = Tableau Associatif Paramètre1 Paramètre2 Paramètre3 Paramètre4 $_GET[" Paramètre1"] vaut "valeur1 $_POST[" Paramètre1"] vaut "valeur1 echo "Nom: ".$_GET["nom"] echo "Nom: ".$_POST["nom"] <formmethod="get"> <formmethod="post" >

  22. Méthode GET – Méthode POST Méthode GET : (+) Simple (-) le serveur web refuse les valeurs les URLs bien longues (-) Les valeurs passées sont clairement visibles (mot de passe) Donc utiliser POST

  23. Fichiers fopen() feof()

  24. Interaction avec une base de données $link = mysql_connect("mysql_hote", "mysql_utilisateur", "mysql_mot_de_passe"); Connexion BD Choix BD mysql_select_db("my_database"); Exécution requête SQL • $query = "SELECT * FROM my_table";$result = mysql_query($query); Parcours résultat while ($line = mysql_fetch_assoc($result))        { foreach ($line as $col_value)         {echo "$col_value\n";}  } Fermeture résultat, connexion • mysql_free_result($result);mysql_close($link);

  25. Interaction avec l’utilisateur Cookies - Sessions • Permet le stockage d’informations sur le client • $_COOKIE contient les valeurs des variables • Problème de sécurité • Stockage sur le long terme (détecter les navigateurs étant déjà venus) • Variables stockées coté serveur ($_SESSION) TAF : recherche approfondie sur Cookies & Sessions, ainsi que leur implémentation.

  26. Langage XML : Généralités • EXtendedMarkupLanguage • Structurer et la manipuler toutes sortes de données indépendamment des plates-formes et des logiciels • Devenir le standard d'échange principal entre systèmes hétérogènes • Un document XML est constitué de balises qui peuvent être enrichies avec des attributs • Peut être stocké, transformé, interrogé “facilement”

  27. Structure de document XML - Exemple <?xml version="1.0" ?> <root> <Livre> <Titre>Yaoum men ayamizamra </Titre> <Auteur>Mohamed salehjebri </Auteur> <CodeISPN>BOU75T</CodeISPN> <NbrePages>100 </NbrePages> <Edition>5 </Edition> </Livre> </root>

  28. Gestion de l’information avec XML • Le parseur permet d'extraire les données d'un document XML ainsi que de la vérification de sa validité du document. • Outils d’analyse (parsing, interrogation): SAXlire un fichier XML sous forme de flux. DOMcharger un document XML sous forme d'un arbre.

  29. JAVA SCRIPT • 1995 : invention du JavaScript • Langage de script exécuté dans le navigateur (client) et permettant un dynamisme des pages • Il est encapsulé dans la page HTML (ou dans un fichier lié) pour être exécuté sur le client

  30. Les éléments de base de JS Déclaration de variables Types des objets string date array math RegExp variable=5 var variable_reserve=5 locale à la fonction types de variables Undefined number boolean string object function Création des fonctions function addition(a,b) { var c=a+b return c } Structures de contrôle et boucles

  31. Gestion de l’information avec XML alert(“Bonjour”); reponse=confirm(“Êtes-vous sûr ?”); reponse2=prompt(“Please enter your name”,”Harry Potter”); <a href=”afficher.html” onclick=”affiche();”>test</a>

  32. Avantages inconvénients JS

  33. Le web 2.0 • Le réseau comme plate-forme (navigateur) • Les utilisateurs possèdent et contrôlent leur information • Interface riche et ergonomique, basée sur Ajax • Participation collective (Wiki) • Réseaux sociaux

  34. Recharger entièrement la page Pourquoi AJAX ?? Solution AJAX Seules les informations nécessaires sont rechargées Utiliser un tableau JS

  35. AJAX • Asynchronous JavaScript And XML • Se baser sur l’objet XMLHttpRequest • L’objet permet de formuler des requêtes HTTP asynchrones • Envoyer requête • Récupérer résultat • MAJ l’affichage de la page

  36. Langage client - Langage serveur

  37. À la prochaine séance

More Related