Cours : Programmation Web

Slides:



Advertisements
Présentations similaires
Novembre 2005 – Michel Desconnets PHP : théorie Objectif : introduire les concepts globaux permettant d'aborder la programmation en PHP.
Advertisements

Présentation du Stage en Entreprise
Conception de Site Webs dynamiques Cours 6
Conception de Site Webs dynamiques Cours 5
Conception de Site Webs Interactifs Cours 3
Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 9 Patrick Reuter.
Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 8 Patrick Reuter.
TOUQUET Arnaud ▪ GI05 BLONDEEL Igor ▪ GM05
Création de Pages Web Dynamiques
Exposé de Système - Informatique et Réseau
Cours n°2M2. IST-IE (S. Sidhom) UE 303 Promo. M2 IST-IE 2005/06 Conception dun système d'information multimédia Architecture trois-tiers : PHP/MySQL &
Personal Home Page / Hypertext Processor (PHP)
MySQL et PHP.
PHP mySQL Extension php_mysql. Connexion à une base de données Établir une connexion mysql_connect(string server, string username, string password) –permet.
TP 3-4 BD21.
ESIEE Paris © Denis BUREAU I N Initiation à la programmation avec le langage Java.
Jérôme CUTRONA PHP et bases de données Jérôme CUTRONA 01:07:51 Programmation Web
JOME, un Composant Logiciel pour le Télé-Enseignement des Mathématiques via le WEB, Compatible OpenMath et MathML Laurent DIRAT OVE / I3S-UNSA.
Introduction aux Web Services Partie 1. Technologies HTML-XML
Cours n°3 Les formulaires
Révision Avant lintra – Architecture de lordinateur, les composants, le fonctionnement, codage – Système dexploitation: organisation des données (fichier),
Common Gateway Interface
2006/2007Denis Cabasson – Programmation Web Cours de programmation web ENSAE
Développement d’applications web
CPI/BTS 2 Programmation Web Introduction au PHP
HELHA informatique de gestion
Web et Flux RSS Sébastien Bayle. 30/01/09 Comment faire un site web aujourdhui ? – Construire son propre site – Utiliser des outils OpenSource – Utiliser.
Ecole Supérieure Privée de ingénierie et de technologie année universitaire :2013/2014 Cross-Plateform Cours JavaScript.
Les instructions PHP pour l'accès à une base de données MySql
Projet poker 1/56. Introduction Présentation de léquipe Cadre du projet Enjeux Choix du sujet 2.
Gestion des bases de données
F Copyright © Oracle Corporation, Tous droits réservés. Créer des programmes avec Procedure Builder.
Le langage Javascript pour le web
Projet Génie Logiciel & UML, Bases de Données & Interfaces
1. 2 PLAN DE LA PRÉSENTATION - SECTION 1 : Code HTML - SECTION 2.1. : CSS (Méthode 1) - SECTION 2.2. : CSS (Méthode 2) - SECTION 3 : JavaScript - SECTION.
1 PHP 1.Langage PHP 1.1. Types de base, variables et constantes 1.2. Opérateurs et expressions 1.3. Instructions 1.4. Fonctions 2.Accès aux bases de données:
PHP Géant Aurélien. PHP (Hypertext Preprocessor) Langage de scripts libre Permet produire des pages Web dynamiques dispose d'un très grand nombre d'API(Application.
IFT 6800 Atelier en Technologies d’information
LIFI-Java 2004 Séance du Jeudi 9 sept. Cours 1. La notion de langage Décrire une tâche à effectuer –programme Écrire à un haut niveau –facile pour lutilisateur.
COURS DE PROGRAMMATION ORIENTEE OBJET :
L3 Module Libre Année universitaire Initiation à la Bioinformatique Jean-Michel RICHER.
Projet de Master première année 2007 / 2008
Chapitre 3 Les bibliothèques de balises JSP et la JSTL
LA GESTION COLLABORATIVE DE PROJETS Grâce aux outils du Web /03/2011 Académie de Créteil - Nadine DUDRAGNE 1.
JEE 5 F.Pfister 2 institut eerie JEE – Une plateforme serveur  Développement et exécution d'applications réparties.
Animateur : Med HAIJOUBI
Javascript 1° PARTIE : LES BASES
PHP & My SQL.
Introduction au langage PHP Licence Pro Cours Internet / Intranet Utilité Historique Exemples Fonctions PHP Classes.
Département Technologie de l’Information et de la Communication
PROGRAMMATION WEB FRONT-END.
JavaScript Nécessaire Web.
Outil de gestion des cartes grises
PHP 5° PARTIE : LES COOKIES
JavaScript.
0 Objectifs de la session n°1  Revenir sur toutes les bases théoriques nécessaires pour devenir un développeur Web,  Découvrir l’ensemble des langages.
Cours de programmation web
 Syntaxe du langage PHP
 Requêtes MySQL en PHP Introduction
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault 1.
Page 1Dernière mise à jour: 17 avril 2015 Service de l'enseignement des technologies de l'information, © HEC Montréal, Tous droits réservés.
 Formulaires HTML : traiter les entrées utilisateur
AJAX Jérôme CUTRONA 06:28:58 Programmation Web
Initiation au JavaScript
Initiation au web dynamique Licence Professionnelle.
Introduction à PHP TOURNADRE Guillaume - Informatique Réseaux URL :
CPI/BTS 2 Programmation Web Les sites dynamiques Prog Web CPI/BTS2 – M. Dravet – 02/10/2003 Dernière modification: 02/10/2003.
Ajax1 A. Obaid - Programmation web (INF2005) AJAX.
APP-TSWD Apprentissage Par Problèmes Techniques des Sites Web Dynamiques Licence Professionnelle FNEPI Valérie Bellynck, Benjamin Brichet-Billet, Mazen.
Développement d’applications Web
Transcription de la présentation:

Cours : Programmation Web Mlle Rahma DHAOUADI rahma.dhaouadi@laposte.net 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 les motivations peut être juste les avantages au début

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

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

Avantages - Caractéristiques Langage interprété Nombreuses bibliothèques Communauté 1er ordre Langage non déclaratif PHP : PHP Hypertext Preprocessor PHP : acronyme historique Personal Home Page Gestion pratique, efficace Langage non typé SD et objets Syntaxe inspirée du Shell

Principe du fonctionnement MySQL PHP Apache Internet Une fois une page HTML ou PHP appelée, elle passe par le serveur Web (ici Apache). Si l'extension du fichier correspond à ce que l'on a défini comme étant l'extension PHP le serveur demande à l'interpréteur PHP d'exécuter le code PHP contenu dans le fichier. L'exécution de ce code PHP entrainera éventuellement un échange d'informations avec la base de données. Au final, c'est une page HTML (généralement) qui est renvoyé à Apache (avec éventuellement du Javascript, des appels à des applets... enfin tout ce que les navigateurs peuvent comprendre). Le résultat est émis vers le navigateur.

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 . l'utilisation d'une variable non initialisée ne signale rien, la variable vaut 0 ou '' ou null suivant son utilisation.

Bibliothèque Date - Time Time : retourne le nombre de secondes écoulées depuis le 1er Janvier 1970 Checkdate : contrôler la validité d'une date Strftime : afficher une date getdate : retourne la date/heure .

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 Strpos Recherche la première occurrence d'un caractère dans une chaîne Strtolower Met tous les caractères en minuscules opp. strtoupper Près de 90 fonctions de manipulation des chaînes de caractères. Explode Scinde une chaîne en morceaux, grâce à un délimiteur Ucfirst Force le premier caractère d'une chaîne en majuscule Trim Enlève les espaces de début et de fin de chaîne Substr Retourne une partie de la chaîne

Les tableaux Se déclare mais ne s'alloue pas $var = array(); 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çon opportuniste $obj->nom = ‘chocolat'; $obj->prix = 2; $obj->quantité = 10; . Instanciation Les objets peuvent être également déclarés en "classes" $variable = new NomObjet();

Les opérateurs & structures de contrôle 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 function maFonction($parm1, $parm2 , $parm3=0) { … code de la fonction … } function maFonction(…) $valretour = …; return $valretour; Appel fonction $var=nomfonction(); Une fonction est définie par son nom et ses paramètres :

Passage de paramètres

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&...

Interaction avec l’utilisateur : formulaire

Récupérer les valeurs des champs d’un formulaire Méthode GET = Méthode POST = Tableau Associatif Valeur1 Valeur2 Valeur3 Valeur4 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"] <form method="get" > <form method="post" >

Méthode GET – Méthode POST (+) 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 Lire un fichier ligne par ligne fopen() Lire un fichier ligne par ligne Lire un fichier paquet par paquet Ecrire dans un fichier Lister les fichiers d'un répertoire et de ses sous-répertoires  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 EXtended Markup Language 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” Acronyme = = langage de balise étendu

Structure de document XML - Exemple <?xml version="1.0" ?> <root> <Livre> <Titre>Yaoum men ayami zamra </Titre> <Auteur>Mohamed saleh jebri </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): SAX lire un fichier XML sous forme de flux. DOM charger 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 variable=5 var variable_reserve=5 locale à la fonction string date array math RegExp 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>

Avantages inconvénients JS Rendre dynamique une page web Réagir aux actions des utilisateurs Valider les données inscrites dans un formulaire Récolter des informations sur les visiteurs du site Créer des cookies Effectuer des requêtes asynchrones (AJAX) Compatibilité entre les navigateurs Problème de sécurité Désactivation du JavaScript (~10% des navigateurs)

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

Pourquoi AJAX ?? Recharger entièrement la page 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

Langage client - Langage serveur langages interprétés côté client langages interprétés côté serveur Les applets Java Les animations flash Les ActiveX (uniquement sous IE) Css Js Ajax .NET : alternative de Microsoft à PHP et Java Java (J2EE, JSP) Python (Zope) Ruby (Ruby on Rails) Php

À la prochaine séance