450 likes | 712 Views
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.
E N D
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 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
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
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
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
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
MySQL PHP Apache Principe du fonctionnement Internet
Les bases du langage PHP • Bloc de code • <?php • ?> • commentaires • // commentaires ligne • /* commentaires bloc */ • # commentaires de type • Les blocs • { • }
Les variables • Modèle unifié de variable : $ + un nom • $var = 1; • $var = 3.2E+4; • $var = "du texte"; • $var = array(); • $var = new Object();
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 .
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
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));
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();
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
Fonction utilisateur • functionmaFonction($parm1, $parm2 , $parm3=0) • { • … code de la fonction … • } • functionmaFonction(…) • { • $valretour = …; • … code de la fonction … • return$valretour; • } • Appel fonction • $var=nomfonction();
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¶m2=valeur2&...
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" >
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
Fichiers fopen() feof()
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);
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.
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”
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>
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.
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
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
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>
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
Recharger entièrement la page Pourquoi AJAX ?? Solution AJAX Seules les informations nécessaires sont rechargées Utiliser un tableau JS
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