Algorithmique et développement web S2 1. Introduction

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

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

Programmation Web. Madalina Croitoru IUT Montpellier

HTML. Notions générales

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

Cours d algorithmique pour la classe de 2nde

1. La plate-forme LAMP

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

CREATION WEB DYNAMIQUE

Les outils de création de sites web

RÉALISATION D UN SITE DE RENCONTRE

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

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

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

Module BD et sites WEB

LE CONCEPT DU CMS CHAPITRE 1

Mise à jour : Octobre 2011

Programmation Web. Introduction

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

FTP : File TRansfer Protocol => permets d envoyer des gros fichiers sur un serveur (ou de télécharger depuis le serveur)

HMTL. Exemple de fichier HTML. Structure d un document HTML. Exemple de fichier HTML. Balises HTML. IFT1147 Programmation Serveur Web avec PHP

Création d'un site dynamique en PHP avec Dreamweaver et MySQL

Web Site Story Etude, développement et valorisation de votre présence internet

1 Introduction et installation

Introduction aux concepts d ez Publish

RESUME DE CARRIERE. Alice JULIENNE. 23 ans Nationalité Française Développeur Web Front-End. Compétences

TP1. Outils Java Eléments de correction

Tutoriel Drupal version 7 :

Mysql avec EasyPhp. 1 er mars 2006

Pratique et administration des systèmes

Formulaire pour envoyer un mail

Initiation à html et à la création d'un site web

Mise en œuvre des serveurs d application

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

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

Architectures web/bases de données

1 ère Université WEB. Courbevoie Samedi 21 octobre Votre site interactif sur internet.

Représentation d un entier en base b

L informatique en BCPST

Tous les autres noms de produits ou appellations sont des marques déposées ou des noms commerciaux appartenant à leurs propriétaires respectifs.

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

FORMATION / CREATION DE SITE WEB / 4 JOURNEES Sessions Octobre 2006

Présentation du Framework BootstrapTwitter

Programmation Internet Cours 4

TP JAVASCRIPT OMI4 TP5 SRC

Hébergement de site web Damien Nouvel

Petit lexique de calcul à l usage des élèves de sixième et de cinquième par M. PARCABE, professeur au collège Alain FOURNIER de BORDEAUX, mars 2007

Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

PHP 5.4 Développez un site web dynamique et interactif

Préface des auteurs 17. Àpropos decelivre 19. Introduction 21

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

Bernard Lecomte. Débuter avec HTML

Évaluation et implémentation des langages

STID 2ème année : TP Web/PHP

Installation et Mise en œuvre de MySQL

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

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

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

Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

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

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

Remote Cookies Stealing SIWAR JENHANI (RT4) SOUHIR FARES (RT4)

Formation : WEbMaster

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

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

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

Ecrire pour le web. Rédiger : simple, concis, structuré. Faire (plus) court. L essentiel d abord. Alléger le style. Varier les types de contenus

THEME PROJET D ELABORATION D UNE BASE DE DONNEES SOUS LE SERVEUR MYSQL

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

Serveur d Applications Web : WebObjects

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

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

< Atelier 1 /> Démarrer une application web

TP réseaux 4 : Installation et configuration d'un serveur Web Apache

CREATION d UN SITE WEB (INTRODUCTION)

TIC. Réseau informatique. Historique - 1. Historique - 2. TC - IUT Montpellier Internet et le Web

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

Guide d installation de Gael

CMS Made Simple Version 1.4 Jamaica. Tutoriel utilisateur Récapitulatif Administration

TP Service HTTP Serveur Apache Linux Debian

FileMaker Server 12. publication Web personnalisée avec XML

Pour les débutants. langage de définition des données

Modélisation PHP Orientée Objet pour les Projets Modèle MVC (Modèle Vue Contrôleur) Mini Framework

Développement des Systèmes d Information

HTML, CSS, JS et CGI. Elanore Elessar Dimar

Note de synthèse. Développement web sur le CMS Prestashop. Stage du 17 mai au 25 juin Entreprise decoratzia.com 15 rue Erlanger Paris

Conversion d un entier. Méthode par soustraction

Les Bases. Messaoudi Khaled, Boukelal Hanane (Etudiants Informatique ) 2015.

Déroulement. Evaluation. Préambule. Définition. Définition. Algorithmes et structures de données 28/09/2009

Fascicule 1.

Pack Fifty+ Normes Techniques 2013

Gestion Électronique de Documents et XML. Master 2 TSM

Quelques algorithmes simples dont l analyse n est pas si simple

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

Transcription:

Algorithmique et développement web S2 1. Introduction Christophe BLANC IUT MMI IUT d Allier Université Clermont Auvergne www.christophe-blanc.fr 2016-2017 1 / 31

Notion d algorithme (rappel) Un algorithme est une suite d instructions qui une fois exécuté correctement conduit à la résolution d un problème en un nombre fini d étapes. A partir de données, les entrées de l algorithme, on va donc parvenir à un résultat, la sortie. Un algorithme doit contenir uniquement des instructions compréhensibles par celui qui devra l exécuter 2 / 31

Notion d algorithme (rappel) Exemple : recette de cuisine Problème : comment faire de la tarte à la bière? Résolution : Etaler de la pate brisée dans un plat Verser 2l de bière dans la pâte Passer 1 min au micro-onde Déguster La maîtrise de l algorithmique requiert deux qualités : intuition méthodique et rigoureux : il faut systématiquement se mettre mentalement à la place de la machine qui va exécuter la série d instructions que vous avez écrite. 3 / 31

Notion d algorithme (rappel) Origine du mot algorithme Le mot algorithme vient du nom du mathématicien perse Abu Abdullah Muhammad ibn Musa al-khwarizmi (9 ème siècle après Jésus Christ). Son nom a ensuite été latinisé au Moyen Age en algoritmi. Origine du mot algorithme ne veut pas dire origine du principe. On écrivait des algorithmes dès l antiquité comme nous allons le voir sur des exemples. 4 / 31

Notion d algorithme (rappel) Algorithme de calculs d intérêts (1800 avant J.-C.) Problème : trouver en combien d années on double un montant soumis à un certain taux annuel. Résolution : ➀ Initialiser le taux t à la valeur voulue, a à 0 et b à 1 ➁ Tant que b < 2, remplacer b par b (1 + t) et ajouter 1 à a. ➂ La valeur finale de a est le nombre d années cherché. a b 0 1 1 1.2 2 1.44 3 1.728 4 2.0736 il faut 4 ans 5 / 31

Notion d algorithme (rappel) Algorithme de multiplication égyptienne (1650 avant J.-C.) Problème : multiplier deux entiers a et b. Résolution : ➀ Décomposer a comme somme de puissances de 2. ➁ Calculer les puissances de 2, 4, 8, etc. de b. ➂ Additionner les puissances de b qui correspondent aux puissances de 2 trouvées dans a. 2 n a = 25 b = 14 1 1 14 2 0 28 4 0 56 8 1 112 16 1 224 a b = 14 + 112 + 224 = 350 6 / 31

Notion d algorithme (rappel) Algorithme d Euclide (300 avant JC) Problème : trouver le PGCD de deux entiers a et b. Résolution : ➀ Si b est non nul, diviser a par b.on note r le reste de cette division euclidienne. ➁ Remplacer a par b et b par r. ➂ Recommencer tant que cela est possible à partir de l étape 1. ➃ Le PGCD est alors la dernière valeur non nulle de r. a b r 142 38 28 38 28 10 28 10 8 10 8 2 8 2 0 PGCD(142,38)=2 7 / 31

Notion d algorithme (rappel) En informatique, les instructions d un algorithme seront bien sûr à destination d un ordinateur. Pour qu elles soient compréhensibles par ce dernier, elles doivent évidemment être écrites dans ce que l on appelle un langage de programmation. Celui-ci sera lui même traduit par un compilateur en langage machine ou exécuté par un interpréteur. 8 / 31

Notion d algorithme (rappel) Avant l étape d écriture du programme, on peut/doit concevoir l algorithme en lui même de façon non formelle, en version papier. Problème Algorithme Programme L algorithme contient la réflexion, l abstraction du programme. Ce dernier pouvant être complexifié par des contraintes techniques. 9 / 31

Notion d algorithme (rappel) Les ordinateurs ne sont fondamentalement capables de comprendre que quatre catégories d ordres (en programmation, on n emploiera pas le terme d ordre, mais plutôt celui d instructions). Ces quatre familles d instructions sont : l affectation de variables la lecture / écriture les tests les boucles Un algorithme informatique se ramène donc toujours au bout du compte à la combinaison de ces quatre petites briques de base. Il peut y en avoir quelques unes, quelques dizaines, et jusqu à plusieurs centaines de milliers dans certains programmes de gestion. Cependant, la taille d un algorithme ne conditionne pas en soi sa complexité : de longs algorithmes peuvent être finalement assez simples, et de petits très compliqués. 10 / 31

Notion d algorithme (rappel) Nous n adopterons pas dans ce cours de syntaxe formalisée des algorithmes, chacun les rédigera pour lui-même dans l unique but de structurer ses idées. On peut même tout à fait imaginer faire des schémas en guise d algorithme. 11 / 31

Notion d algorithme Exemple : l algorithme de calculs d intérêts deviendra le programme suivant en PHP $t =0.2; $a =0; $b =1; while ( $b < 2) { $b=$b *(1+ $t ); $a=$a +1; } echo "Il faut ".$a." ans "; 12 / 31

Bref historique PHP : Personal Home Page Conçu en 1994 par Rasmus Lerdorf pour ces besoins personnels Première publication du code en 1995 Utilisé par 244 millions de sites Web à travers le monde 82% de part de marché en 2016 Actuellement : version 7.1 (décembre 2016) 13 / 31

Qu est ce que le PHP? PHP est un langage de script (multi plateforme, libre, gratuit) qui s exécute côté serveur Le résultat de cette exécution est intégré dans une page HTML qui est envoyée au navigateur. Ce dernier n a aucune connaissance de l existence du traitement qui s est déroulé sur le serveur. Cette technique permet de réaliser des pages Web dynamiques dont le contenu peut être complétement ou partiellement généré au moment de l appel de la page, grâce à des informations récupérées dans un formulaire ou extraites d une base de données. 14 / 31

Fonctionnement Lorsqu un visiteur demande à consulter une page de site internet, son navigateur envoie une requête au serveur HTTP correspondant. Si la page est identifiée comme un script PHP (généralement grâce à l extension.php), le serveur appelle l interprète PHP qui va traiter et générer le code final de la page (constitué généralement d HTML ou de XHTML, mais aussi souvent de feuilles de style en cascade et de JS). Ce contenu est renvoyé au serveur HTTP, qui l envoie finalement au client. 15 / 31

Outils : plateformes Plateforme : système d exploitation + serveur HTPP + langage serveur + SGBD. Pour PHP : WAMP (Windows Apache MySQL PHP), MAMP (Mac OS Apache MySQL PHP), LAMP (Linux Apache MySQL PHP) Une plateforme WAMP s installe généralement par le biais d un seul logiciel qui intègre Apache, MySQL, PHP : par exemple EasyPHP 16 / 31

Exemple : Hello World! <HTML > <HEAD > < TITLE > Exemple de page PHP </ TITLE > </HEAD > <BODY > echo " Bonjour MMI!"; </BODY > </HTML > TD1 : à tester 17 / 31

Structure de base d une page PHP Les balises (tags) PHP Le code PHP est inclus dans une page HTML (extension.php) à l intérieur de balises (aussi appelées tags). Les instructions PHP se situent entre les balises :...? > <?...? > < script language =" php ">... </ script > : obsolète <%... %> : obsolète 18 / 31

Structure de base d une page PHP Les balises (tags) PHP <HTML > echo " Bonjour MMI1!"; <BR /> <? echo " Bonjour MMI2!"; </HTML > TD1 : à tester 19 / 31

Structure de base d une page PHP La fonction echo Elle permet d afficher une ou plusieurs chaînes de caractères et donc d inclure du texte dans la page HTML envoyée au navigateur. Syntaxe : echo ( chaine1 ); echo chaine1,..., chainen ; La première syntaxe n accepte qu un paramètre alors que la deuxième en accepte plusieurs. <HTML > echo " Bonjour MMI1!"; echo " Bonjour ", " MMI2!"; </HTML > 20 / 31

Structure de base d une page PHP La fonction echo Il n y a pas de saut de ligne automatique. En cas de besoin, il est donc nécessaire d insérer la balise HTML <BR/> qui provoque un saut de ligne. <HTML > echo " Bonjour MMI1!"; <BR/> <? echo " Bonjour ", " MMI2!"; </HTML > TD1 : à tester 21 / 31

Structure de base d une page PHP La fonction echo Le texte passé en paramètre à la fonction echo peut être écrit sur plusieurs lignes dans le source mais il est affiché sur une seule dans le résultat : <HTML > echo " Bonjour MMI1!"; </HTML > 22 / 31

Structure de base d une page PHP Le séparateur d instructions En PHP, toutes les instructions doivent se terminer par un point-virgule. <HTML > echo " Bonjour "; echo " MMI!"; </HTML > <HTML > echo " Bonjour " echo " MMI!"; </HTML > 23 / 31

Structure de base d une page PHP Les commentaires Commentaire sur une seule ligne : <HTML > // Commentaire sur une seule ligne </HTML > Commentaire sur plusieurs lignes : <HTML > /* Commentaire sur plusieurs lignes */ </HTML > Non visible par l utilisateur (au contraire des commentaires html) 24 / 31

Structure de base d une page PHP Les commentaires <html > </html > <head > </head > <body > </body > <title >Ma page </ title > <!-- Commentaire HTML --> // Ceci est un commentaire /* Cela aussi! */ 25 / 31

Structure de base d une page PHP Les commentaires Résultat retourné au client : <html > </html > <head > </head > <body > </body > TD1 : retrouver ce résultat <title >Ma page </ title > <!-- Commentaire HTML --> 26 / 31

Structure de base d une page PHP Mixer du PHP et de l HTML Les différentes approches pour mixer du PHP et de l HTML reposent sur deux principes très simples : La page peut contenir une ou plusieurs inclusion(s) de code PHP. Le code PHP génère du texte qui est intégré dans la page HTML envoyée au navigateur. Tout texte compréhensible par le navigateur peut donc être généré par le code PHP : du texte simple, du code HTML, du code JavaScript... Les exemples qui suivent utilisent des variables et des fonctions PHP (récupération de la date et l heure). Ces notions sont présentées plus en détail dans le prochain chapitre. 27 / 31

Structure de base d une page PHP Mixer du PHP et de l HTML // declaration de variables utilisees plus loin // cette section ne genere pas de sortie dans la page HTML $nom =" Ludovic "; $titre = " Les editions TARTANPION presentent... "; $aujourdhui = date ("d/m/y"); $heure = date ("H:i:s"); <html > <head > <title > echo $titre ;</ title > </head > <body > echo " Bonjour <B>$nom </B>! </BR>"; echo " Nous sommes le $aujourdhui ; il est $heure."; </body > </html > TD1 : analyser le source de la page dans le navigateur 28 / 31

Structure de base d une page PHP Mixer du PHP et de l HTML // declaration de variables utilisees plus loin // cette section ne genere pas de sortie dans la page HTML $nom =" Ludovic "; $titre = " Les editions TARTANPION presentent... "; $aujourdhui = date ("d,m,y"); $heure = date ("H:i:s"); echo "<html >"; echo "<head >"; echo "<title >$titre </ title >"; echo " </head >"; echo "<body >"; echo " Bonjour <B>$nom </B>! </BR>"; echo " Nous sommes le $aujourdhui ; il est $heure."; echo " </body >"; echo " </html >"; TD1 : analyser le source de la page dans le navigateur 29 / 31

Structure de base d une page PHP Informations sur la configuration de PHP PHP propose deux fonctions particulièrement utiles pour obtenir des informations sur la configuration : phpversion et phpinfo. Exemple 1 : echo phpversion (); Exemple 2 : phpinfo (); TD1 : à tester 30 / 31

Règle de nommage Toute entité PHP nommée (variable, constante, fonction,...) doit avoir un nom qui respecte les règles suivantes : commencer par une lettre ou un souligné suivi de lettres, chiffres ou soulignés Ici, une lettre peut être a-z, A-Z, et les octets de 127 à 255 (code ascii). Les caractères accentués sont donc autorisés, mais pas les caractères du type #$%& qui ont une signification spéciale dans le langage PHP. $this est une variable spéciale qui ne peut pas être assignée. 31 / 31