Programmation orientée objet et interfaces web en PHP

Dimension: px
Commencer à balayer dès la page:

Download "Programmation orientée objet et interfaces web en PHP"

Transcription

1 Programmation orientée objet et interfaces web en PHP La programmation objet avec PHP5 Bases de données et interfaces web Fonctionnement des sessions Nicolas Moyroud Cemagref - UMR TETIS 26 Juin 2008

2 Programmation orientée objet avec PHP5 Plan 1 Programmation orientée objet avec PHP5 2 Interaction avec les bases de données 3 Développement d'interfaces web pour les bases de données 4 Principes de fonctionnement des sessions Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

3 Programmation orientée objet avec PHP5 Principes généraux de la POO : rappels La programmation orientée objet (POO) est un style de programmation qui consiste à dénir et assembler des briques de code appelées "objets", il s'oppose au style de programmation classique dit "procédural" L'intérêt est de favoriser l'évoluabilité du code en concevant une application non plus à partir de ses fonctionnalités, mais à partir de ses données qui sont généralement plus stables Un objet peut représenter un concept (chier) ou une entité du monde physique (voiture, personne) Un objet est une structure qui regroupe des données (attributs) et les moyens de traiter ces données (des fonctions que l'on appelle "méthodes" en POO) Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

4 Programmation orientée objet avec PHP5 Principes généraux de la POO : rappels La programmation orientée objet (POO) est un style de programmation qui consiste à dénir et assembler des briques de code appelées "objets", il s'oppose au style de programmation classique dit "procédural" L'intérêt est de favoriser l'évoluabilité du code en concevant une application non plus à partir de ses fonctionnalités, mais à partir de ses données qui sont généralement plus stables Un objet peut représenter un concept (chier) ou une entité du monde physique (voiture, personne) Un objet est une structure qui regroupe des données (attributs) et les moyens de traiter ces données (des fonctions que l'on appelle "méthodes" en POO) Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

5 Programmation orientée objet avec PHP5 Principes généraux de la POO : rappels La programmation orientée objet (POO) est un style de programmation qui consiste à dénir et assembler des briques de code appelées "objets", il s'oppose au style de programmation classique dit "procédural" L'intérêt est de favoriser l'évoluabilité du code en concevant une application non plus à partir de ses fonctionnalités, mais à partir de ses données qui sont généralement plus stables Un objet peut représenter un concept (chier) ou une entité du monde physique (voiture, personne) Un objet est une structure qui regroupe des données (attributs) et les moyens de traiter ces données (des fonctions que l'on appelle "méthodes" en POO) Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

6 Programmation orientée objet avec PHP5 Principes généraux de la POO : rappels La programmation orientée objet (POO) est un style de programmation qui consiste à dénir et assembler des briques de code appelées "objets", il s'oppose au style de programmation classique dit "procédural" L'intérêt est de favoriser l'évoluabilité du code en concevant une application non plus à partir de ses fonctionnalités, mais à partir de ses données qui sont généralement plus stables Un objet peut représenter un concept (chier) ou une entité du monde physique (voiture, personne) Un objet est une structure qui regroupe des données (attributs) et les moyens de traiter ces données (des fonctions que l'on appelle "méthodes" en POO) Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

7 Programmation orientée objet avec PHP5 Principes généraux de la POO : concept de classe En POO, l'élément de base est la classe qui est une représentation abstraite d'un objet, c'est une sorte de "moule à objets" Les objets concrets sont tous les instances d'une classe Une instance de la classe voiture serait par exemple un objet de marque "Renault", modèle "Clio", couleur "rouge" et vitesse "0" Les diérents objets sont en interaction entre eux : on met en place un diagramme de classes qui traduit ces interactions Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

8 Programmation orientée objet avec PHP5 Principes généraux de la POO : concept de classe En POO, l'élément de base est la classe qui est une représentation abstraite d'un objet, c'est une sorte de "moule à objets" Les objets concrets sont tous les instances d'une classe Une instance de la classe voiture serait par exemple un objet de marque "Renault", modèle "Clio", couleur "rouge" et vitesse "0" Les diérents objets sont en interaction entre eux : on met en place un diagramme de classes qui traduit ces interactions Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

9 Programmation orientée objet avec PHP5 Principes généraux de la POO : concept de classe En POO, l'élément de base est la classe qui est une représentation abstraite d'un objet, c'est une sorte de "moule à objets" Les objets concrets sont tous les instances d'une classe Une instance de la classe voiture serait par exemple un objet de marque "Renault", modèle "Clio", couleur "rouge" et vitesse "0" Les diérents objets sont en interaction entre eux : on met en place un diagramme de classes qui traduit ces interactions Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

10 Programmation orientée objet avec PHP5 Principes généraux de la POO : concept de classe En POO, l'élément de base est la classe qui est une représentation abstraite d'un objet, c'est une sorte de "moule à objets" Les objets concrets sont tous les instances d'une classe Une instance de la classe voiture serait par exemple un objet de marque "Renault", modèle "Clio", couleur "rouge" et vitesse "0" Les diérents objets sont en interaction entre eux : on met en place un diagramme de classes qui traduit ces interactions Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

11 Programmation orientée objet avec PHP5 Principes généraux de la POO : l'encapsulation Les attributs d'un objet qui constituent sa structure interne ne sont en général pas accessibles aux autres objets, c'est le principe de l'encapsulation Par exemple, pour pouvoir dénir la couleur d'une voiture, il faudra lui ajouter une méthode changercouleur qui s'occupera de changer la valeur de son attribut couleur Les autres objets n'ont ainsi plus besoin de savoir comment changer la couleur de la voiture, ils se contentent d'appeler la méthode changercouleur On garde ainsi une cohérence dans la gestion de l'objet et on assure l'intégrité de ses données Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

12 Programmation orientée objet avec PHP5 Principes généraux de la POO : l'encapsulation Les attributs d'un objet qui constituent sa structure interne ne sont en général pas accessibles aux autres objets, c'est le principe de l'encapsulation Par exemple, pour pouvoir dénir la couleur d'une voiture, il faudra lui ajouter une méthode changercouleur qui s'occupera de changer la valeur de son attribut couleur Les autres objets n'ont ainsi plus besoin de savoir comment changer la couleur de la voiture, ils se contentent d'appeler la méthode changercouleur On garde ainsi une cohérence dans la gestion de l'objet et on assure l'intégrité de ses données Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

13 Programmation orientée objet avec PHP5 Principes généraux de la POO : l'encapsulation Les attributs d'un objet qui constituent sa structure interne ne sont en général pas accessibles aux autres objets, c'est le principe de l'encapsulation Par exemple, pour pouvoir dénir la couleur d'une voiture, il faudra lui ajouter une méthode changercouleur qui s'occupera de changer la valeur de son attribut couleur Les autres objets n'ont ainsi plus besoin de savoir comment changer la couleur de la voiture, ils se contentent d'appeler la méthode changercouleur On garde ainsi une cohérence dans la gestion de l'objet et on assure l'intégrité de ses données Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

14 Programmation orientée objet avec PHP5 Principes généraux de la POO : l'encapsulation Les attributs d'un objet qui constituent sa structure interne ne sont en général pas accessibles aux autres objets, c'est le principe de l'encapsulation Par exemple, pour pouvoir dénir la couleur d'une voiture, il faudra lui ajouter une méthode changercouleur qui s'occupera de changer la valeur de son attribut couleur Les autres objets n'ont ainsi plus besoin de savoir comment changer la couleur de la voiture, ils se contentent d'appeler la méthode changercouleur On garde ainsi une cohérence dans la gestion de l'objet et on assure l'intégrité de ses données Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

15 Programmation orientée objet avec PHP5 Principes généraux de la POO : l'héritage Le principe de l'héritage est basé sur des classes lles qui héritent des caractéristiques (attributs et méthodes) d'une classe mère Une classe lle peut également dénir ses propres caractéristiques Par exemple, on peut dénir une classe "Véhicule" dont hérite deux classes lles "Voiture" et "Camion" Ce principe permet la réutilisabilité et l'adaptabilité des objets Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

16 Programmation orientée objet avec PHP5 Principes généraux de la POO : l'héritage Le principe de l'héritage est basé sur des classes lles qui héritent des caractéristiques (attributs et méthodes) d'une classe mère Une classe lle peut également dénir ses propres caractéristiques Par exemple, on peut dénir une classe "Véhicule" dont hérite deux classes lles "Voiture" et "Camion" Ce principe permet la réutilisabilité et l'adaptabilité des objets Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

17 Programmation orientée objet avec PHP5 Principes généraux de la POO : l'héritage Le principe de l'héritage est basé sur des classes lles qui héritent des caractéristiques (attributs et méthodes) d'une classe mère Une classe lle peut également dénir ses propres caractéristiques Par exemple, on peut dénir une classe "Véhicule" dont hérite deux classes lles "Voiture" et "Camion" Ce principe permet la réutilisabilité et l'adaptabilité des objets Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

18 Programmation orientée objet avec PHP5 Principes généraux de la POO : l'héritage Le principe de l'héritage est basé sur des classes lles qui héritent des caractéristiques (attributs et méthodes) d'une classe mère Une classe lle peut également dénir ses propres caractéristiques Par exemple, on peut dénir une classe "Véhicule" dont hérite deux classes lles "Voiture" et "Camion" Ce principe permet la réutilisabilité et l'adaptabilité des objets Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

19 Programmation orientée objet avec PHP5 La POO avec PHP5 Contrairement des langages comme Java ou C++, les premières versions du langage PHP n'ont pas été conçues pour la POO Les premiers éléments de POO ont été intégrés dans la version 3 PHP4 puis surtout PHP5 ont introduit de véritables concepts pour la POO, notamment la notion d'héritage et d'encapsulation Il est maintenant possible de programmer très ecacement en POO avec PHP La grande majorité des librairies de code sont disponibles sous forme de classes Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

20 Programmation orientée objet avec PHP5 La POO avec PHP5 Contrairement des langages comme Java ou C++, les premières versions du langage PHP n'ont pas été conçues pour la POO Les premiers éléments de POO ont été intégrés dans la version 3 PHP4 puis surtout PHP5 ont introduit de véritables concepts pour la POO, notamment la notion d'héritage et d'encapsulation Il est maintenant possible de programmer très ecacement en POO avec PHP La grande majorité des librairies de code sont disponibles sous forme de classes Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

21 Programmation orientée objet avec PHP5 La POO avec PHP5 Contrairement des langages comme Java ou C++, les premières versions du langage PHP n'ont pas été conçues pour la POO Les premiers éléments de POO ont été intégrés dans la version 3 PHP4 puis surtout PHP5 ont introduit de véritables concepts pour la POO, notamment la notion d'héritage et d'encapsulation Il est maintenant possible de programmer très ecacement en POO avec PHP La grande majorité des librairies de code sont disponibles sous forme de classes Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

22 Programmation orientée objet avec PHP5 La POO avec PHP5 Contrairement des langages comme Java ou C++, les premières versions du langage PHP n'ont pas été conçues pour la POO Les premiers éléments de POO ont été intégrés dans la version 3 PHP4 puis surtout PHP5 ont introduit de véritables concepts pour la POO, notamment la notion d'héritage et d'encapsulation Il est maintenant possible de programmer très ecacement en POO avec PHP La grande majorité des librairies de code sont disponibles sous forme de classes Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

23 Programmation orientée objet avec PHP5 La POO avec PHP5 Contrairement des langages comme Java ou C++, les premières versions du langage PHP n'ont pas été conçues pour la POO Les premiers éléments de POO ont été intégrés dans la version 3 PHP4 puis surtout PHP5 ont introduit de véritables concepts pour la POO, notamment la notion d'héritage et d'encapsulation Il est maintenant possible de programmer très ecacement en POO avec PHP La grande majorité des librairies de code sont disponibles sous forme de classes Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

24 Programmation orientée objet avec PHP5 La POO avec PHP5 Exemple de classe class Vehicule { private $marque ; private $vitesse ; public function construct ( $marque ) { $this >marque = $marque ; $this >vitesse = 0 ; // un nouveau v e h i c u l e a une v i t e s s e n u l l e } public function accelerer ( $vit ) { $this >vitesse += $vit ; // ok dans l a c l a s s e } public function affichervitesse ( ) { return $this >vitesse ; } } Mots réservés : class, function, private, public, protected, construct, destruct, extends, implements, self, parent, $this, -> Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

25 Programmation orientée objet avec PHP5 La POO avec PHP5 Héritage de classe class Voiture extends Vehicule { private $nombreportes ; public function construct ( $marque, $nbportes ) { parent : : construct ( $marque ) ; $this >nombreportes = $nbportes ; } public function affichernbportes ( ) { return $this >nombreportes ; } } Utilisation d'une classe $ma_voiture = new Voiture ( $marque, 5 ) ; $ma_voiture >accelerer ( 2 0 ) ; $ma_voiture >accelerer ( 5 ) ; echo ' nbportes = '. $ma_voiture >affichernbportes ( ) ; echo ' vitesse = '. $ma_voiture >affichervitesse ( ) ; Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

26 Interaction avec les bases de données Plan 1 Programmation orientée objet avec PHP5 2 Interaction avec les bases de données 3 Développement d'interfaces web pour les bases de données 4 Principes de fonctionnement des sessions Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

27 Interaction avec les bases de données PHP et les bases de données Le langage PHP supporte l'accès à un grand nombre de systèmes de gestion de bases de données : Oracle, PostgreSQL, MySQL,... Permet de développer des applications basées sur l'architecture client + serveur web + serveur de données Nativement, PHP propose des fonctions spéciques à chaque SGBD Il existe des librairies pour l'abstraction de bases de données qui permettent d'utiliser un code PHP identique quel que soit le SGBD (PEAR_MDB2, PHP Data Objects) PDO : PEAR_MDB2 : Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

28 Interaction avec les bases de données PHP et les bases de données Le langage PHP supporte l'accès à un grand nombre de systèmes de gestion de bases de données : Oracle, PostgreSQL, MySQL,... Permet de développer des applications basées sur l'architecture client + serveur web + serveur de données Nativement, PHP propose des fonctions spéciques à chaque SGBD Il existe des librairies pour l'abstraction de bases de données qui permettent d'utiliser un code PHP identique quel que soit le SGBD (PEAR_MDB2, PHP Data Objects) PDO : PEAR_MDB2 : Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

29 Interaction avec les bases de données PHP et les bases de données Le langage PHP supporte l'accès à un grand nombre de systèmes de gestion de bases de données : Oracle, PostgreSQL, MySQL,... Permet de développer des applications basées sur l'architecture client + serveur web + serveur de données Nativement, PHP propose des fonctions spéciques à chaque SGBD Il existe des librairies pour l'abstraction de bases de données qui permettent d'utiliser un code PHP identique quel que soit le SGBD (PEAR_MDB2, PHP Data Objects) PDO : PEAR_MDB2 : Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

30 Interaction avec les bases de données PHP et les bases de données Le langage PHP supporte l'accès à un grand nombre de systèmes de gestion de bases de données : Oracle, PostgreSQL, MySQL,... Permet de développer des applications basées sur l'architecture client + serveur web + serveur de données Nativement, PHP propose des fonctions spéciques à chaque SGBD Il existe des librairies pour l'abstraction de bases de données qui permettent d'utiliser un code PHP identique quel que soit le SGBD (PEAR_MDB2, PHP Data Objects) PDO : PEAR_MDB2 : Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

31 Interaction avec les bases de données Les fonctions PHP spéciques à PostgreSQL pg_connect ouvre une connexion à une base PostgreSQL pg_query exécute une requête SQL pg_query_params exécute une requête SQL en passant des paramètres séparément du code SQL pg_fetch_row lit un enregistrement depuis résultat d'une requête et stocke ses champs dans un tableau numérique pg_fetch_assoc lit un enregistrement depuis résultat d'une requête et stocke ses champs dans un tableau associatif (les clés sont les noms des champs) pg_escape_string protège une chaîne de caractères pour l'insérer dans un champ texte pg_eld_name retourne le nom d'un champ Documentation : Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

32 Interaction avec les bases de données Les fonctions PHP spéciques à PostgreSQL pg_connect ouvre une connexion à une base PostgreSQL pg_query exécute une requête SQL pg_query_params exécute une requête SQL en passant des paramètres séparément du code SQL pg_fetch_row lit un enregistrement depuis résultat d'une requête et stocke ses champs dans un tableau numérique pg_fetch_assoc lit un enregistrement depuis résultat d'une requête et stocke ses champs dans un tableau associatif (les clés sont les noms des champs) pg_escape_string protège une chaîne de caractères pour l'insérer dans un champ texte pg_eld_name retourne le nom d'un champ Documentation : Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

33 Interaction avec les bases de données Les fonctions PHP spéciques à PostgreSQL pg_connect ouvre une connexion à une base PostgreSQL pg_query exécute une requête SQL pg_query_params exécute une requête SQL en passant des paramètres séparément du code SQL pg_fetch_row lit un enregistrement depuis résultat d'une requête et stocke ses champs dans un tableau numérique pg_fetch_assoc lit un enregistrement depuis résultat d'une requête et stocke ses champs dans un tableau associatif (les clés sont les noms des champs) pg_escape_string protège une chaîne de caractères pour l'insérer dans un champ texte pg_eld_name retourne le nom d'un champ Documentation : Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

34 Interaction avec les bases de données Les fonctions PHP spéciques à PostgreSQL pg_connect ouvre une connexion à une base PostgreSQL pg_query exécute une requête SQL pg_query_params exécute une requête SQL en passant des paramètres séparément du code SQL pg_fetch_row lit un enregistrement depuis résultat d'une requête et stocke ses champs dans un tableau numérique pg_fetch_assoc lit un enregistrement depuis résultat d'une requête et stocke ses champs dans un tableau associatif (les clés sont les noms des champs) pg_escape_string protège une chaîne de caractères pour l'insérer dans un champ texte pg_eld_name retourne le nom d'un champ Documentation : Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

35 Interaction avec les bases de données Les fonctions PHP spéciques à PostgreSQL pg_connect ouvre une connexion à une base PostgreSQL pg_query exécute une requête SQL pg_query_params exécute une requête SQL en passant des paramètres séparément du code SQL pg_fetch_row lit un enregistrement depuis résultat d'une requête et stocke ses champs dans un tableau numérique pg_fetch_assoc lit un enregistrement depuis résultat d'une requête et stocke ses champs dans un tableau associatif (les clés sont les noms des champs) pg_escape_string protège une chaîne de caractères pour l'insérer dans un champ texte pg_eld_name retourne le nom d'un champ Documentation : Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

36 Interaction avec les bases de données Les fonctions PHP spéciques à PostgreSQL pg_connect ouvre une connexion à une base PostgreSQL pg_query exécute une requête SQL pg_query_params exécute une requête SQL en passant des paramètres séparément du code SQL pg_fetch_row lit un enregistrement depuis résultat d'une requête et stocke ses champs dans un tableau numérique pg_fetch_assoc lit un enregistrement depuis résultat d'une requête et stocke ses champs dans un tableau associatif (les clés sont les noms des champs) pg_escape_string protège une chaîne de caractères pour l'insérer dans un champ texte pg_eld_name retourne le nom d'un champ Documentation : Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

37 Interaction avec les bases de données Les fonctions PHP spéciques à PostgreSQL pg_connect ouvre une connexion à une base PostgreSQL pg_query exécute une requête SQL pg_query_params exécute une requête SQL en passant des paramètres séparément du code SQL pg_fetch_row lit un enregistrement depuis résultat d'une requête et stocke ses champs dans un tableau numérique pg_fetch_assoc lit un enregistrement depuis résultat d'une requête et stocke ses champs dans un tableau associatif (les clés sont les noms des champs) pg_escape_string protège une chaîne de caractères pour l'insérer dans un champ texte pg_eld_name retourne le nom d'un champ Documentation : Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

38 Interaction avec les bases de données Exemple d'interaction PHP/PostgreSQL Récupération d'enregistrements depuis une table $dbconn = pg_connect ( " host = localhost dbname = livres user = nmoyroud password = toto " ) ; if (! $dbconn ) { echo ' Erreur ' ; exit ; } $result = pg_query ( $dbconn, " SELECT id, nom, FROM auteurs " ) ; if (! $result ) { echo ' Erreur ' ; exit ; } echo ' <table border ="1" cellspacing ="0" > ' ; echo '<tr ><td >Id </ td ><td > Auteur </ td ><td > </ td > </ tr > '; while ( $row = pg_fetch_assoc ( $result ) ) { echo '<tr ><td > '. $row [ 'id ' ]. ' </td > ' ; echo '<td > '. $row [ 'nom ' ]. ' </td > ' ; echo '<td > '. $row [ ' ' ]. ' </td > </ tr > ' ; } echo ' </ table > ' ; Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

39 Interaction avec les bases de données Exemple d'interaction PHP/PostgreSQL Insertion d'enregistrements dans une table $dbconn = pg_connect ( " host = localhost dbname = livres user = nmoyroud password = toto " ) ; if (! $dbconn ) { echo ' Erreur ' ; exit ; } // Exemple en u t i l i s a n t pg_query_params $values = array ( $_POST [ 'nom ' ], $_POST [ ' ' ] ) ) ; $sql = ' INSERT INTO auteurs ( nom, ) VALUES ($1, $2 ) ' ; $result = pg_query_params ( $dbconn, $sql, $values ) ; if (! $result ) { echo " Erreur d ' insertion " ; exit ; } // Exemple en u t i l i s a n t pg_query $nom = pg_escape_string ( $_POST [ ' nom ' ] ) ; $ = pg_escape_string ( $_POST [ ' ' ] ) ; $sql = " INSERT INTO auteurs ( nom, ) VALUES (' $nom ',' $ ')" ; $result = pg_query ( $dbconn, $sql ) ; if (! $result ) { echo " Erreur d ' insertion " ; exit ; } Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

40 Développement d'interfaces web pour les bases de données Plan 1 Programmation orientée objet avec PHP5 2 Interaction avec les bases de données 3 Développement d'interfaces web pour les bases de données 4 Principes de fonctionnement des sessions Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

41 Développement d'interfaces web pour les bases de données Développement d'interfaces web phppgadmin interface web en PHP pour l'administration et la gestion des bases PostgreSQL, elle est adaptée pour ceux qui connaissent le fonctionnement des bases de données Pour des utilisateurs "non-informaticiens", il est nécessaire de présenter le contenu des bases de manière plus conviviale, en cachant la complexité des SGBD Avec PHP, on peut pré-écrire des requêtes SQL et les faire exécuter depuis une interface graphique accessible sur le web Les interfaces développées permettront aux clients non seulement de visualiser les données, mais également de les insérer / mettre à jour grâce à l'utilisation de formulaires HTML Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

42 Développement d'interfaces web pour les bases de données Développement d'interfaces web phppgadmin interface web en PHP pour l'administration et la gestion des bases PostgreSQL, elle est adaptée pour ceux qui connaissent le fonctionnement des bases de données Pour des utilisateurs "non-informaticiens", il est nécessaire de présenter le contenu des bases de manière plus conviviale, en cachant la complexité des SGBD Avec PHP, on peut pré-écrire des requêtes SQL et les faire exécuter depuis une interface graphique accessible sur le web Les interfaces développées permettront aux clients non seulement de visualiser les données, mais également de les insérer / mettre à jour grâce à l'utilisation de formulaires HTML Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

43 Développement d'interfaces web pour les bases de données Développement d'interfaces web phppgadmin interface web en PHP pour l'administration et la gestion des bases PostgreSQL, elle est adaptée pour ceux qui connaissent le fonctionnement des bases de données Pour des utilisateurs "non-informaticiens", il est nécessaire de présenter le contenu des bases de manière plus conviviale, en cachant la complexité des SGBD Avec PHP, on peut pré-écrire des requêtes SQL et les faire exécuter depuis une interface graphique accessible sur le web Les interfaces développées permettront aux clients non seulement de visualiser les données, mais également de les insérer / mettre à jour grâce à l'utilisation de formulaires HTML Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

44 Développement d'interfaces web pour les bases de données Développement d'interfaces web phppgadmin interface web en PHP pour l'administration et la gestion des bases PostgreSQL, elle est adaptée pour ceux qui connaissent le fonctionnement des bases de données Pour des utilisateurs "non-informaticiens", il est nécessaire de présenter le contenu des bases de manière plus conviviale, en cachant la complexité des SGBD Avec PHP, on peut pré-écrire des requêtes SQL et les faire exécuter depuis une interface graphique accessible sur le web Les interfaces développées permettront aux clients non seulement de visualiser les données, mais également de les insérer / mettre à jour grâce à l'utilisation de formulaires HTML Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

45 Développement d'interfaces web pour les bases de données Exemple d'interface web formauthor.php : formulaire de saisie de valeurs <form name=" formauthor " action=" insertauthor. php " method=" POST "> Nom : <input type=" text " name=" nom " size =" 20 " /> <br /> <input type=" text " name=" " size=" 30 " /> <br /> Pays : <select name=" pays "> <option value=" 1">USA</ option> <option value=" 2">France</ option> <option value=" 3">Angleterre</ option> </ select> <br /> <input type=" submit " value=" Envoyez " /> </ form> Ce formulaire envoie les valeurs saisies au script PHP insertauthor.php Deux champs texte permettent la saisie libre du nom et de l' Un champ pays permet de choisir parmi une liste pré-dénie : la valeur envoyée est celle précisée dans l'attribut value de l'option sélectionnée Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

46 Développement d'interfaces web pour les bases de données Exemple d'interface web formauthor.php : formulaire de saisie de valeurs <form name=" formauthor " action=" insertauthor. php " method=" POST "> Nom : <input type=" text " name=" nom " size =" 20 " /> <br /> <input type=" text " name=" " size=" 30 " /> <br /> Pays : <select name=" pays "> <option value=" 1">USA</ option> <option value=" 2">France</ option> <option value=" 3">Angleterre</ option> </ select> <br /> <input type=" submit " value=" Envoyez " /> </ form> Ce formulaire envoie les valeurs saisies au script PHP insertauthor.php Deux champs texte permettent la saisie libre du nom et de l' Un champ pays permet de choisir parmi une liste pré-dénie : la valeur envoyée est celle précisée dans l'attribut value de l'option sélectionnée Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

47 Développement d'interfaces web pour les bases de données Exemple d'interface web formauthor.php : formulaire de saisie de valeurs <form name=" formauthor " action=" insertauthor. php " method=" POST "> Nom : <input type=" text " name=" nom " size =" 20 " /> <br /> <input type=" text " name=" " size=" 30 " /> <br /> Pays : <select name=" pays "> <option value=" 1">USA</ option> <option value=" 2">France</ option> <option value=" 3">Angleterre</ option> </ select> <br /> <input type=" submit " value=" Envoyez " /> </ form> Ce formulaire envoie les valeurs saisies au script PHP insertauthor.php Deux champs texte permettent la saisie libre du nom et de l' Un champ pays permet de choisir parmi une liste pré-dénie : la valeur envoyée est celle précisée dans l'attribut value de l'option sélectionnée Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

48 Développement d'interfaces web pour les bases de données Exemple d'interface web Création dynamique de la liste pays $result = pg_query ( $dbconn, " SELECT id, nom_pays FROM pays " ) ; if (! $result ) { echo ' Erreur ' ; exit ; } echo '< select name =" pays "> ' ; while ( $row = pg_fetch_assoc ( $result ) ) { echo '< option value =" '. $row [ 'id ' ]. '"> ' ; echo $row [ ' nom_pays ' ] ; echo ' </ option > ' ; } echo ' </ select > ' ; Exemple d'extraction de la liste des pays depuis une table de la base PHP est utilisé ici en amont du formulaire de saisie Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

49 Développement d'interfaces web pour les bases de données Exemple d'interface web Création dynamique de la liste pays $result = pg_query ( $dbconn, " SELECT id, nom_pays FROM pays " ) ; if (! $result ) { echo ' Erreur ' ; exit ; } echo '< select name =" pays "> ' ; while ( $row = pg_fetch_assoc ( $result ) ) { echo '< option value =" '. $row [ 'id ' ]. '"> ' ; echo $row [ ' nom_pays ' ] ; echo ' </ option > ' ; } echo ' </ select > ' ; Exemple d'extraction de la liste des pays depuis une table de la base PHP est utilisé ici en amont du formulaire de saisie Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

50 Développement d'interfaces web pour les bases de données Exemple d'interface web insertauthor.php : traitement des valeurs saisies $dbconn = pg_connect ( " host = localhost dbname = livres user = nmoyroud password = toto " ) ; if (! $dbconn ) { echo ' Erreur ' ; exit ; } $values = array ( $_POST [ 'nom ' ], $_POST [ ' ' ], $_POST [ ' pays ' ] ) ; $sql = ' INSERT INTO auteurs ( nom, , id_pays ) VALUES ($1,$2, $3 ) '; $result = pg_query_params ( $dbconn, $sql, $values ) ; if (! $result ) { echo " Erreur d ' insertion " ; exit ; } echo ' Informations ajoutees dans la base <br / > ' ; echo ' <a href =" formauthor. php " > Ajouter un autre auteur </ a>'; Les valeurs saisies dans le formulaire sont stockées dans la base de données avec un message de conrmation Un lien permet de revenir au formulaire de saisie PHP est utilisé ici en aval du formulaire de saisie Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

51 Développement d'interfaces web pour les bases de données Exemple d'interface web insertauthor.php : traitement des valeurs saisies $dbconn = pg_connect ( " host = localhost dbname = livres user = nmoyroud password = toto " ) ; if (! $dbconn ) { echo ' Erreur ' ; exit ; } $values = array ( $_POST [ 'nom ' ], $_POST [ ' ' ], $_POST [ ' pays ' ] ) ; $sql = ' INSERT INTO auteurs ( nom, , id_pays ) VALUES ($1,$2, $3 ) '; $result = pg_query_params ( $dbconn, $sql, $values ) ; if (! $result ) { echo " Erreur d ' insertion " ; exit ; } echo ' Informations ajoutees dans la base <br / > ' ; echo ' <a href =" formauthor. php " > Ajouter un autre auteur </ a>'; Les valeurs saisies dans le formulaire sont stockées dans la base de données avec un message de conrmation Un lien permet de revenir au formulaire de saisie PHP est utilisé ici en aval du formulaire de saisie Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

52 Développement d'interfaces web pour les bases de données Exemple d'interface web insertauthor.php : traitement des valeurs saisies $dbconn = pg_connect ( " host = localhost dbname = livres user = nmoyroud password = toto " ) ; if (! $dbconn ) { echo ' Erreur ' ; exit ; } $values = array ( $_POST [ 'nom ' ], $_POST [ ' ' ], $_POST [ ' pays ' ] ) ; $sql = ' INSERT INTO auteurs ( nom, , id_pays ) VALUES ($1,$2, $3 ) '; $result = pg_query_params ( $dbconn, $sql, $values ) ; if (! $result ) { echo " Erreur d ' insertion " ; exit ; } echo ' Informations ajoutees dans la base <br / > ' ; echo ' <a href =" formauthor. php " > Ajouter un autre auteur </ a>'; Les valeurs saisies dans le formulaire sont stockées dans la base de données avec un message de conrmation Un lien permet de revenir au formulaire de saisie PHP est utilisé ici en aval du formulaire de saisie Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

53 Développement d'interfaces web pour les bases de données Exemple d'interface web insertauthor.php : ajout du contrôle des valeurs saisies $nom = trim ( $_POST [ 'nom ' ] ) ; $ = trim ( $_POST [ ' ' ] ) ; if ( empty ( $nom ) empty ( $ ) ) { echo ' Veuillez saisir un nom et un . <br / > ' ; echo ' <a href =" formauthor. php " > Recommencer la saisie </ a>'; } else {... Traitement de la requete... } On contrôle les valeurs nom et qui sont obligatoires dans la base de données On pourrait ajouter le contrôle du format de l' avec une fonction qui appelerait par exemple une expression régulière Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

54 Développement d'interfaces web pour les bases de données Exemple d'interface web insertauthor.php : ajout du contrôle des valeurs saisies $nom = trim ( $_POST [ 'nom ' ] ) ; $ = trim ( $_POST [ ' ' ] ) ; if ( empty ( $nom ) empty ( $ ) ) { echo ' Veuillez saisir un nom et un . <br / > ' ; echo ' <a href =" formauthor. php " > Recommencer la saisie </ a>'; } else {... Traitement de la requete... } On contrôle les valeurs nom et qui sont obligatoires dans la base de données On pourrait ajouter le contrôle du format de l' avec une fonction qui appelerait par exemple une expression régulière Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

55 Développement d'interfaces web pour les bases de données Utilisation de la classe HTML_QuickForm Dans les exemples précédents, on a créé le formulaire directement en écrivant du HTML dans le code PHP, ce qui le rend peu lisible et dicile à débugguer On a également géré la vérication des valeurs, mais uniquement du côté du serveur : l'utilisateur est obligé d'envoyer le formulaire avant de voir ses erreurs Pour améliorer notre code et simplier la création des interfaces, on peut utiliser une classe PHP qui est disponible dans le dépôt PEAR : HTML_QuickForm Elle permet de générer des formulaires et leur traitement avec la syntaxe objet de PHP Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

56 Développement d'interfaces web pour les bases de données Utilisation de la classe HTML_QuickForm Dans les exemples précédents, on a créé le formulaire directement en écrivant du HTML dans le code PHP, ce qui le rend peu lisible et dicile à débugguer On a également géré la vérication des valeurs, mais uniquement du côté du serveur : l'utilisateur est obligé d'envoyer le formulaire avant de voir ses erreurs Pour améliorer notre code et simplier la création des interfaces, on peut utiliser une classe PHP qui est disponible dans le dépôt PEAR : HTML_QuickForm Elle permet de générer des formulaires et leur traitement avec la syntaxe objet de PHP Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

57 Développement d'interfaces web pour les bases de données Utilisation de la classe HTML_QuickForm Dans les exemples précédents, on a créé le formulaire directement en écrivant du HTML dans le code PHP, ce qui le rend peu lisible et dicile à débugguer On a également géré la vérication des valeurs, mais uniquement du côté du serveur : l'utilisateur est obligé d'envoyer le formulaire avant de voir ses erreurs Pour améliorer notre code et simplier la création des interfaces, on peut utiliser une classe PHP qui est disponible dans le dépôt PEAR : HTML_QuickForm Elle permet de générer des formulaires et leur traitement avec la syntaxe objet de PHP Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

58 Développement d'interfaces web pour les bases de données Utilisation de la classe HTML_QuickForm Dans les exemples précédents, on a créé le formulaire directement en écrivant du HTML dans le code PHP, ce qui le rend peu lisible et dicile à débugguer On a également géré la vérication des valeurs, mais uniquement du côté du serveur : l'utilisateur est obligé d'envoyer le formulaire avant de voir ses erreurs Pour améliorer notre code et simplier la création des interfaces, on peut utiliser une classe PHP qui est disponible dans le dépôt PEAR : HTML_QuickForm Elle permet de générer des formulaires et leur traitement avec la syntaxe objet de PHP Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

59 Développement d'interfaces web pour les bases de données Exemple d'utilisation de HTML_QuickForm formauthor.php : formulaire avec HTML_QuickForm r e q u i r e _ o n c e ' H T M L / Q u i c k F o r m. p h p ' ; $ f o r m = new H T M L _ Q u i c k F o r m ( ' f o r m A u t h o r ' ) ; $ f o r m >s e t D e f a u l t s ( a r r a y ( ' n o m ' => ' I s a a c A s i m o v ', ' e m a i l ' => ' a s i m o s c i - fi. pa ', ' p a y s ' => ' 1 ' ) ) ; $ f o r m >a d d E l e m e n t ( ' h e a d e r ', null, ' A u t e u r ' ) ; $ f o r m >a d d E l e m e n t ( ' t e x t ', ' n o m ', ' N o m : ', a r r a y ( ' s i z e '=>20, ' m a x l e n g t h '= >30)); $ f o r m >a d d E l e m e n t ( ' t e x t ', ' e m a i l ', ' E m a i l : ', a r r a y ( ' s i z e '=>30, ' m a x l e n g t h '= >50)); $ f o r m >a d d E l e m e n t ( ' s e l e c t ', ' p a y s ', ' P a y s : ', $ l i s t e _ p a y s ) ; $ f o r m >a d d E l e m e n t ( ' s u b m i t ', null, ' E n v o y e r ' ) ; $ f o r m >a p p l y F i l t e r ( ' A L L ', ' t r i m ' ) ; $ f o r m >a p p l y F i l t e r ( ' A L L ', ' p g _ e s c a p e _ s t r i n g ' ) ; $ f o r m >a d d R u l e ( ' n a m e ', ' S a i s i s s e z un n o m ', ' r e q u i r e d ', null, ' c l i e n t ' ) ; $ f o r m >a d d R u l e ( ' e m a i l ', ' S a i s i s s e z un e m a i l ', ' r e q u i r e d ', null, ' c l i e n t ' ) ; $ f o r m >a d d R u l e ( ' e m a i l ', ' E m a i l n o n v a l i d e ', ' r e g e x ', ' / ^ [ a - z0-9 _ \. - ] [ a - z0-9 _ - ] + \. [ a - z ] { 2 } $ / ', ' c l i e n t ' ) ; if ( $ f o r m >v a l i d a t e ( ) ) { // s i l e s v a l e u r s s o n t v a l i d e e s, on i n s e r e i n c l u d e ' i n s e r t A u t h o r. p h p ' ; e x i t ; } $ f o r m >d i s p l a y ( ) ; // a f f i c h a g e du f o r m u l a i r e Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

60 Développement d'interfaces web pour les bases de données Utilisation de la classe HTML_QuickForm méthode setdefaults ache des valeurs par défaut dans les champs du formulaire méthode addelement ajoute un champ dans le formulaire, avec le type précisé dans le 1er paramètre et le nom précisé dans le 2ème méthode applyfilter applique une fonction de traitement sur le champ précisé ( ALL pour tous les champs) méthode addrule ajoute une règle de vérication de la valeur saisie dans un champ (avec possibilité de validation côté client, sans envoi du formulaire) méthode validate retourne vrai si les valeurs saisies sont validées méthode display ache le formulaire Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

61 Développement d'interfaces web pour les bases de données Utilisation de la classe HTML_QuickForm méthode setdefaults ache des valeurs par défaut dans les champs du formulaire méthode addelement ajoute un champ dans le formulaire, avec le type précisé dans le 1er paramètre et le nom précisé dans le 2ème méthode applyfilter applique une fonction de traitement sur le champ précisé ( ALL pour tous les champs) méthode addrule ajoute une règle de vérication de la valeur saisie dans un champ (avec possibilité de validation côté client, sans envoi du formulaire) méthode validate retourne vrai si les valeurs saisies sont validées méthode display ache le formulaire Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

62 Développement d'interfaces web pour les bases de données Utilisation de la classe HTML_QuickForm méthode setdefaults ache des valeurs par défaut dans les champs du formulaire méthode addelement ajoute un champ dans le formulaire, avec le type précisé dans le 1er paramètre et le nom précisé dans le 2ème méthode applyfilter applique une fonction de traitement sur le champ précisé ( ALL pour tous les champs) méthode addrule ajoute une règle de vérication de la valeur saisie dans un champ (avec possibilité de validation côté client, sans envoi du formulaire) méthode validate retourne vrai si les valeurs saisies sont validées méthode display ache le formulaire Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

63 Développement d'interfaces web pour les bases de données Utilisation de la classe HTML_QuickForm méthode setdefaults ache des valeurs par défaut dans les champs du formulaire méthode addelement ajoute un champ dans le formulaire, avec le type précisé dans le 1er paramètre et le nom précisé dans le 2ème méthode applyfilter applique une fonction de traitement sur le champ précisé ( ALL pour tous les champs) méthode addrule ajoute une règle de vérication de la valeur saisie dans un champ (avec possibilité de validation côté client, sans envoi du formulaire) méthode validate retourne vrai si les valeurs saisies sont validées méthode display ache le formulaire Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

64 Développement d'interfaces web pour les bases de données Utilisation de la classe HTML_QuickForm méthode setdefaults ache des valeurs par défaut dans les champs du formulaire méthode addelement ajoute un champ dans le formulaire, avec le type précisé dans le 1er paramètre et le nom précisé dans le 2ème méthode applyfilter applique une fonction de traitement sur le champ précisé ( ALL pour tous les champs) méthode addrule ajoute une règle de vérication de la valeur saisie dans un champ (avec possibilité de validation côté client, sans envoi du formulaire) méthode validate retourne vrai si les valeurs saisies sont validées méthode display ache le formulaire Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

65 Développement d'interfaces web pour les bases de données Utilisation de la classe HTML_QuickForm méthode setdefaults ache des valeurs par défaut dans les champs du formulaire méthode addelement ajoute un champ dans le formulaire, avec le type précisé dans le 1er paramètre et le nom précisé dans le 2ème méthode applyfilter applique une fonction de traitement sur le champ précisé ( ALL pour tous les champs) méthode addrule ajoute une règle de vérication de la valeur saisie dans un champ (avec possibilité de validation côté client, sans envoi du formulaire) méthode validate retourne vrai si les valeurs saisies sont validées méthode display ache le formulaire Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

66 Développement d'interfaces web pour les bases de données Utilisation de la classe HTML_QuickForm Exemple de listes déroulantes liées avec hierselect r e q u i r e _ o n c e ' H T M L / Q u i c k F o r m. p h p ' ; $ f o r m = n e w H T M L _ Q u i c k F o r m ( ' e x a m p l e ' ) ; $ s e l e c t 1 [ 0 ] = ' S c i e n c e - f i c t i o n ' ; $ s e l e c t 1 [ 1 ] = ' H u m o u r ' ; $ s e l e c t 1 [ 2 ] = ' L i t t e r a t u r e f r a n c a i s e ' ; $ s e l e c t 2 [ 0 ] [ 0 ] = $ s e l e c t 2 [ 1 ] [ 0 ] = $ s e l e c t 2 [ 2 ] [ 0 ] = ' A u t e u r ' ; $ s e l e c t 2 [ 0 ] [ 1 ] = ' I s a a c A s i m o v ' ; $ s e l e c t 2 [ 0 ] [ 2 ] = ' D o u g l a s A d a m s ' ; $ s e l e c t 2 [ 1 ] [ 1 ] = ' P i e r r e D e s p r o g e s ' ; $ s e l e c t 2 [ 1 ] [ 2 ] = ' R a y m o n d D e v o s ' ; $ s e l e c t 2 [ 2 ] [ 1 ] = ' V i c t o r H u g o ' ; $ s e l e c t 2 [ 2 ] [ 2 ] = ' E m i l e Z o l a ' ; $ s e l = $form >a d d E l e m e n t ( ' h i e r s e l e c t ', ' a u t e u r s ', ' C h o i s i s s e z un a u t e u r ' ) ; $sel >s e t O p t i o n s ( a r r a y ( $ s e l e c t 1, $ s e l e c t 2 ) ) ; $ f o r m >d i s p l a y ( ) ; // a f f i c h a g e du f o r m u l a i r e HTML_QuickForm ajoute des éléments supplémentaires au HTML hierselect permet de réaliser des listes déroulantes liées : les valeurs achées dans la liste du dessous dépendront de la valeur choisie dans celle du dessus (avec autant de niveaux que l'on souhaite) Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

67 Développement d'interfaces web pour les bases de données Utilisation de la classe HTML_QuickForm Exemple de listes déroulantes liées avec hierselect r e q u i r e _ o n c e ' H T M L / Q u i c k F o r m. p h p ' ; $ f o r m = n e w H T M L _ Q u i c k F o r m ( ' e x a m p l e ' ) ; $ s e l e c t 1 [ 0 ] = ' S c i e n c e - f i c t i o n ' ; $ s e l e c t 1 [ 1 ] = ' H u m o u r ' ; $ s e l e c t 1 [ 2 ] = ' L i t t e r a t u r e f r a n c a i s e ' ; $ s e l e c t 2 [ 0 ] [ 0 ] = $ s e l e c t 2 [ 1 ] [ 0 ] = $ s e l e c t 2 [ 2 ] [ 0 ] = ' A u t e u r ' ; $ s e l e c t 2 [ 0 ] [ 1 ] = ' I s a a c A s i m o v ' ; $ s e l e c t 2 [ 0 ] [ 2 ] = ' D o u g l a s A d a m s ' ; $ s e l e c t 2 [ 1 ] [ 1 ] = ' P i e r r e D e s p r o g e s ' ; $ s e l e c t 2 [ 1 ] [ 2 ] = ' R a y m o n d D e v o s ' ; $ s e l e c t 2 [ 2 ] [ 1 ] = ' V i c t o r H u g o ' ; $ s e l e c t 2 [ 2 ] [ 2 ] = ' E m i l e Z o l a ' ; $ s e l = $form >a d d E l e m e n t ( ' h i e r s e l e c t ', ' a u t e u r s ', ' C h o i s i s s e z un a u t e u r ' ) ; $sel >s e t O p t i o n s ( a r r a y ( $ s e l e c t 1, $ s e l e c t 2 ) ) ; $ f o r m >d i s p l a y ( ) ; // a f f i c h a g e du f o r m u l a i r e HTML_QuickForm ajoute des éléments supplémentaires au HTML hierselect permet de réaliser des listes déroulantes liées : les valeurs achées dans la liste du dessous dépendront de la valeur choisie dans celle du dessus (avec autant de niveaux que l'on souhaite) Nicolas Moyroud (Cemagref) POO et interfaces web en PHP 26 Juin / 31

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

Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP Au cours de ce TP, vous allez voir comment PHP permet aux utilisateurs, une interaction avec

Plus en détail

Pratique et administration des systèmes

Pratique et administration des systèmes Université Louis Pasteur Licence Informatique (L2) UFR de Mathématiques et Informatique Année 2007/2008 1 But du TP Pratique et administration des systèmes TP10 : Technologie LAMP Le but de ce TP est de

Plus en détail

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)

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) PHP et mysql php_mysql PHP et mysql Code: php_mysql Originaux url: http://tecfa.unige.ch/guides/tie/html/php-mysql/php-mysql.html url: http://tecfa.unige.ch/guides/tie/pdf/files/php-mysql.pdf Auteurs et

Plus en détail

PDO : PHP Data Object 1/13

PDO : PHP Data Object 1/13 PDO : PHP Data Object 1/13 Tous ne sont que des extensions... Les fonstions mysql_* : API mysql Les fonctions mysqli_* aussi Il en est de même pour PDO PDO (avec le pilote PDO MySQL Driver et Extension

Plus en détail

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

BTS S.I.O. 2012-2013 PHP OBJET. Module SLAM4. Nom du fichier : PHPRévisionObjetV2.odt Auteur : Pierre Barais BTS S.I.O. 2012-2013 PHP OBJET Module SLAM4 Nom du fichier : PHPRévisionObjetV2.odt Auteur : Pierre Barais Table des matières 1 But... 3 2 Les bases :... 3 3 Utilisation d'une classe : Instanciation...3

Plus en détail

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

Modélisation PHP Orientée Objet pour les Projets Modèle MVC (Modèle Vue Contrôleur) Mini Framework Modélisation PHP Orientée Objet pour les Projets Modèle MVC (Modèle Vue Contrôleur) Mini Framework L'objectif de ce document est de poser des bases de réflexion sur la modélisation d'un projet réalisé

Plus en détail

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

La programmation orientée objet Gestion de Connexions HTTP Manipulation de fichiers Transmission des données PHP/MySQL. Le langage PHP (2) Le langage PHP (2) Walid Belkhir Université de Provence belkhir@cmi.univ-mrs.fr http://www.lif.univ-mrs.fr/ belkhir/ 1 / 54 1 La programmation orientée objet 2 Gestion de Connexions HTTP 3 Manipulation

Plus en détail

CREATION d UN SITE WEB (INTRODUCTION)

CREATION d UN SITE WEB (INTRODUCTION) CREATION d UN SITE WEB (INTRODUCTION) Environnement : World Wide Web : ordinateurs interconnectés pour l échange d informations ( de données) Langages : HTML (HyperText Markup Language) : langages pour

Plus en détail

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

PHP 5. La base de données MySql. A. Belaïd 1 PHP 5 La base de données MySql A. Belaïd 1 Base de données C est quoi une base de données? Une base de données contient une ou plusieurs tables, chaque table ayant un ou plusieurs enregistrements Exemple

Plus en détail

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

PHP et les Bases de données - Généralités PHP et les Bases de données - Généralités Conception d une base de données Méthodes utilisées : MERISE, UML Modèle conceptuel des données MCD, Modèle logique MLD, Modèle Physique MPD. Ces aspects seront

Plus en détail

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la

Plus en détail

PHP. PHP et bases de données

PHP. PHP et bases de données Accés aux bases de données Une des raisons du succès de PHP Support d un grand nombre de bases - MySQL - Oracle - PostgreSQL - SQLite - Microso> Access - DBM - IBM Informix -... Accés aux bases de données

Plus en détail

Mysql. Les requêtes préparées Prepared statements

Mysql. Les requêtes préparées Prepared statements Mysql Les requêtes préparées Prepared statements Introduction Les prepared statements côté serveur sont une des nouvelles fonctionnalités les plus intéressantes de MySQL 4.1 (récemment sorti en production

Plus en détail

PHP 5.4 Développez un site web dynamique et interactif

PHP 5.4 Développez un site web dynamique et interactif Editions ENI PHP 5.4 Développez un site web dynamique et interactif Collection Ressources Informatiques Table des matières Table des matières 1 Chapitre 1 Introduction 1. Objectif de l'ouvrage.............................................

Plus en détail

PHP 4 PARTIE : BASE DE DONNEES

PHP 4 PARTIE : BASE DE DONNEES PHP 4 PARTIE : BASE DE DONNEES 1. Introduction 2. Présentation de MySQL 3. Principe 4. Connexion 5. Interrogation 6. Extraction des données 7. Fonctions de services 8. Traitement des erreurs 9. Travaux

Plus en détail

Compte-rendu de projet de Système de gestion de base de données

Compte-rendu de projet de Système de gestion de base de données Compte-rendu de projet de Système de gestion de base de données Création et utilisation d'un index de jointure LAMBERT VELLER Sylvain M1 STIC Université de Bourgogne 2010-2011 Reponsable : Mr Thierry Grison

Plus en détail

Comment développer et intégrer un module à PhpMyLab?

Comment développer et intégrer un module à PhpMyLab? Comment développer et intégrer un module à PhpMyLab? La structure du fichier Afin de conserver une homogénéité et une cohérence entre chaque module, une structure commune est utilisée pour chacun des modules

Plus en détail

Création de formulaires interactifs

Création de formulaires interactifs SESSION 16 Création de formulaires interactifs Programme de la session Lancer un sondage en utilisant divers éléments d'entrée de formulaire Traiter les entrées utilisateur Activer un script à partir d'un

Plus en détail

TP JAVASCRIPT OMI4 TP5 SRC1 2011-2012

TP JAVASCRIPT OMI4 TP5 SRC1 2011-2012 TP JAVASCRIPT OMI4 TP5 SRC1 2011-2012 FORMULAIRE DE CONTACT POUR PORTFOLIO PRINCIPE GENERAL Nous souhaitons réaliser un formulaire de contact comprenant les champs suivants : NOM PRENOM ADRESSE MAIL MESSAGE

Plus en détail

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object) Quelques patterns pour la persistance des objets avec DAO Ce cours présente des modèles de conception utilisés pour effectuer la persistance des objets Université de Nice Sophia-Antipolis Version 1.4 30/8/07

Plus en détail

Stockage du fichier dans une table mysql:

Stockage du fichier dans une table mysql: Stockage de fichiers dans des tables MYSQL avec PHP Rédacteur: Alain Messin CNRS UMS 2202 Admin06 30/06/2006 Le but de ce document est de donner les principes de manipulation de fichiers dans une table

Plus en détail

Apprendre la Programmation Orientée Objet avec le langage Java (avec exercices pratiques et corrigés)

Apprendre la Programmation Orientée Objet avec le langage Java (avec exercices pratiques et corrigés) Introduction à la POO 1. Histoire de la POO 9 2. Historique du 12 La conception orientée objet 1. Approche procédurale et décomposition fonctionnelle 13 2. La transition vers l'approche objet 14 3. Les

Plus en détail

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines) Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines) Module 1 : Programmer une application informatique Durée

Plus en détail

OpenPaaS Le réseau social d'entreprise

OpenPaaS Le réseau social d'entreprise OpenPaaS Le réseau social d'entreprise Spécification des API datastore SP L2.3.1 Diffusion : Institut MinesTélécom, Télécom SudParis 1 / 12 1OpenPaaS DataBase API : ODBAPI...3 1.1Comparaison des concepts...3

Plus en détail

Plan Général Prévisionnel (1/2) (non contractuel) Internet et Outils L1/IO2 2006-2007 S2-IO2 Bases de données: Jointures, Transactions

Plan Général Prévisionnel (1/2) (non contractuel) Internet et Outils L1/IO2 2006-2007 S2-IO2 Bases de données: Jointures, Transactions Général Prévisionnel (1/2) (non contractuel) Internet et Outils L1/IO2 2006-2007 S2-IO2 Bases de données: Jointures, Cours Internet et Outils: [1/12] Intro, Internet, Web, XHTML (2H) [2/12] XHTML(2H) [3/12]

Plus en détail

Gestion de stock pour un magasin

Gestion de stock pour un magasin Département d Informatique Université de Fribourg, Suisse http://diuf.unifr.ch Gestion de stock pour un magasin Stock online utilise ASP/MS-Access DO Thi Tra My No étudiant : 05-333-750 Travail de séminaire

Plus en détail

Bases de Données et Internet

Bases de Données et Internet Informatique S6 3A Bases de Données et Internet Python: SGBD et CGI Alexis NEDELEC LISYC EA 3883 UBO-ENIB-ENSIETA Centre Européen de Réalité Virtuelle Ecole Nationale d Ingénieurs de Brest enib c 2008

Plus en détail

Mysql avec EasyPhp. 1 er mars 2006

Mysql avec EasyPhp. 1 er mars 2006 Mysql avec EasyPhp 1 er mars 2006 Introduction MYSQL dérive directement de SQL (Structured Query Language) qui est un langage de requètes vers les bases de données relationnelles. Il en reprend la syntaxe

Plus en détail

Raja Bases de données distribuées A Lire - Tutoriel

Raja Bases de données distribuées A Lire - Tutoriel Université des Sciences de Montpellier Master 2 Semestre 1 Unité d'enseignement FMIN306 Raja Bases de données distribuées A Lire - Tutoriel 26 janvier 2011 Audrey Novak Romain Maneschi Jonathan Fhal Aloys

Plus en détail

Formulaire pour envoyer un mail

Formulaire pour envoyer un mail Formulaire pour envoyer un mail AVERTISSEMENT : Ce tuto est une compilation de plusieurs sources trouvées sur internet, dont les références sont données à la fin de cet article. Le but de ce tutoriel n'est

Plus en détail

CREATION WEB DYNAMIQUE

CREATION WEB DYNAMIQUE CREATION WEB DYNAMIQUE IV ) MySQL IV-1 ) Introduction MYSQL dérive directement de SQL (Structured Query Language) qui est un langage de requêtes vers les bases de données relationnelles. Le serveur de

Plus en détail

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

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES WEB & DÉVELOPPEMENT LES BASES DU WEB HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES LE LANGAGE HTML STRUCTURE D UNE PAGE En-tête et corps Syntaxe INSÉRER DES CONTENUS Texte : formatage (titre,

Plus en détail

SYSTÈMES D INFORMATIONS

SYSTÈMES D INFORMATIONS SYSTÈMES D INFORMATIONS Développement Modx Les systèmes de gestion de contenu Les Content Management Système (CMS) servent à simplifier le développement de sites web ainsi que la mise à jour des contenus.

Plus en détail

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <jpountz@via.ecp.fr> Centrale Réseaux

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <jpountz@via.ecp.fr> Centrale Réseaux Formation Webase 5 Ses secrets, de l architecture MVC à l application Web Adrien Grand Centrale Réseaux Sommaire 1 Obtenir des informations sur Webase 5 2 Composants de Webase 5 Un

Plus en détail

E-mail : contact@nqicorp.com - Web : http://www.nqicorp.com

E-mail : contact@nqicorp.com - Web : http://www.nqicorp.com - 5, rue Soutrane - 06560 Valbonne Sophia-Antipolis E-mail : contact@nqicorp.com - Web : http://www.nqicorp.com NQI Orchestra 3.3 - Guide d'installation Windows.................................................................

Plus en détail

Java Licence Professionnelle 2009-2010. Cours 7 : Classes et méthodes abstraites

Java Licence Professionnelle 2009-2010. Cours 7 : Classes et méthodes abstraites Java Licence Professionnelle 2009-2010 Cours 7 : Classes et méthodes abstraites 1 Java Classes et méthodes abstraites - Le mécanisme des classes abstraites permet de définir des comportements (méthodes)

Plus en détail

INSTALLATION DE L APPLICATION DU CONTEXTE ITASTE

INSTALLATION DE L APPLICATION DU CONTEXTE ITASTE INSTALLATION DE L APPLICATION DU CONTEXTE ITASTE Le responsable de la société Itaste utilise une application installée sur son poste : elle est programmée en VBA sous Microsoft Access et pourvue d une

Plus en détail

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

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation ING 01 LANGAGUE JAVA Durée : 21 heures 1090 HT / jour Dates : à définir en 2012 Concevoir et développer des programmes en langage Java Comprendre le fonctionnement de la machine virtuelle S approprier

Plus en détail

et Groupe Eyrolles, 2006, ISBN : 2-212-11747-7

et Groupe Eyrolles, 2006, ISBN : 2-212-11747-7 Tsoft et Groupe Eyrolles, 2006, ISBN : 2-212-11747-7 OEM Console Java OEM Console HTTP OEM Database Control Oracle Net Manager 6 Module 6 : Oracle Enterprise Manager Objectifs Contenu A la fin de ce module,

Plus en détail

Bases de données Oracle Virtual Private Database (VPD) pour la gestion des utilisateurs d applications

Bases de données Oracle Virtual Private Database (VPD) pour la gestion des utilisateurs d applications Bases de données Oracle Virtual Private Database (VPD) pour la gestion des utilisateurs d applications P.-A. Sunier, HEG-Arc Neuchâtel avec le concours de J. Greub pierre-andre.sunier@he-arc.ch http://lgl.isnetne.ch/

Plus en détail

Application web de gestion de comptes en banques

Application web de gestion de comptes en banques Application web de gestion de comptes en banques Objectif Réaliser une application Web permettant à un client de gérer ses comptes en banque Diagramme de cas d'utilisation 1 Les cas d'utilisation Connexion

Plus en détail

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

Introduction à JDBC. Accès aux bases de données en Java Introduction à JDBC Accès aux bases de données en Java Eric Cariou Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Introduction JDBC : Java Data Base Connectivity

Plus en détail

Mise en oeuvre d'une base de données mono-utilisateur avec SQLite

Mise en oeuvre d'une base de données mono-utilisateur avec SQLite Mise en oeuvre d'une base de données mono-utilisateur avec SQLite Utilisation de SQLite dans le logiciel CASSIS Plan Le contexte scientifique avec le logiciel CASSIS La problématique avec Mysql La solution

Plus en détail

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

PHP. Bertrand Estellon. 26 avril 2012. Aix-Marseille Université. Bertrand Estellon (AMU) PHP 26 avril 2012 1 / 214 PHP Bertrand Estellon Aix-Marseille Université 26 avril 2012 Bertrand Estellon (AMU) PHP 26 avril 2012 1 / 214 SQLite et PDO Base de données SQLite et PDO SQLite écrit les données relatives à la base dans

Plus en détail

Attaques applicatives

Attaques applicatives Attaques applicatives Attaques applicatives Exploitation d une mauvaise programmation des applications Ne touche pas le serveur lui-même mais son utilisation/ configuration Surtout populaire pour les sites

Plus en détail

Cours: Administration d'une Base de Données

Cours: Administration d'une Base de Données Bases de Données Avancées Module A IUT Lumière, License CE-STAT 2006-2007 Pierre Parrend Cours: Administration d'une Base de Données Table of Contents Principes...1 Structure d'un Base de Données...1 Architecture...1

Plus en détail

Bases de SQL. Hacks 1-6 CHAPITRE UN

Bases de SQL. Hacks 1-6 CHAPITRE UN CHAPITRE UN Bases de SQL Hacks 1-6 Même les commandes SQL les plus simples peuvent comporter des variantes curieuses ; ce chapitre vous montrera qu un programmeur astucieux peut exploiter les nombreuses

Plus en détail

Sommaire. Etablir une connexion avec une base de données distante sur PostGreSQL

Sommaire. Etablir une connexion avec une base de données distante sur PostGreSQL Sommaire Etablir une connexion avec une base de données distante sur PostGreSQL 1 Connexion avec le module dblink...3 1.1 Création du module dblink... 3 1.2 Exemple de Mise en oeuvre... 4 1.3 Création

Plus en détail

Open Source Job Scheduler. Installation(s)

Open Source Job Scheduler. Installation(s) Open Source Job Scheduler Installation(s) Installations Standard Configuration Superviseur Agent SOS-Paris 2 Pré-requis o Base de données o MySQL, MSACCESS, Oracle o JDBC ou ODBC o Connecteurs o Mysql

Plus en détail

Configurer la supervision pour une base MS SQL Server Viadéis Services

Configurer la supervision pour une base MS SQL Server Viadéis Services Configurer la supervision pour une base MS SQL Server Référence : 11588 Version N : 2.2 : Créé par : Téléphone : 0811 656 002 Sommaire 1. Création utilisateur MS SQL Server... 3 2. Configuration de l accès

Plus en détail

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

Sécurité des sites Web Pas un cours un recueil du net. INF340 Jean-François Berdjugin Sécurité des sites Web Pas un cours un recueil du net INF340 Jean-François Berdjugin Vulnérabilité Définition (wikipédia) : Dans le domaine de la sécurité informatique, une vulnérabilité est une faiblesse

Plus en détail

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

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 6, bd maréchal Juin F-14050 Caen cedex 4 Spécialité Informatique 2 e année Rapport de projet Gestion du parc informatique matériel et logiciel de l Ensicaen SAKHI Taoufik SIFAOUI Mohammed Suivi ENSICAEN

Plus en détail

Encapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets.

Encapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets. Encapsulation L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets. La visibilité dépend des membres : certains membres peuvent être visibles et d'autres

Plus en détail

Comment Accéder à des Bases de Données MySQL avec Windows lorqu'elles sont sur un Serveur Linux

Comment Accéder à des Bases de Données MySQL avec Windows lorqu'elles sont sur un Serveur Linux Comment Accéder à des Bases de Données MySQL avec Windows lorqu'elles sont sur un Serveur Linux Distribué par Le Projet Documentation d'openoffice.org Table of Contents 1) Préambule...3 2) Télécharger

Plus en détail

Licence de MIDO - 3ème année Spécialités Informatique et Mathématiques Appliquées

Licence de MIDO - 3ème année Spécialités Informatique et Mathématiques Appliquées Licence de MIDO - 3ème année Spécialités Informatique et Mathématiques Appliquées ANNEE 2014 / 2015 Désignation de l enseignement : Bases de données Nom du document : TP SQL sous PostgreSQL Rédacteur :

Plus en détail

Windows Front-End Installation Guide HOPEX V1R1 FR

Windows Front-End Installation Guide HOPEX V1R1 FR Révisé le : 5 novembre 2013 Créé le : 31 octobre 2013 Auteur : Jérôme Horber SOMMAIRE Résumé Ce document décrit les procédures et les paramétrages techniques nécessaires à l'installation, à la mise à jour

Plus en détail

Le stockage local de données en HTML5

Le stockage local de données en HTML5 Le stockage local HTML5, pourquoi faire? Dans une optique de réduction des couts de maintenance, de déploiement, beaucoup d'entreprises ont fait le choix de migrer leurs applicatifs (comptables, commerciales,

Plus en détail

cedric.foll@(education.gouv.fr laposte.net) Ministère de l'éducation nationale Atelier sécurité Rabat RALL 2007

cedric.foll@(education.gouv.fr laposte.net) Ministère de l'éducation nationale Atelier sécurité Rabat RALL 2007 A t t a q u e s c o n t r e l e s a p p l i s w e b cedric.foll@(education.gouv.fr laposte.net) Ministère de l'éducation nationale Atelier sécurité Rabat RALL 2007 D e l ' u t i l i t é d e l ' a t t a

Plus en détail

MOTEUR DE WORKFLOW Mise en oeuvre d'openwfe Version 1.0-25 septembre 2006

MOTEUR DE WORKFLOW Mise en oeuvre d'openwfe Version 1.0-25 septembre 2006 MOTEUR DE WORKFLOW Mise en oeuvre d'openwfe Version 1.0-25 septembre 2006 SOMMAIRE 1 AVANT PROPOS...3 2 PRÉSENTATION...4 2.1 Quelques définitions...4 2.2 Besoins d'intégration d'un moteur de workflow...4

Plus en détail

1. La plate-forme LAMP

1. La plate-forme LAMP Servi ces pour intranet et Internet Ubuntu Linux - Création et gestion d un réseau local d entreprise 1. La plate-forme LAMP Services pour intranet et Internet La fourniture d'un site pour le réseau ou

Plus en détail

Compte Rendu d intégration d application

Compte Rendu d intégration d application ISMA 3EME ANNEE Compte Rendu d intégration d application Compte Rendu Final Maxime ESCOURBIAC Jean-Christophe SEPTIER 19/12/2011 Table des matières Table des matières... 1 Introduction... 3 1. Le SGBD:...

Plus en détail

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

L envoi d un formulaire par courriel. Configuration requise... 236 Mail Texte... 237 Mail HTML... 242 Check-list... 248 L envoi d un formulaire par courriel Configuration requise... 236 Mail Texte... 237 Mail HTML... 242 Check-list... 248 Chapitre 9 L envoi d un formulaire par courriel L envoi par courriel d informations

Plus en détail

BIRT (Business Intelligence and Reporting Tools)

BIRT (Business Intelligence and Reporting Tools) BIRT (Business Intelligence and Reporting Tools) Introduction Cette publication a pour objectif de présenter l outil de reporting BIRT, dans le cadre de l unité de valeur «Data Warehouse et Outils Décisionnels»

Plus en détail

CONCOURS DE L AGRÉGATION INTERNE «ÉCONOMIE ET GESTION» SESSION 2015 SECONDE ÉPREUVE

CONCOURS DE L AGRÉGATION INTERNE «ÉCONOMIE ET GESTION» SESSION 2015 SECONDE ÉPREUVE CONCOURS DE L AGRÉGATION INTERNE «ÉCONOMIE ET GESTION» SESSION 2015 SECONDE ÉPREUVE Épreuve de cas pratique dans la spécialité correspondant à l'option choisie par le candidat Option D Durée de préparation

Plus en détail

FileMaker Server 13. Publication Web personnalisée avec PHP

FileMaker Server 13. Publication Web personnalisée avec PHP FileMaker Server 13 Publication Web personnalisée avec PHP 2007-2013 FileMaker, Inc. Tous droits réservés. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, Californie 95054 FileMaker et Bento sont

Plus en détail

Polymorphisme, la classe Object, les package et la visibilité en Java... 1

Polymorphisme, la classe Object, les package et la visibilité en Java... 1 Polymorphisme, la classe Object, les package et la visibilité en Java. Polymorphisme, la classe Object, les package et la visibilité en Java.... 1 Polymorphisme.... 1 Le DownCast... 4 La Classe Object....

Plus en détail

Catalogue des Formations Techniques

Catalogue des Formations Techniques Catalogue des Formations Techniques Items Média Concept 4, allées Pierre-Gilles de Gennes - 33700 Mérignac Téléphone : 05.57.35.73.73 Télécopie : 05.57.35.73.70 Courriel : contact@imc-fr.com 2 Préambule

Plus en détail

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

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e : CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE Projet 2 Gestion des services enseignants G r o u p e : B E L G H I T Y a s m i n e S A N C H E Z - D U B R O N T Y u r i f e r M O N T A Z E R S i

Plus en détail

Pluridisciplinarité. Classe de BTS DATR 1 -----------------------------------------------------------------------

Pluridisciplinarité. Classe de BTS DATR 1 ----------------------------------------------------------------------- Pluridisciplinarité Classe de BTS DATR 1 ----------------------------------------------------------------------- Module M53: Diagnostic de territoire cible dans le secteur des services. -----------------------------------------------------------------------

Plus en détail

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

Introduction. PHP = Personal Home Pages ou PHP Hypertext Preprocessor. Langage de script interprété (non compilé) Introduction PHP = Personal Home Pages ou PHP Hypertext Preprocessor Langage de script interprété (non compilé) Plan Avantages Fonctionnement interne Bases du langage Formulaires Envoi d un email Avantages

Plus en détail

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

Principales failles de sécurité des applications Web Principes, parades et bonnes pratiques de développement Guillaume HARRY l Contenu sous licence Creative Commons CC-BY-NC-ND Principales failles de sécurité des applications Web Principes, parades et bonnes pratiques de développement P. 2 1. Introduction 2.

Plus en détail

Ecole Polytechnique de Louvain INGI 1271 - Fichiers et bases de données

Ecole Polytechnique de Louvain INGI 1271 - Fichiers et bases de données Ecole Polytechnique de Louvain INGI 1271 - Fichiers et bases de données Rapport de projet " Gestion d'un aéroport " Groupe 13 DE GROOTE Charles LAMOULINE Laurent NUTTIN Vincent Q6-2009 TABLE DES MATIÈRES

Plus en détail

1 Position du problème

1 Position du problème Licence Science et Technologies - INF245 Examen session 1 - mai 2012 Durée : 2 heures Documents non autorisés Le barème est donné à titre indicatif 1 Position du problème Le Club Universitaire de Vélo

Plus en détail

Diagramme de classes

Diagramme de classes Diagramme de classes Un diagramme de classes décrit les classes et leurs relations (associations, généralisation/spécialisation, ). classe association méthodes attributs héritage Diagramme de classes :

Plus en détail

Document Object Model (DOM)

Document Object Model (DOM) Document Object Model (DOM) Jean-Claude Charr Maître de conférences IUT de Belfort Montbéliard Université de Franche Comté Description générale Définit un standard pour accéder aux documents structurés

Plus en détail

progecad NLM Guide de l'utilisateur

progecad NLM Guide de l'utilisateur progecad NLM Guide de l'utilisateur Rev. 11.1 Table des matières Table des matières...2 Introduction...3 Comment démarrer...3 Installation de progecad NLM server...3 Enregistrement de progecad NLM server...3

Plus en détail

I. MySQL : Serveur et SGBD

I. MySQL : Serveur et SGBD Le Système de Gestion de Base de Données MySQL I. MySQL : Serveur et SGBD Menu I. MySQL : Serveur et SGBG II. Création d'une base de données avec MySQL MySQL est un système de gestion et conception de

Plus en détail

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL Cours PL/SQL Langage propre à Oracle basé sur ADA Offre une extension procédurale à SQL PL/SQL permet d utiliser un sous-ensemble du langage SQL des variables, des boucles, des alternatives, des gestions

Plus en détail

Architecture de la plateforme SBC

Architecture de la plateforme SBC Simple Business Connector Architecture de la plateforme SBC Titre Projet Description Architecture de la plateforme SBC Plateforme SBC Ce document reprend toutes les étapes de l'installation du serveur

Plus en détail

III. Contexte. Objectifs. Philippe HOUE, Philippe.Houe@emn.fr Ecole des Mines de Nantes

III. Contexte. Objectifs. Philippe HOUE, Philippe.Houe@emn.fr Ecole des Mines de Nantes Gestion de parc : solution libre VS commerciale III Gestion de parc : solution libre VS commerciale Philippe HOUE, Philippe.Houe@emn.fr Ecole des Mines de Nantes Il existe de nombreux logiciels permettant

Plus en détail

Notion de base de données

Notion de base de données Notion de base de données Collection de données opérationnelles enregistrées sur un support adressable et utilisées par les systèmes et les applications Les données doivent être structurées indépendamment

Plus en détail

Extension SSO Java. Cette note technique décrit la configuration et la mise en œuvre du filtre de custom SSO Java.

Extension SSO Java. Cette note technique décrit la configuration et la mise en œuvre du filtre de custom SSO Java. Note technique W4 Engine Extension SSO Java Cette note technique décrit la configuration et la mise en œuvre du filtre de custom SSO Java. 1 Présentation 3 2 Custom SSO Java 4 3 Bilan 10 Sommaire Référence

Plus en détail

Généralités. javadoc. Format des commentaires. Format des commentaires. Caractères spéciaux. Insérer du code

Généralités. javadoc. Format des commentaires. Format des commentaires. Caractères spéciaux. Insérer du code Généralités javadoc Université de Nice - Sophia Antipolis Richard Grin Version 1.4.1 8/2/11 javadoc produit de la documentation en partant de commentaires particuliers insérés dans le code source des classes

Plus en détail

E-mail : contact@nqicorp.com - Web : http://www.nqicorp.com

E-mail : contact@nqicorp.com - Web : http://www.nqicorp.com - 5, rue Soutrane - 06560 Valbonne Sophia-Antipolis E-mail : contact@nqicorp.com - Web : http://www.nqicorp.com NQI Orchestra 3.3 - Guide d'installation Linux....................................................................

Plus en détail

ORACLE 10G DISTRIBUTION ET REPLICATION. Distribution de données avec Oracle. G. Mopolo-Moké prof. Associé UNSA 2009/ 2010

ORACLE 10G DISTRIBUTION ET REPLICATION. Distribution de données avec Oracle. G. Mopolo-Moké prof. Associé UNSA 2009/ 2010 ORACLE 10G DISTRIBUTION ET REPLICATION Distribution de données avec Oracle G. Mopolo-Moké prof. Associé UNSA 2009/ 2010 1 Plan 12. Distribution de données 12.1 Génération des architectures C/S et Oracle

Plus en détail

Soon_AdvancedCache. Module Magento SOON. Rédacteur. Relecture & validation technique. Historique des révisions

Soon_AdvancedCache. Module Magento SOON. Rédacteur. Relecture & validation technique. Historique des révisions Module Magento SOON Soon_AdvancedCache Rédacteur Hervé G. Lead développeur Magento herve@agence-soon.fr AGENCE SOON 81 avenue du Bac 94210 LA VARENNE ST HILAIRE Tel : +33 (0)1 48 83 95 96 Fax : +33 (0)1

Plus en détail

Programmation Web. Madalina Croitoru IUT Montpellier

Programmation Web. Madalina Croitoru IUT Montpellier 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

Plus en détail

Olivier Mondet http://unidentified-one.net

Olivier Mondet http://unidentified-one.net T-GSI Ch.4 Le Langage SQL LDD, LCD Cet exercice guidé reprend le plan suivis lors de l intervention de formation faite pour l académie de Versailles. L objectif principal visait en la présentation du langage

Plus en détail

DOM - Document Object Model

DOM - Document Object Model DOM - Document Object Model 1 But de DOM Interfacer les langages de programmation avec les documents XML en les associant avec un modèle orienté objet DOM permet aux programmes et scripts : d'accéder et

Plus en détail

PostgreSQL. Formations. Catalogue 2011. Calendrier... 8

PostgreSQL. Formations. Catalogue 2011. Calendrier... 8 Formations PostgreSQL Catalogue 2011 Administration PostgreSQL... 2 PostgreSQL Avancé... 3 PostgreSQL Réplication : Hot Standby... 4 Développer avec PostgreSQL... 5 Migration Oracle vers PostgreSQL...

Plus en détail

I4 : Bases de Données

I4 : Bases de Données I4 : Bases de Données Passage de UML au modèle relationnel Georges LOUIS Département Réseaux et Télécommunications Université de La Rochelle Module I4 2008-2009 1 G.Louis Sommaire 1 Des classes aux tables

Plus en détail

Dans l'article précédent, vous avez appris

Dans l'article précédent, vous avez appris Pour les débutants Les différents formats de sortie proposés par PHPExcel La bibliothèque orientée objet PHPExcel permet de lire et créer des fichiers pour tableurs. Dans cette série d articles, vous apprendrez

Plus en détail

Bases de données relationnelles

Bases de données relationnelles Bases de données relationnelles Système de Gestion de Bases de Données Une base de données est un ensemble de données mémorisé par un ordinateur, organisé selon un modèle et accessible à de nombreuses

Plus en détail

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique Institut Supérieure Aux Etudes Technologiques De Nabeul Département Informatique Support de Programmation Java Préparé par Mlle Imene Sghaier 2006-2007 Chapitre 1 Introduction au langage de programmation

Plus en détail