Cours 4 Programmation web, orientée serveur

Documents pareils
INTRODUCTION A JAVA. Fichier en langage machine Exécutable

TP1. Outils Java Eléments de correction

Cours 1: Java et les objets

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)

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

Pratique et administration des systèmes

TP, première séquence d exercices.

Programmation Web. Madalina Croitoru IUT Montpellier

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

Java Licence Professionnelle CISII,

ACTIVITÉ DE PROGRAMMATION

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

Java DataBaseConnectivity

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

Généralités sur le Langage Java et éléments syntaxiques.

as Architecture des Systèmes d Information

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

Remote Method Invocation (RMI)

Programme Compte bancaire (code)

CREATION WEB DYNAMIQUE

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

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

Module BD et sites WEB

Programmation Internet Cours 4

Introduction à JDBC. Accès aux bases de données en Java

Utilisation d objets : String et ArrayList

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

Projet de programmation (IK3) : TP n 1 Correction

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

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp

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

Corrigé des exercices sur les références

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

Hébergement de site web Damien Nouvel

Sécurité des sites Web Pas un cours un recueil du net. INF340 Jean-François Berdjugin

Stockage du fichier dans une table mysql:

Java et les bases de données

TD3: tableaux avancées, première classe et chaînes

OpenPaaS Le réseau social d'entreprise

Licence Bio Informatique Année Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...

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

RÉALISATION D UN SITE DE RENCONTRE

Java c est quoi? Java. Java. Java : Principe de fonctionnement 31/01/ Vue générale 2 - Mon premier programme 3 - Types de Programme Java

TP JAVASCRIPT OMI4 TP5 SRC

ALGORITHMIQUE ET PROGRAMMATION En C

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

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre Enrica.Duchi@liafa.jussieu.fr

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

Les solutions de paiement CyberMUT (Crédit Mutuel) et CIC. Qui contacter pour commencer la mise en place d une configuration de test?

INF 321 : mémento de la syntaxe de Java

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

PHP 5. La base de données MySql. A. Belaïd 1

Plan du cours. Historique du langage Nouveautés de Java 7

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

DOM - Document Object Model

Langage Java. Classe de première SI

Présentation du Framework BootstrapTwitter

Programmer en JAVA. par Tama

Cours d initiation à la programmation en C++ Johann Cuenin

Langage SQL (1) 4 septembre IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

Performance web. Mesurer. Analyser. Optimiser. Benjamin Lampérier - Benoît Goyheneche. RMLL Beauvais. 8 Juillet 2015

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

Cours Bases de données 2ème année IUT

Programmation Orientée Objets Le Langage JAVA

PHP et les Bases de données - Généralités

Algorithmique et Programmation, IMA

GER helpdesk permet de traiter et d optimiser la gestion de vos interventions au sein de chaque bureaux.

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

PHP. Bertrand Estellon. 26 avril Aix-Marseille Université. Bertrand Estellon (AMU) PHP 26 avril / 214

Java Licence Professionnelle CISII, Cours 2 : Classes et Objets

LMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr

AWS avancé. Surveiller votre utilisation d EC2

La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1

Mysql avec EasyPhp. 1 er mars 2006

Création d une application JEE

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

Tp 1 correction. Structures de données (IF2)

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

Les bases de l informatique et de la programmation. École polytechnique

Programmation Web. Introduction

Une introduction à Java

HTML. Notions générales

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

Java Licence Professionnelle Cours 7 : Classes et méthodes abstraites

Page 1 sur 5 TP3. Thèmes du TP : l la classe Object. l Vector<T> l tutorial Interfaces. l Stack<T>

Les outils de création de sites web

Mise en œuvre des serveurs d application

Bases de programmation. Cours 5. Structurer les données

Introduction au langage C

La programmation orientée objet Gestion de Connexions HTTP Manipulation de fichiers Transmission des données PHP/MySQL. Le langage PHP (2)

Programmation Web TP1 - HTML

BTS S.I.O PHP OBJET. Module SLAM4. Nom du fichier : PHPRévisionObjetV2.odt Auteur : Pierre Barais

Projet ISN - dossier réalisé par Randrianarimanana Stéphanie. Titre du projet : Site de rencontre. le nom de notre site de rencontre : Linkymeet

TP1 : Initiation à Java et Eclipse

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour

Transcription:

DUT MMI IUT de Marne-la-Vallée 01/03/2016 M2202 - Algorithmique Cours 4 Programmation web, orientée serveur Philippe Gambette

Sources phpdebutant.net www.php.net (documentation du langage PHP)

Préambule 1) les bases de PHP sont faciles même si on a eu du mal en algorithmique au premier semestre 2) c est accessible même aux futurs non intégrateurs/développeurs : il est important pour eux de maîtriser les bases de cette technologie Le speech d Oussama Ammar (The Family) à propos de la connaissance des technologies quand on monte sa start-up : https://youtu.be/u46m0szmcty?t=57m8s

Plan du cours 4 Programmation web, orientée serveur Concept de la programmation web, orientée serveur Syntaxe PHP

Plan du cours 4 Programmation web, orientée serveur Concept de la programmation web, orientée serveur Syntaxe PHP

Source des visuels : http://www.flaticon.com/free-icon/notebook-computer_65732 http://www.freepik.com/free-psd/simple-browser-with-icons-psd_715210.htm http://www.freepik.com/free-icon/three-servers_767466.htm http://www.freepik.com/free-icon/server_811738.htm

serveur

envoi de l URL 1 serveur

envoi de l URL 1 serveur

envoi de l URL 1 serveur

serveur

serveur récupération du fichier PHP 2 Avis.php

id=49319 3 envoi de la requête SQL serveur Avis.php

id=49319 3 envoi de la requête SQL serveur SELECT * FROM films WHERE id=49319 Avis.php

serveur base de données id=49319 3 envoi de la requête SQL SELECT * FROM films WHERE id=49319 Avis.php

serveur base de données note, titre, sortie, avis 4 réception du résultat de la requête SQL Avis.php

serveur base de données note, titre, sortie, avis 4 réception du résultat de la requête SQL Avis.php

serveur base de données note, titre, sortie, avis 4 réception du résultat de la requête SQL Avis.php

serveur base de données note, titre, sortie, avis 4 réception du résultat de la requête SQL Avis.php

serveur base de données note, titre, sortie, avis 4 réception du résultat de la requête SQL Avis.php

serveur base de données note, titre, sortie, avis 4 réception du résultat de la requête SQL Avis.php

envoi de la page HTML 5 serveur base de données Avis.php

envoi de la page HTML 5 serveur base de données

envoi de la page HTML 5 serveur base de données

envoi de la page HTML 5 serveur base de données

+/- de la programmation web orientée serveur Avantages de la programmation web orientée serveur : code PHP stocké sur le serveur, non visible pour le (sécurité) interaction avec une base de données hébergée sur le serveur génération facile de fichiers de types variés (HTML, PNG, CSV, JSON, etc.) lancement possible de n importe quel programme calculs effectués côté serveur Inconvénients de la programmation web orientée serveur : calculs effectués côté serveur : doit résister à la charge nécessite de recharger la page... sauf en passant par AJAX

«web» navigateur (Firefox, Chrome, Explorer, Safari, etc.) envoi d une URL

«web» navigateur (Firefox, Chrome, Explorer, Safari, etc.) envoi d une URL envoi d une page HTML «serveur web» machine ou logiciel (Apache, etc.)

«web» navigateur (Firefox, Chrome, Explorer, Safari, etc.) envoi d une URL envoi d une page HTML «serveur web» machine ou logiciel (Apache, etc.) reçoit le code HTML exécute le code PHP page PHP = du code HTML «à trous» + des instructions PHP pour remplir les trous

«web» navigateur (Firefox, Chrome, Explorer, Safari, etc.) envoi d une URL envoi d une page HTML Le PHP est un langage «non typé» : pas besoin de déclarer les types des Instructions PHP : variables Déclaration de variables Affectations de variables Structures de contrôle (tests, boucles) Appel de fonctions (en particulier les fonctions de gestion de bases de données MySQL) Entrées : récupération de valeurs provenant d un formulaire ou de l URL Sorties : affichage (dans les trous du code HTML) «serveur web» machine ou logiciel (Apache, etc.) reçoit le code HTML page PHP = du code HTML «à trous» + des instructions PHP pour remplir les trous exécute le code PHP

Plan du cours 4 Programmation web, orientée serveur Concept de la programmation web, orientée serveur Syntaxe PHP

Syntaxe PHP correspondance avec Java Java PHP Programme fichier TP1.java avec fichier TP1.php contenant du une classe TP1, ses code HTML (header, body) propriétés, et ses méthodes et des balises <?php et?> dont la méthode main, contenant des instructions qui contiennent des PHP instructions Java Compilation terminal : pas de compilation : langage javac TP1.java «interprété» à la volée Exécution terminal : URL de page PHP dans java TP1 val1 val2 le navigateur web : http://mmi.fr/tp1.php?param1=val1&p2=val2 Sortie afficher dans le terminal : afficher dans le code HTML : System.out.println( echo("toto"); "toto");

Syntaxe PHP correspondance avec Java Java PHP Programme fichier TP1.java avec fichier TP1.php contenant du une classe TP1, ses code HTML (header, body) propriétés, et ses méthodes et des balises <?php et?> dont la méthode main, contenant des instructions qui contiennent des PHP instructions Java Compilation terminal : pas de compilation : langage javac TP1.java «interprété» à la volée Exécution terminal : URL de page PHP dans java TP1 val1 val2 le navigateur web : http://mmi.fr/tp1.php?param1=val1&p2=val2 Sortie afficher dans le terminal : afficher dans le code HTML : System.out.println( echo("toto"); "toto");

Syntaxe PHP correspondance avec Java Java PHP Affichage dans la fonction main : dans le body : des paramètres public static void <?php main(string[] arg){ echo ($_GET["param1"] System.out.println(." ".$_GET["p2"]);?> arg[0]+" "+arg[1]);} (parenthèses pas nécessaires) Initialisation int i=0; $i=0; d une variable String x="toto"; $x="toto"; (ou $x='toto';) (inclut la déclaration) (pas de déclaration) Test if(i==0){x="a";} if($i==0){$x="a";} else{x="b";} else{$x="b";} Boucle while(i>0){ while($i>0){ i++;} $i++;} for(int i=0;i<10;i++){ for($i=0;$i<10;$i++){ } }

Syntaxe PHP correspondance avec Java Java PHP Tableaux Les numéros de case sont Les cases peuvent être des entiers de 0 à n-1 désignées par des noms (n=nombre de cases) (chaînes de caractères) La longueur d un tableau La taille d un tableau peut ne peut pas changer. Changer. Valeurs toutes de même Possible de mettre des valeurs type de type différent String[] tab = {"toto","titi"}; tab[0]="tototo"; int a=tab.length; $tab = array("toto", "titi"); $tab[0]="tototo"; $a=count($tab); clé $tab2 = array("o"=> "toto","i"=>"titi"); valeur $tab2["o"]="tototo"; $k=tab2.keys();

Syntaxe PHP correspondance avec Java Java PHP Tableaux Les numéros de case sont Les cases peuvent être des entiers de 0 à n-1 désignées par des noms (n=nombre de cases) (chaînes de caractères) En La longueur PHP : le d un foreach tableau pour La parcourir taille d un tableau un tableau peut! ne peut pas changer. Changer. foreach Valeurs toutes ($tab2 de même as $key Possible => $value){ de mettre des valeurs typeecho("la case n ".$key); de type différent echo(" a la valeur ".$value); } String[] tab = $tab = array("toto", {"toto","titi"}; "titi"); tab[0]="tototo"; $tab[0]="tototo"; int a=tab.length; $a=count($tab); clé $tab2 = array("o"=> "toto","i"=>"titi"); valeur $tab2["o"]="tototo"; $k=tab2.keys();

Syntaxe PHP correspondance avec Java Java PHP Fonctions public static et le Le mot function précède type de sortie précèdent le le nom de la fonction, suivi nom de la fonction, suivi de de parenthèses qui parenthèses qui contiennent contiennent les entrées les entrées éventuelles, éventuelles. précédées de leur type. public static int function somme($a,$b) somme(int a,int b){ { return a+b; return a+b; } } Appel de Le nom de la fonction est Le nom de la fonction est fonction suivi de parenthèses qui suivi de parenthèses qui contiennent les entrées contiennent les entrées éventuelles. éventuelles. Concaténation "a"+"b" "a"."b"