2006/2007Denis Cabasson – Programmation Web Cours de programmation web ENSAE 2006-2007.

Slides:



Advertisements
Présentations similaires
La création de pages web Lorsqu'on « navigue » sur l'Internet, les pages que nous visitons sont encore pour beaucoup en HTML. Comment fait-on pour les.
Advertisements

1 JavaScript V0 : Nauer. 2 JavaScript Quid ? Langage de programmation lié à HTML. Code JavaScript intégré aux pages HTML. Code interprété par le navigateur.
CRÉER UNE APPLICATION INTERNET RELIEE A UNE BASE DE DONNEES
Internet et le client- serveur Licence Pro IE Cours Internet / Intranet Le Web HTML Protocoles Le client universel Contenus dynamiques.
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.
Conception de Sites Web dynamiques
Conception de Site Webs Interactifs Cours 4
Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 8 Patrick Reuter.
Création de pages Web dynamiques et sympathiques.
Exposé de Système - Informatique et Réseau
UE 102 (IUP.M1) Communication d’entreprise
TRANSFER Alger – Serveur Web Nicolas Larrousse Septembre Petit historique du Worl Wide Web Notion dHypertexte Extension à internet par Tim Berners.
SVG: Scalable Vector Graphics Exemple: Vienne Christine Potier, INF347, 20 juin 2008.
Développement dun simulateur dinterface graphique à distance Présenté par Michaël Delhaye Promoteur : Jean Vanderdonckt.
16/10/10 Préparé par: Ing. Rodrigue Osirus (+509) , *** Site web dynamique.
Le Téléphone Russe Le Téléphone Russe. Le Téléphone Russe Le Téléphone Russe.
LOG 02 Bases de Données Avancées Rappels sur JSP / Servlet
Portfolio - Dossier de cheminement Techniques de linformatique Rivière-du-Loup.
Techniques Internet de Base Licence 2 (Info, Maths, PC/PA) Université Jean Monnet Ruggero G. PENSA
ST40 – Stage Professionnel
Comprendre l’environnement Web
Les instructions PHP pour l'accès à une base de données MySql
Xavier Tannier Module de Programmation Web Introduction.
Clients riches RIA (Rich Internet Application) / RDA
Web dynamique PhP + MySQL AYARI Mejdi 2006
PhP-MySQL Pagora 2012/2013 CTD 1 - Presentation de moi ^^
Olivier Nocent Programmation Web Olivier Nocent
Qelios – Formation Initiation au langage CSS
Sandrine BUENDIA Guillaume GALLET.
Initiation au web dynamique
JEE 5 F.Pfister 2 institut eerie JEE – Une plateforme serveur  Développement et exécution d'applications réparties.
LES CLIENTS WEB RICHES Tuteur : Olivier CARON LEFEBVRE Benoit
Internet et le client- serveur Licence Pro IE Cours Internet / Intranet Le Web HTML Protocoles Le client universel Contenus dynamiques.
Module I-C3 : Applications Web IUT R&T 2e année
Module Internet (3) 1 Département Technologie de l’Information et de la Communication Internet.
Cours de programmation web
T ECHNOLOGIES WEB CHAPITRE IV : L E LANGAGE PHP 1 Mme Amani JARRAYA & Mohamed MOHSEN.
Concevoir un site web de A a Z Cours 3. Aujourd’hui Découper sa page en tranche pour une intégration graphique optimale avec Photoshop L’intégration des.
S'initier au HTML et aux feuilles de style CSS Cours 5.
Campus-Booster ID : **XXXXX Copyright © SUPINFO. All rights reserved Le développement Web.
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault 1.
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault 1.
Environnement scénarisé d’apprentissage interactif à distance Système d’exploitation Linux Base de données MySQL Langages PHP, Java, HTML et Javascript.
Présentation du développement du projet.  Introduction  Conception et méthodes  Developpement  Conclusion 2.
Introduction au socle MEAN
Module : Pages Web Dynamiques (Production Électronique Avancée)
S'initier au HTML et aux feuilles de style CSS Cours 5.
Initiation au JavaScript
Sites Web interactifs 2010 / 2011 / S1 Bernhard Rieder.
d’une plateforme web géo-décisionnelle
Architecture logicielle
Les langages de programmation
Introduction à PHP TOURNADRE Guillaume - Informatique Réseaux URL :
Séance /10/2005 CSS et Dreamweaver. CSS : principes Cascading Style Sheet = feuille de style en cascade Norme du W3C :
Base de données biogéographiques sur Internet
Séance /10/ Projet de site dynamique avec Dreamweaver : MyCMS
Les évolutions du WEB Des technologies,... et un peu plus...
1. 2 Soutenance de Stage Hébergement et réalisation d’un site web IUT de Lannion Hôpital Local de la Ville Deneu À Lamballe Sébastien Lepeigneul 2 ème.
Création d’un site Web -Création « Graphique » de pages Création « Graphique » de pagesCréation « Graphique » de pages -Le graphisme Le graphismeLe graphisme.
Séminaire de rentrée cours de programmation web & Wordpress
Revue projet Final : Session 2006
1 Sommaire Présentation de l’entreprise Présentation du stage Présentation de Scarabée Réalisation Conclusion.
{ Java Server Pages Par Billy et Mike.  Introduction  Qu’est-ce que JSP?  Pourquoi utiliser JSP?  Développement  Balises  Servlets  Conclusion.
Création d’un site WEB 1 – Un site WEB c’est quoi ? 2 – Questions à se poser avant la construction d’un site WEB 3 – Principes de fonctionnement d’un site.
APP-TSWD Apprentissage Par Problèmes Techniques des Sites Web Dynamiques Licence Professionnelle FNEPI Valérie Bellynck, Benjamin Brichet-Billet, Mazen.
Jquery Veille technologie – Nathan Chéron
1 Programmation Web Programmation WAMP/LAMP Premiers principes.
Transcription de la présentation:

2006/2007Denis Cabasson – Programmation Web Cours de programmation web ENSAE

2006/2007 Denis Cabasson – Programmation Web Cours 2 - PHP 1. Rappels sur PHP 2. Syntaxe de base 3. Structures de contrôle 4. Fonctions, classes 5. Interaction avec lutilisateur 6. Interaction avec une base de données 7. Bibliothèque de fonctions

2006/2007 Denis Cabasson – Programmation Web Rappels sur PHP MySQL PHP Apache Internet

2006/2007 Denis Cabasson – Programmation Web Rappels sur PHP Générateur de HTML (Javascript, CSS) Langage interprété (pas de compilation) Lutilisateur requête une URL, le serveur interprète le PHP et retourne la page HTML générée.

2006/2007 Denis Cabasson – Programmation Web Syntaxe de base Les blocs de code sont insérés dans la page entre : Mon premier document PHP <?php $pseudo = "Robert"; echo " Bienvenue ".$pseudo." ; ?>

2006/2007 Denis Cabasson – Programmation Web Syntaxe de base Instructions séparées par un « ; » Commentaires //commentaire de fin ligne /* bloc multiligne de commentaires */

2006/2007 Denis Cabasson – Programmation Web Syntaxe de base : les variables Les noms commencent par $ Le typage est fort et dynamique $a = 1234; $aussi_long_que_tu_veux = 5555; $a = 1.255; $a = « Bonjour »; $b = Bonjour;

2006/2007 Denis Cabasson – Programmation Web Syntaxe de base : Les tableaux Tableaux scalaires : $nombres = array(1, 2, 3, 4, 5, 6); $nombres[0]=1; $nombres[1]=2; $nombres[2]=3; … $nombres[5]=6; Tableaux associatifs : $panier=array( fruit => banane, legume => haricot ); $panier[fruit]=banane; $panier[legume]= haricot; Rem : les chaines de caractères sont des tableaux

2006/2007 Denis Cabasson – Programmation Web Syntaxe de base : Les tableaux Création dynamique : $a[0]=1;$a[1]=5; $a[]=-10; $a[2]=-10; Tableaux de tableaux : $a=array( array(1,2,3), array(« fruit » => 2, « legume » => 5), « 10 »); $a[0]= array(1,2,3); $a[1]= array(« fruit » => 2, « legume » => 5);$a[2]=« 10 »; $a[0][0]=1;$a[0][1]=2;$a[0][2]=3…

2006/2007 Denis Cabasson – Programmation Web Syntaxe de base : portée des variables Portée locale / globale : $a = 1; // portée globale Function Test () { echo $a; // portée locale } Test (); // nécrira rien Constantes : Portée globale define(« taux_euro », ); On y accède sans $ !

2006/2007 Denis Cabasson – Programmation Web Syntaxe de base : opérateurs arithmétiques $a + $bAdditionSomme de $a et $b. $a - $bSoustractionSoustraction de $b $a * $bMultiplicationProduit de $a et $b $a / $bDivisionDividende de $a par $b $a % $bModuloReste de la division de $a par $b

2006/2007 Denis Cabasson – Programmation Web Syntaxe de base : opérateurs Concaténation de chaînes de caractères : $a = "Hello "; $b = $a. "World!"; Assignement : La valeur d'une expression d'assignement est la valeur assignée $a = ($b = 4) + 5; => $a= ? $a = 3; $a += 5; => $a= ? $b = "Hello "; $b.= "There!"; => $b= ?

2006/2007 Denis Cabasson – Programmation Web Syntaxe de base : Opérateurs logiques $a and $bETVrai si $a ET $b sont vrais $a && $bETVrai si $a ET $b sont vrais $a or $bOUVrai si $a OU $b est vrai $a || $bOUVrai si $a OU $b est vrai !$aNONVrai si $a est faux

2006/2007 Denis Cabasson – Programmation Web Syntaxe de base : opérateurs de comparaison $a == $bEgal àVrai si $a est égale à $b. $a != $bDifférent deVrai si $a est différent de $b. $a < $bPlus petit queVrai si $a est plus petit strictement que $b. $a > $bPlus grand queVrai si $a est plus grand strictement que $b. $a <= $bPlus petit ou égal àVrai si $a est plus petit ou égal à $b. $a >= $bPlus grand ou égal àVrai si $a est plus grand ou égal à $b.

2006/2007 Denis Cabasson – Programmation Web Structures de contrôle : if/else if (expression) instruction if($a > $b) print "a est plus grand que b"; else / elseif if ($a > $b) { print "a est plus grand que b"; } elseif ($a == $b) { print "a est égal à b"; } else { print "a est plus petit que b"; }

2006/2007 Denis Cabasson – Programmation Web Structures de contrôle : if Autre syntaxe possible : if (expression): instructions... endif; On est en 2003 !

2006/2007 Denis Cabasson – Programmation Web Structures de contrôle : while while (expression) instruction while (expression): instructions... endwhile; while ($pas >= 1e-3) { $milieu = ($a+$b) / 2; if(f($milieu)<0) { $a=$milieu; } else { $b=$milieu; } $pas = abs($b-$a); }

2006/2007 Denis Cabasson – Programmation Web Structures de contrôle : do / while do instruction while (expression); $i = 0; do { print $i; } while ($i>0);

2006/2007 Denis Cabasson – Programmation Web Structures de contrôle : for for (expr1; expr2; expr3) instruction for (expr1; expr2; expr3): instructions...; endfor; for ($i = 1; $i <= 10; $i++) { print $i; }

2006/2007 Denis Cabasson – Programmation Web Structures de contrôle : foreach foreach(tableau as $value) instructions $a = array (1, 2, 3, 17); foreach ($a as $v) { print "Valeur courante de \$a: $v.\n"; }

2006/2007 Denis Cabasson – Programmation Web Structures de contrôle : switch Remplace une suite de if switch ($i) { case 0: print "i égale 0"; break; case 1: print "i égale 1"; break; case 2: print "i égale 2"; break; }

2006/2007 Denis Cabasson – Programmation Web Structures de contrôle : break / continue break : pour sortir dune boucle for ($i = 1;;$i++) { if ($i > 10) break; print $i; } continue : passer à litération suivante $i = 0; while ($i++ < 5) { if (($i % 2) == 0) continue; print $i; }

2006/2007 Denis Cabasson – Programmation Web Structures de contrôle : include La fonction include() inclus et évalue le fichier spécifié en argument (au niveau de interpréteur PHP) include(« file.inc.php »); include(« connexion.php »);

2006/2007 Denis Cabasson – Programmation Web Fonctions / Classes : Fonction Déclaration dune fonction function foo ($arg_1, $arg_2,..., $arg_n) { echo "Exemple de fonction.\n"; return $retval; } Autant darguments que nécessaire Une seule valeur de retour Toutes les variables sont locales à la méthode (y compris les arguments)

2006/2007 Denis Cabasson – Programmation Web Fonctions / Classes : valeur par défaut On peut préciser les valeurs par défaut : function servir_apero ($type = "ricard") { return "Servir un verre de ".$type.".\n"; } echo servir_apero(); echo servir_apero("whisky");

2006/2007 Denis Cabasson – Programmation Web Fonctions / Classes : Classes Une classe est une collection de variables et de fonctions qui fonctionnent avec ces variables. Permettent une bonne organisation du code en vue de sa réutilisation Héritage avec extends

2006/2007 Denis Cabasson – Programmation Web class Caddie { var $date_du_jour; var $items; function Caddie() { $this->date_du_jour = date("d/m/Y"); $this->item = array() } function add_item ($artnr, $num) { $this->items[$artnr] += $num; } $cart = new Caddie; $cart->add_item("10", 1); $another_cart = new Caddie; $another_cart->add_item("0815", 3);

2006/2007 Denis Cabasson – Programmation Web Interaction avec lutilisateur : Formulaires Transmises dans la requête HTTP Variables globales $_POST et $_GET (selon le mode dappel à la page) : echo $_GET[var1'];

2006/2007 Denis Cabasson – Programmation Web Interaction avec lutilisateur : Cookies Permet le stockage dinformations sur le client (implémentation décrite dans HTTP) $_COOKIE contient les valeurs des variables Problème de sécurité Stockage sur le long terme (détecter les navigateurs étant déjà venus)

2006/2007 Denis Cabasson – Programmation Web Interaction avec lutilisateur : Sessions Variables stockées coté serveur ($_SESSION) Un client est identifié comme un navigateur durant une plage de temps donnée session_start(); if (!isset($_SESSION['compteur'])) { $_SESSION['compteur'] = 0; } else { $_SESSION['compteur']++; }

2006/2007 Denis Cabasson – Programmation Web Interaction avec une base de données mysql_connect – Connexion à un gestionnaire de bases de données mysql_select_db – Choix de la base de données $link = mysql_connect("mysql_hote", "mysql_utilisateur", "mysql_mot_de_passe") or die("Impossible de se connecter"); echo "Connexion réussie"; mysql_select_db("my_database") or die(« Impossible de selectionner la base");

2006/2007 Denis Cabasson – Programmation Web Interaction avec une base de données mysql_query – Exécution dune requête SQL $query = "SELECT * FROM my_table"; $result = mysql_query($query) or die(" Echec de la requête");

2006/2007 Denis Cabasson – Programmation Web Interaction avec une base de données mysql_fetch_assoc – parcours du résultat echo " \n"; while ($line = mysql_fetch_assoc($result)) { echo "\t \n"; foreach ($line as $col_value) { echo "\t\t $col_value \n"; } echo "\t \n"; } echo " \n";

2006/2007 Denis Cabasson – Programmation Web Interaction avec une base de données mysql_free_result – fermeture dun résultat mysql_close – fermeture dune connexion mysql_free_result($result); mysql_close($link);

2006/2007 Denis Cabasson – Programmation Web Bibliothèque : Variables isset -- Savoir si la variable est affectée unset -- Désaffecter une variable settype (string var, string type) -- typer une variable gettype -- récupérer le type is_array, is_integer, is_string.. -- test sur le type

2006/2007 Denis Cabasson – Programmation Web Bibliothèque : Mathématiques Abs -- Valeur absolue Sin, Cos, ACos, Tan.. Ceil, Floor, Round -- Arrondis Log, Log10, exp -- Logarithme & Exponentielle max, min -- renvoie le min ou le max dun tableau pi -- Retourne la valeur de pi Sqrt -- Racine carrée. srand, rand -- génération dun nombre aléatoire Number_format -- Formatage de nombres

2006/2007 Denis Cabasson – Programmation Web Bibliothèque : Date - Time time -- Retourne le timestamp UNIX actuel (nombre de secondes depuis le 1/1/1970) date -- Formate une date/heure locale getdate -- Retourne la date/heure (sous forme de tableau associatif) checkdate -- Valide une date/heure

2006/2007 Denis Cabasson – Programmation Web Bibliothèque : Chaines de caractères explode -- Scinde une chaîne en morceaux, grâce à un délimiteur. (opposé : join ) ucfirst -- Force le premier caractère d'une chaîne en majuscule. strtolower -- Met tous les caractères en minuscules. (opposé : strtoupper ) substr -- Retourne une partie de la chaîne. strpos -- Recherche la première occurrence d'un caractère dans une chaîne. trim -- Enlève les espaces de début et de fin de chaîne

2006/2007 Denis Cabasson – Programmation Web Bibliothèque : Accès aux fichiers opendir, readir, chdir, closedir -- accès aux repertoires is_dir, is_file, is_readable, is_writable -- tests file, fopen -- ouverture dun fichier ou dune URL mkdir, unlink, chmod -- modification paramètres du fichier

2006/2007 Denis Cabasson – Programmation Web Bibliothèque : manipulation de tableaux array Crée un tableau array_push, array_unshift, array_pop, array_shift -- modification sur les tableaux array_merge Fusionne un ou plusieurs tableaux array_keys, array_values Retourne toutes les clés (valeurs) d'un tableau array_walk Exécute une fonction sur chacun des éléments d'un tableau in_array Indique si une valeur appartient à un tableau asort, arsort, ksort, usort, uksort, shuffle – Tri reset, next, prev, end, current -- description du tableau compact, extract -- transfert tableau-variable