Programmation Web. Madalina Croitoru IUT Montpellier



Documents pareils
NFA016 : Introduction. Pour naviguer sur le Web, il faut : Naviguer: dialoguer avec un serveur web

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

Développement des Systèmes d Information

les techniques d'extraction, les formulaires et intégration dans un site WEB

Technologies Web. Ludovic Denoyer Sylvain Lamprier Mohamed Amine Baazizi Gabriella Contardo Narcisse Nya. Université Pierre et Marie Curie

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES

Les grandes facettes du développement Web Nicolas Thouvenin - Stéphane Gully

Formation : WEbMaster

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

INFORMATIQUE & WEB. PARCOURS CERTIFICAT PROFESSIONNEL Programmation de sites Web. 1 an 7 MODULES. Code du diplôme : CP09

Petite définition : Présentation :

Hébergement de site web Damien Nouvel

CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN ING

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s

Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage

Mise en œuvre des serveurs d application

Les sites Internet dynamiques. contact : Patrick VINCENT pvincent@erasme.org

Echosgraphik. Ce document sert uniquement à vous donner une vision sur ma manière de travailler et d appréhender un projet

TP JAVASCRIPT OMI4 TP5 SRC

Optimiser les performances d un site web. Nicolas Chevallier Camille Roux

AJAX. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada

Gestion du parc informatique matériel et logiciel de l Ensicaen. Rapport de projet. Spécialité Informatique 2 e année. SAKHI Taoufik SIFAOUI Mohammed

Module BD et sites WEB

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

Programmation Internet Cours 4

TP 1. Prise en main du langage Python

Devenez un véritable développeur web en 3 mois!

Hébergement de sites Web

XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition)

TP JEE Développement Web en Java. Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web.

10. Base de données et Web. OlivierCuré

Programmation Web. Introduction

HTML. Notions générales

Langage HTML (2 partie) <HyperText Markup Language> <tv>lt La Salle Avignon BTS IRIS</tv>

3W Academy Programme de Formation Développeur Intégrateur web Total : 400 heures

Architecture Orientée Service, JSON et API REST

«Clustering» et «Load balancing» avec Zope et ZEO

L3 informatique TP n o 2 : Les applications réseau

PHP 5.4 Développez un site web dynamique et interactif

Principales failles de sécurité des applications Web Principes, parades et bonnes pratiques de développement

Application Web et J2EE

Bien programmer. en Java ex. couleur. Avec plus de 50 études de cas et des comparaisons avec C++ et C# Emmanuel Puybaret.

Les outils de création de sites web

BES WEBDEVELOPER ACTIVITÉ RÔLE

DOM - Document Object Model

HTTP. Technologies du Web. Programmation Web côté serveur. Mastère spécialisé Management et nouvelles technologies, 16 novembre 2009

Méthode de Test. Pour WIKIROUTE. Rapport concernant les méthodes de tests à mettre en place pour assurer la fiabilité de notre projet annuel.

Informatique & Systèmes de Communication. Stages de 12 à 16 semaines aux Etats-Unis

Glossaire. ( themanualpage.org) soumises à la licence GNU FDL.

Diffuser un contenu sur Internet : notions de base... 13

SYSTÈMES DE PUBLICATION POUR L INTERNET. Beatep Marie-France Landréa - Observatoire de Paris

L envoi d un formulaire par courriel. Configuration requise Mail Texte Mail HTML Check-list

CAHIER DES CLAUSES TECHNIQUES PARTICULIÈRES (CCTP) MISE EN PLACE ET MAINTENANCE D UN MOTEUR DE RECHERCHE

Agence Web innovatrice

Formation Webmaster : Création de site Web Initiation + Approfondissement

Développeur - Conseiller - Formateur web

FileMaker Server 11. Publication Web personnalisée avec XML et XSLT

novatis Agence Web innovatrice

Dans nos locaux au 98 Route de Sauve NÎMES. Un ordinateur PC par stagiaire, scanner, imprimante/copieur laser couleur

Point sur les solutions de développement d apps pour les périphériques mobiles

Introduction. PHP = Personal Home Pages ou PHP Hypertext Preprocessor. Langage de script interprété (non compilé)

Bureautique Initiation Excel-Powerpoint

Programme ASI Développeur

Activité sur Meteor. Annexe 1 : notion de client-serveur et notion de base de données

Architectures web/bases de données

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

LEA.C5. Développement de sites Web transactionnels

Quel logiciel DE CRM choisir pour votre force de vente terrain?

Introduction à MATLAB R

Comparatif CMS. Laurent BAUREN S Bérenger VIDAL Julie NOVI Tautu IENFA

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

webmestre : conception de sites et administration de serveurs web 42 crédits Certificat professionnel CP09

Présentation du Framework BootstrapTwitter

4. SERVICES WEB REST 46

Bien architecturer une application REST

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :

Créer et animer une boutique en ligne avec Wordpress (environnement PC et MAC)

Démonstration de la mise en cache via HTML 5 sur iphone

Failles XSS : Principes, Catégories Démonstrations, Contre mesures

Surveiller et contrôler vos applications à travers le Web

Joomla! Création et administration d'un site web - Version numérique

Utilisation de Jakarta Tomcat

Éléments de programmation et introduction à Java

Document Object Model (DOM)

STAGE IREM 0- Premiers pas en Python

Le stockage local de données en HTML5

PHP et mysql. Code: php_mysql. Olivier Clavel - Daniel K. Schneider - Patrick Jermann - Vivian Synteta Version: 0.9 (modifié le 13/3/01 par VS)

Stockage du fichier dans une table mysql:

1.2 - Définition Web 2.0 ( wikipedia )

Autour du web. Une introduction technique Première partie : HTML. Georges-André SILBER Centre de recherche en informatique MINES ParisTech

WordPress : principes et fonctionnement

Pratique et administration des systèmes

FileMaker Server 12. publication Web personnalisée avec XML

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Les 10 étapes incontournables pour réaliser un site internet performant et accessible

Présentation du langage et premières fonctions

Transcription:

Programmation Web Madalina Croitoru IUT Montpellier

Organisation du cours 4 semaines 4 ½ h / semaine: 2heures cours 3 ½ heures TP Notation: continue interrogation cours + rendu à la fin de chaque séance de TP + projet final Transparents du cours et feuilles de TP disponibles chaque semaine sur www.lirmm.fr/~croitoru Questions: croitoru@lirmm.fr

Quelques règles Cours: à tout moment interrompre en cas de questions Cours: pas des discussions entre étudiants TP: discussions entre étudiants fortement encouragées TP: chaque personne est notée individuellement

Le Web avant 1990

Conception de sites Web avant 1990 1991: l année où le protocole HTTP (Hyper Text Transfer Protocol) a été inventé HTTP: envoyer des données au travers d Internet Dernière version de HTTP HTTP 1.1 apparue en 1999 Quand vous demandez une page web en utilisant votre navigateur HTTP est naturellement supposé: Web browser: client Serveur (Apache - C, Tomcat - Java, Zope - Python, Mongrel - Ruby)

Simple requête HTTP 1. Le client demande la page index.html via HTTP Utilisateur Poste client 2. Le serveur répond en renvoyant les contenus de index.html Serveur Web

Transaction HTTP Se produit toujours à partir du client Web vers un serveur Web Le logiciel faisant la requête: le navigateur Web: GET POST HEAD CONNECT TRACE etc etc Le logiciel répondant à la demande: le serveur Web

Demandes Web Ces données peuvent être construites dynamiquement sur le serveur Web (ex. données issues d une base de données) En plus, les données peuvent contenir bien plus que du contenu HTML, permettant au client d exécuter d autres fonctions qu afficher simplement un contenu de pages statiques

Le Web aujourd'hui

Technologies du Web Technologies orientées Serveur: génération des pages a la volée Technologies orientées Client: choses plus sophistiquées que l affichage statique

Technologies orientées côté Serveur Travail avec une base de données, manipulations des données etc. PHP ASP.NET: http://www.asp.net/ Perl: http://www.perl.org/ ColdFusion: http://www.adobe.com/products/coldfusion/ Ruby on Rails: http://rubyonrails.org/

PHP: un langage de script 1. Le client demande une page PHP 2. Le serveur exécute la page PHP et construit la réponse en HTML Utilisateur Poste client 3. Réponse contenant du HTML qui sera affichée par le navigateur de l utilisateur Serveur Web

PHP Sur le serveur habituellement associé à un serveur de base de données pour pouvoir gérer les données MySQL Même si PHP peut élaborer des réponses complexes (bases de données, manipulations etc.) le navigateur peut seulement afficher une page statique

Techniques orientées Client Chargées et exécutées par le client Web JavaScript: langage de script démarqué dans les pages HTML pour les rendre plus fonctionnelles Validation formulaire côté client (oubli de fournir tous les détails, format incorrect d adresse email etc.) Affichage non statique Autres technologies: Applets Java Macromedia Flash

HTML, JavaScript et PHP 1. Le client utilise JavaScript pour prétraitements 2. Le client demande une page PHP 3. Le serveur exécute les «processing instructions» PHP et construit la réponse en HTML Utilisateur Poste client 4. Réponse contenant du HTML et JavaScript qui sera affichée par le navigateur de l utilisateur Serveur Web

AJAX Asyncronous JavaScript and XML Amène plus de puissance dans JavaScript: offre une technique au client, orientée JavaScript, pour faire des appels en tâche de fond au serveur On met à jour certaines parties de la page sans causer de rechargement complet de celle-ci

AJAX Le client demande une page PHP Réponse contenant du HTML et JavaScript Utilisateur Poste client JavaScript fait un appel non visible au serveur Serveur Web Le serveur répond en envoyant la donnée JavaScript met a jour la page en utilisant cette donnée

Sans AJAX: formulaire Web Demande à l utilisateur de saisir des informations (nom, adresse, mot de passe) Laisser l utilisateur saisir toutes les informations Vérification (minimale) avec JavaScript (format email etc.) Envoyer la page, attendre, et réaliser la validation sur le serveur

Avec AJAX formulaire Web L application web peut valider les données entrées en permettant des appels servis en tâche de fond: Après que l utilisateur a sélectionné le pays, le navigateur web appelle le serveur pour charger a la volée la liste des villes de ce pays Exemples: Google Suggest Google Maps etc.

A quoi servent les standards du Web? HTML des années 1990 : Balisage mêlant forme et fond Emploi inapproprié de CSS Surabondance d éléments div ou class superflus etc. Conséquences: Faute d une utilisation intelligente de CSS et de JavaScript les pages sont beaucoup trop lourdes L apparence des pages est difficile à modifier globalement et sensible aux navigateurs Accessibilité réduite (non-voyants, malvoyants, etc.)

A quoi servent les standards du Web? Bénéfices: Site séparant clairement le contenu (XHTML) de la forme (CSS) et du comportement (JavaScript): Réutilisable Plus léger Utilisation appropriée des CSS: vue adaptée de la page pour de nombreux: Usages Périphériques

Dans ce cours 1. Rappel: (X)HTML, CSS, PHP, MySQL 2. XML et DOM 3. JavaScript et AJAX 4. Web Sémantique

TP But final: réaliser un jeux en ligne (de votre choix) Travail en groupe (max 3 étudiants) Chaque semaine: rajouter des fonctionnalités travail noté (50% note finale) 1. (X)HTML, CSS, PHP 2. XML / DOM 3. JavaScript / AJAX Dernière semaine chaque groupe présente l ensemble de son travail (50% note finale)

Rappel PHP

Langage immergé dans les documents Prévu pour être intégré directement dans les documents (XHTML, XML) Dans un fichier on distingue: Informations re la page XHMTL, document XML Code PHP processing instructions Début de code PHP marque par <?php et le fin marque par?>

Standards Web

example.php <html> <?php print Ceci n est pas un example </br> ;?> </html>

Une syntaxe simple Les instructions sont séparées par ; Le langage n est pas sensible a la casse des caractères Les variables sont désignées par leur nom, précède du symbole $ et Php n est pas typé Il n est pas nécessaire de déclarer les variables (cela reste possible avec l instruction var) Commentaires peuvent être introduits sur une seule ligne avec // ou sur plusieurs lignes avec /* et */

Expressions Les operateurs logiques sont: == pour la comparaison && pour le «et» logique pour le «ou» logique Les instructions sont le plus souvent perçues comme des expressions et peuvent être intégrées dans les expressions plus complexes

Nombres et caractères PHP propose les types élémentaires: booléens, nombres, chaine de caractères TOUS ces types peuvent être manipulés comme des chaines de caractères (conversion transparente) true et false peuvent implicitement être convertis en 1 et 0 Les chaines d caractères sont représentées soit entre soit entre. On préfère. Concatenage de chaines des caractères avec. On accède a chaque caractère d une chaine en utilisant les {} ($valeur{2} le résultat est une nouvelle chaine de caractères)

Tableaux PHP permet de créer des tableaux associatifs dynamiques et multidimensionnels Pas nécessaire de déclarer un tableau: l affectation d un élément provoque la création implicite d un tableau et son stockage dans la variable: $a[6]=7; \\ un tableau d un seul élément dont la cle d accès est 6 $a[9][ couleur ]= rouge ; \\ ajouter des dimensions - $a[9] est un tableau Representation texte d un tableau: print_r() et var_dump()

Les structures de contrôle if et if-else: if ($i==0).; else.; switch: switch($i){case 3 :... ; case foo ; break; default: ; for ($i=0; $i<10, $i++) { }; $i = 0; while ($i < 10) {$i++;}; ON PEUT SORTIR DU MODE PHP A TOUT MOMENT POUR REENIR AU CONTENU STATIQUE: <?php for($i=0; $i<10; $i++){?> <tr><td><?php print ``$i ;?></td></tr> <?php }?>