Réalisation des SI : Technologie Internet. Figure 2. Réponse d un serveur à la demande d une page Web dynamique

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

Download "Réalisation des SI : Technologie Internet. Figure 2. Réponse d un serveur à la demande d une page Web dynamique"

Transcription

1 Chapitre 4 : PHP Partie I : Les bases de PHP I. Introduction & historique - Il a été créé en 1994 par Rasmus Lerdorf pour les besoins des pages web personnelles (livre d or, compteurs, etc.). A l époque, PHP signifiait Personnal Home Page. - C est un langage incrusté au langage HTML et interprété (PHP3) ou compilé (PHP4) côté serveur. Il dérive du C et du Perl dont il reprend la syntaxe. Comme il supporte tous les standards du web et qu il est gratuit, il s est évidement répandu sur la toile. - En 1997, PHP devient un projet collectif et son interpréteur est réécrit par Zeev Suraski et Andi Gutmans pour donner la version 3 qui s appelle désormais PHP : Hypertext Preprocessor. - En Juillet 2000, plus de sites tournaient déjà sous PHP! 2. Syntaxe de base 2.1. Le passage du HTML au PHP Avant : en HTML Figure 1. Réponse d un serveur à la demande d une page Web statique Il y a 2 étapes : 1. Le client (c'est vous) demande à voir une page web (page HTML). Il va donc faire une demande au serveur. 2. Le serveur lui répond en lui envoyant la page demandée Maintenant : en PHP Il y a une étape qui vient s'ajouter entre les deux : la page PHP est générée par le serveur avant l'envoi. Schématiquement (cf. Figure2) : 1

2 Figure 2. Réponse d un serveur à la demande d une page Web dynamique Les étapes sont : 1. Le client demande à voir une page PHP. Pour lui il n'y a aucune différence. Il demande la page au serveur. 2. Mais là, il y a une étape très importante, qui fait toute la différence en PHP. Le serveur n'envoie pas de suite la page au client. Il la génère. En effet, le client n'est pas capable de lire une page PHP (seul le serveur sait faire ça). Le client ne peut lire que des pages HTML. Ce que fait le serveur est simple : il va transformer la page PHP en page HTML, pour que le client puisse la lire. 3. Enfin, une fois que la page est générée, elle ne contient plus que du code HTML. Le serveur peut l'envoyer au client. Remarque N'oubliez pas qu'une page PHP contient aussi du code HTML. Tant qu'il y a du code HTML, le serveur n'y touche pas. Dès qu'il tombe sur du code PHP, il le lit, il l'exécute (il fait ce que le code lui demande), et il transforme ça en HTML Atouts de PHP Il est important de bien connaître les atouts d'un langage avant de se lancer ceci afin de s'assurer qu'il réponde bien aux besoins du projet web. Voici une liste des caractéristiques de PHP qui en font un langage incontournable et facile d'accès pour le web : PHP est un langage de scripts. Il est interprété, par conséquent il ne nécessite pas d'être compilé pour obtenir un objet, un exécutable avant d'être utilisable (comme en C par exemple). PHP est un module supporté par le serveur web Apache, le plus répandu dans le monde (plus de 70% des serveurs web), il est donc développé pour être facilement utilisable via ce serveur (Il fonctionne évidemment avec d'autres serveurs web comme IIS...). PHP permet d'exploiter facilement de très nombreuses bases de données comme Oracle, MySQL, dbase, Sybase, PostgreSQL, MSQL... PHP reconnaît l'essentiel des protocoles et formats disponibles sur Internet et intranet : TCP, HTTP, SMTP, POP, Soap, XML, PDF... 2

3 PHP est gratuit et performant tout comme MySQL, c'est pourquoi le duo PHP/MySql est particulièrement aisé à mettre en place et proposé à des prix modestes chez les hébergeurs. PHP est multi plates-formes : Windows, UNIX, LINUX et MAC OS Intégration d un script dans une page Les pages web sont au format html. Les pages web dynamiques générées avec PHP4 sont au format php. Le code source php est directement insérer dans le fichier html grâce au conteneur de la norme XML : <?php Exemple: <html> <body> <?php echo "Bonjour"; </body> </html> Autres syntaxes d intégration : <? <script language="php"> </script> <%...%> 2.3. Les séparateurs d Instructions Chaque instruction de code php doit être terminée par un point virgule (;). Son absence entraînera automatiquement une erreur de type "parse error". Par contre, plusieurs instructions peuvent être présentes sur une ligne, tout comme une instruction peut chevaucher plusieurs lignes. Pour plus de lisibilité, il est préférable d'éviter de mettre plusieurs instructions sur une même ligne Les commentaires Un script php se commente comme en C : <?php // commentaire de fin de ligne /* commentaire sur plusieurs lignes */ # commentaire de fin de ligne comme en Shell Tout ce qui se trouve dans un commentaire est ignoré. Il est conseillé de commenter largement ses scripts. 3

4 2.5. Afficher du texte On peut utiliser la fonction print ou la commande echo pour écrire du texte, mais la première est une fonction et retourne donc un résultat d'où son exécution légèrement plus lente. Exemples : echo "Bonjour $name"; print("bonjour $name"); On peut inclure des retours chariots, des sauts de ligne, des tabulations... Qui ne seront visibles dans le formatage du code source HTML. Voici les principales séquences utilisables : Séquence d'échappement Signification \n nouvelle ligne \r retour chariot \ pour déspécialiser \t tabulation horizontale Exemples : <?echo "mon texte"; echo "<font color=\"blue\">"; // on despécialise Ou encore : <?echo 'mon texte'; echo '<font color="blue">lmd</font>'; // inutile de despécialiser echo "Celle-ci a été écrite <b>uniquement</b> en PHP." 3. Variables, types, opérateurs et constantes 3.1. Les variables En PHP, il n'est pas nécessaire de déclarer au préalable les variables qui seront utilisées, ni de préciser leur type qui est défini par défaut et de façon transparente par PHP en fonction de leur valeur. Ainsi, PHP est un langage dit de "typage faible et dynamique", dynamique car le type de la variable évolue en fonction de la valeur que vous lui assignez. En PHP, tous les noms de variable commencent obligatoirement par le signe $ (dollar). L'affectation d'une valeur à une variable s'effectue par le signe = (attention la comparaison s'effectue avec ==). 4

5 Exemples d'affectations de valeurs à des variables ainsi que l affichage de leurs contenus : $nb_lectures = 139; $date_ecriture = "03/12/2003"; $date_actuelle = date(d/m/y); $auteur = "notre-planete.info"; $source = "Commission européenne"; $_lien = "<a href=\" target=\"_blank\">"; $interet = ($nb_lectures / 10); echo " $nb_lectures " ; echo "nombre de lectures $nb_lectures " ; Remarques sur les noms de variables : Ils sont obligatoirement des chaînes de caractères non numériques et non réservées. Les caractères de ponctuation (., ;...) et le caractère - ne sont pas acceptés. Eviter les caractères accentués. Pas d espaces. Le premier caractère ne peut être un chiffre. PHP est sensible à la casse! Variables dynamiques Une variable dynamique est une variable dont le nom est déterminé dynamiquement, par exemple en utilisant la valeur d'une autre variable. Par exemple, supposons qu'on ait ceci : $var = "info"; Maintenant, on dit que l'on veut créer une variable dont le nom sera la valeur de $var. $$var = "php"; // ou encore ${$var 3.2. Les types - Les variables peuvent être de type entier (integer), réel (double), chaîne de caractères (string), tableau (array), objet (object), booléen (boolean). - PHP ne requiert pas de déclaration préalable des types de variables qui seront utilisées. Le type est défini par PHP en fonction de la valeur de la variable. Notons que la présence de l'opérateur "+" convertit automatiquement le type en numérique. Les exemples suivants nous montrent comment les types sont assignés : $var = "0"; //$var est une chaîne de caractères $var++; //$var est la chaîne de caractères "1" $var = $var + 1; //$var est un entier et vaut 2 $var += 1.3; //$var est de type "double" et vaut 3.3 $var = 2 + "8 arbres"; //$var est de type "integer" et vaut 10 Cependant il est possible de "typer" et de connaître le type d'une variable qui a été défini grâce aux fonctions gettype() et settype(). 5

6 Le type booléen Il n'existe pas en PHP de type booléen pour créer une variable qui n'aurait que pour valeur "vrai" ou "faux". Cependant, les valeurs TRUE et peuvent être utilisées dans le cadre d'une variable numérique. $b=true ; $b1=false ; Notons que certaines fonctions retournent false ou true si elles se sont correctement exécutées et on peut donc les tester... Quelques fonctions de teste sur les variables empty($var) : renvoie vrai si la variable est vide (n est pas défini. isset($var) : renvoie vrai si la variable existe (possède une valeur). unset($var) : détruit une variable, libérant la mémoire qu elle occupe. gettype($var) : retourne le type de la variable. settype($var, type ) : convertit la variable en type type. is_long(), is_double(), is_string(), is_array(), is_object(), is_bool(), is_float(), is_numeric(), is_integer(), is_int() Exemple: if (gettype($age)!= "integer") { settype ($age,"integer"); // ou encore $age = (int) $age; echo "Vous avez $age ans..."; Le type chaîne de caractères Une variable chaîne de caractères n est pas limitée en nombre de caractères. Elle est toujours délimitée par des simples quottes ou des doubles quottes. Exemples : $nom = "xxxxxx"; $prenom = yyyyyy ; Remarque : Les doubles quottes permettent l évaluation des variables et caractères spéciaux contenus dans la chaîne (comme en C ou en Shell) alors que les simples ne le permettent pas. Exemples : $nom= xxxxx echo "Nom: $nom"; // affiche Nom: xxxxx echo Nom: $nom ; // affiche Nom: $nom Quelques fonctions à appliquer sur les chaînes de caractères strlen($str) : retourne le nombre de caractères d une chaîne. 6

7 strtolower($str) : conversion en minuscules. strtoupper($str) : conversion en majuscules. trim($str) : suppression des espaces de début et de fin de chaîne substr($str,$i,$j) : retourne une sous chaîne de $str de taille $j et débutant à la position $i strnatcmp($str1,$str2) : comparaison de 2 chaînes addslashes($str) : déspécialise les caractères spéciaux (,, \) ord($char) : retourne la valeur ASCII du caractère $char 3.3. Les opérateurs Les opérateurs numériques Ils s'entendent sur des opérations mathématiques avec des valeurs de type entier ou réel. Supposons que $op1 vaut 5 et $op2 vaut 2 Opérateur Signification Exemple + addition $op1 + $op2 7 - soustraction $op1 - $op2 3 résultat ou valeur $op1 * multiplication $op1 * $op2 10 / division $op1 / $op2 2.5 % modulo $op1 % $op2 1 - négatif $op1 = -$op incrément $op Décrément $op Les opérateurs de comparaison Ils sont utilisés lors de tests et notamment dans les structures conditionnelles. Opérateur Signification Exemple == égalité $op1 == $op2 < strictement inférieur $op1 < $op2 > strictement supérieur $op1 > $op2 <= inférieur ou égal $op1 <= $op2 >= supérieur ou égal $op1 >= $op2!= différent $op1!= $op2 7

8 Les opérateurs logiques Ces opérateurs permettent de combiner des tests et d'obtenir VRAI ou FAUX en fonctions des valeurs des opérandes. opérateurs ET OU inclusif OU exclusif NON syntaxe "&&" ou "and" " " ou "or" xor! Tout comme les opérateurs de comparaison, les opérateurs logiques sont principalement utilisés dans les tests et peuvent bien sûr être combinés entre eux, tout en prenant garde aux règles de priorités (le ET équivaut à une multiplication et est donc prioritaire sur le OU) L'opérateur d'affectation En PHP, il ne faut pas confondre le signe d'affectation constitué d'un seul "=" avec le signe d'égalité constitué de deux "==" L'opérateur de concaténation Afin d'assembler plusieurs chaînes de caractères les unes après les autres, on utilise le point ".". Exemple 1: $f = "Hello"; $b = "Word"; echo $f.$b; Utilisation de raccourcis pour les opérateurs On peut utiliser des raccourcis dans les affectations numériques ou caractères. Opérateur Signification Exemple Equivalent Résultat += addition $op1 += 7; $opt1 = $opt1 + 7; 12 -= soustraction $op1 -= 7; $opt1 = $opt1-7; -2 *= multiplication $op1 *= 7; $opt1 = $opt1 * 7; 35 /= division $op1 /= 7; $opt1 = $opt1 / 7; %= modulo $op1 %= 7; $opt1 = $opt1 % 7; 5.= concaténation $op1.= 7; $opt1 = $opt1."7"; 57 8

9 Remarque : Signalons un opérateur très spécial qui équivaut à une structure conditionnelle complexe if then else à la différence qu il renvoie un résultat de valeur pouvant ne pas être un booléen : l opérateur ternaire. Syntaxe : (condition)?(expression1):(expression2); Si la condition est vrai alors évalue et renvoie l expression1 sinon évalue et renvoie l expression2. $nbr = ($D>10)?($D):($D%10); 3.4. Les constantes L utilisateur peut définir des constantes dont la valeur est fixée une fois pour toute. Les constantes ne portent pas le symbole $ (dollars) en début d identificateur et ne sont pas modifiables. Syntaxe : define("var",valeur) : définit la constante var (sans $) de valeur valeur Exemple: define ("auteur","hugo"); echo author; // affiche Hugo Exemple 2 : define(annee,1980); echo annee; // affiche 1980 Remarque : - Contrairement aux variables, les identificateurs de constantes (et aussi ceux de fonction) ne sont pas sensibles à la casse. - On peut enfin vérifier la présence d'une constante avec la fonction defined() qui renvoie 1 si cette première a été déclarée et 0 dans le cas contraire : if (defined("auteur")) { echo auteur; 4. Structures de contrôles Comme dans tout langage de programmation, le déroulement et le fonctionnement d'un programme PHP sont contrôlés par ce qu'on appelle des structures de contrôle : tests conditionnels, boucles, sauts... PHP rassemble la plupart les structures de contrôle connues dans un format identique au C. 9

10 4.1. Structures conditionnelles If else if (expr1) { code à exécuter si expr1 est validé elseif (expr2) { code à exécuter si expr2 est validé... else { code à exécuter si aucune des expressions précédentes n'est validée Switch switch (expr1) { case expr2: {code à exécuter si expr1=expr2 break; case expr3: {code à exécuter si expr1=expr3 break;... default: {code à exécuter s'il n'y a pas eu de correspondance jusqu'ici break; expr1, expr2... peuvent être n'importe quoi (integers, strings, résultats d'un appel de fonction...), pourvu que "expr1 == expr2" ait un sens Boucles For for (start_expr; cond_expr; iter_expr) { code à exécuter à chaque itération de boucle for ($i = 1; $i < 11; $i++) { // Affichage de la valeur du compteur $i echo "$i\n"; 10

11 While while (expr) { code à exécuter tant que expr sera vérifiée $i = 1; while ($i < 11) { // Affichage de la valeur du compteur $i echo "$i\n"; $i++; Do/While do { code à exécuter dans l'itération while (expr); Remarque : Les instructions break et continue peuvent être utilisées, respectivement soit pour terminer immédiatement et définitivement la boucle (l'itération en cours est interrompue) pour continuer le programme avec le code qui suit, soit pour finir immédiatement l'itération en cours, mais on ne sort pas de la boucle (on continue par l'évaluation de l'expression d'itération). 5. Les fonctions et les tableaux 5.1. Les fonctions - Comme tout langage de programmation, php permet l écriture de fonctions. Les fonctions peuvent prendre des arguments dont il n est pas besoin de spécifier le type. Elles peuvent de façon optionnelle retourner une valeur. - L appel à une fonction peut ne pas respecter son prototypage (nombre de paramètres). Les identificateurs de fonctions sont insensibles à la casse. Syntaxe : Function nom_fonction($var1,$var2, ) { Corps de la fonction return (valeur);//optionnel 11

12 Exemples : 1. Function mafonction($b) { $b += 15; echo Salut! ; return ($b+10); $nbr = MaFonction(15.1); /* retourne =40.1, les majuscules n ont pas d importance */ 2. function afficher($str1, $str2) { // passage de deux paramètres echo $str1, $str2 ; 3. function bonjour() { // passage d aucun paramètre echo Bonjour ; 4. function GetColor() { // retour d une variable de type chaîne return black ; 5.2. Les tableaux (array) - Une variable tableau est de type array. Un tableau accepte des éléments de tout type. Les éléments d un tableau peuvent être de types différents et sont séparés d une virgule. - Un tableau peut être initialisé avec la syntaxe array. $tab_colors = array( red, yellow, blue, white ); $tab = array( foobar, 2002, 20.5, $name); - Mais il peut aussi être initialisé au fur et à mesure. Exemples : $prenoms[ ] = Clément ; $villes[0] = Paris ; $prenoms[ ] = Justin ; $villes[1] = Londres ; $prenoms[ ] = Tanguy ; $villes[2] = Lisbonne ; - L appel d un élément du tableau se fait à partir de son indice (dont l origine est zéro comme en C). echo $tab[10]; // pour accéder au 11ème élément - Parcours d un tableau. $tab = array( Hugo, Jean, Mario ); Exemple 1 : $i=0; while($i <= count($tab)) { // count() retourne le nombre d éléments echo $tab[$i]. \n ; $i++; 12

13 Exemple 2 : foreach($tab as $elem) { echo $elem. \n ; //La variable $elem prend pour valeurs successives tous les éléments du tableau $tab. Tableaux associatifs - Un tableau associatif est appelé aussi dictionnaire ou hashtable. On associe à chacun de ses éléments une clé dont la valeur est de type chaîne de caractères. - L initialisation d un tableau associatif est similaire à celle d un tableau normal. Exemple 1 : $personne = array( Nom => César, Prénom => Jules ); $personne[ Nom ] = César ; $personne[ Prénom ] = Jules ; Ici à la clé Nom est associée la valeur César. Parcours d un tableau associatif $personne = array( Nom => César, Prénom => Jules ); Exemple 1 : foreach($personne as $elem) { echo $elem; Ici on accède directement aux éléments du tableau sans passer par les clés. Exemple 2 : foreach($personne as $key => $elem) { echo $key : $elem ; Ici on accède simultanément aux clés et aux éléments. Quelques fonctions : array_count_values($tab) : retourne un tableau contenant les valeurs du tableau $tab comme clés et leurs fréquence comme valeur (utile pour évaluer les redondances). array_keys($tab) : retourne un tableau contenant les clés du tableau associatif $tab. array_values($tab) : retourne un tableau contenant les valeurs du tableau associatif $tab. array_search($val,$tab) : retourne la clé associée à la valeur $val. Remarque : - L élément d un tableau peut être un autre tableau. - Les tableaux associatifs permettent de préserver une structure de données. 13

14 6. Classes et Objets PHP gère la programmation orientée objet à l aide de classes. class Voiture { // déclaration de la classe var $couleur; // déclaration d un attribut var $belle = TRUE; // initialisation d un attribut function voiture() { // constructeur $this->couleur = noire ; // Le mot clé $this faisant référence à l objet est obligatoire function Set_Couleur($couleur) { $this->couleur = $couleur; $mavoiture = new Voiture (); // création d une instance $mavoiture->set_couleur( blanche ); // appel d une méthode $coul = $mavoiture->couleur; // appel d un attribut -Le système de classes de PHP est très bref, il ne gère que l héritage simple. class Voituredeluxe extends Voiture { // déclaration de la sous classe var $couleur; function voituredeluxe() { // constructeur $this->voiture(); function Set_Couleur($couleur) { $this->couleur = $couleur; function Get_Couleur() { return $this->couleur; La nouvelle classe Voituredeluxe hérite de tous les attributs et méthodes de la classe parente Voiture dont elle est une extension (extends). Il est possible de surcharger les méthodes, d en déclarer de nouvelles, etc. Quelques fonctions : get_declared_classes() : retourne un tableau listant toutes les classes définies. class_exists($str) : vérifie qu'une classe dont le nom est passé en argument a été définie. get_class($obj), get_parent_class : retournent le nom de la classe de l objet $obj. 14

15 get_class_methods($str) : retourne les noms des méthodes de la classe $str dans un tableau. get_class_vars($str) : retourne les valeurs par défaut des attributs de la classe $str dans un tableau associatif. get_object_vars($obj) : retourne un tableau associatif des attributs de l objet. $obj les clés sont les noms des attributs et les valeurs, celles des attributs si elles existent. is_subclass_of($obj,$str) : détermine si l objet $obj est une instanciation d une sous-classe de $str, retourne VRAI ou FAUX. method_exists($obj,$str) : vérifie que la méthode $str existe pour une classe dont $obj est une instance, retourne VRAI ou FAUX. Remarques : - Il n existe pas de destructeur : comme en Java, les objets qui cessent d être utilisés sont automatiquement détruits. - Il n y a pas de notion de visibilité : tous les attributs et méthodes sont publiques et une classe hérite forcément de tous les attributs et méthodes de son père. - Une classe fille hérite de tous les attributs et méthodes de la classe parente dont elle est une extension (d ou la syntaxe extends). Il est possible de surcharger les méthodes, d en définir de nouvelles 15

16 Chapitre 4 : PHP Partie II : Caractéristiques (Les bases de Données) 7. Récupération des données : formulaires et superglobales Un des aspects intéressants de PHP, c'est qu'on peut se transmettre des variables de page en page. transmettre le nom du visiteur d une page vers une autre Transmission des variables en modifiant l'adresse (variables présentes dans l URL) - Dans ce cas, les variables et les valeurs qu'elles prennent sont déclarées directement dans l'url c'est à dire via la balise de lien HTML <a href="url">. Les variables sont ensuite exploitables sur la page cible en PHP. - Pour déclarer une variable qui sera visible dans la page cible il suffit donc de placer à la fin de l'url un? Suivi d'un couple nom=valeur en séparant les variables par un & lorsqu'il y en a plus d'une. - On peut donc faire transiter un certain nombre de variables par l'url en répétant la forme : url.php?variable1=valeur1&variable2=valeur2&variablen=valeurn avec une limite fixée à 255 caractères. Dans le cas d'une seule variable il n'est pas utile de mettre de &. <?php echo 'Choisissez une action<br />'; echo '1. <a href="dossier.php?page=2&n=15">lire la suite du dossier</a><br />'; echo '2. <a href="dossier.php?fin=1">terminer la lecture</a>'; Comment récupérer la valeur des variables passées dans l'url? La récupération des variables se fait via la syntaxe : $variable = $_GET['variable1']. Ainsi on aura par exemple dans la page dossier.php <?php if (isset($_get['fin'])) { echo 'Vous avez interrompu votre lecture. A bientôt'; exit(); else { $page = $_GET['page']; $nombrepages = $_GET['n']; echo 'Dossier sur les abeilles - page '.$page.' sur '.$nombrepages; 16

17 7.2. Transmission des variables en utilisant les formulaires Un formulaire est constitué de champs et de contrôles : zones de texte, boutons radio, cases à cocher, listes déroulantes... Chacun de ces éléments se caractérise par un attribut "name" qui définira tout simplement le nom de la variable à récupérer en PHP avec la valeur rentrée par l'utilisateur. Ainsi, rappelons qu'un formulaire HTML se définit avec les balises <form> et </form>. L'attribut "action" de cette balise permet de spécifier la page qui traitera les données fournies dans le formulaire par l'internaute et la méthode de transmission (GET ou POST). <form action="resultat.php" method="post"> Entrez votre prénom : <input type="text" name="prenom"></input> <input type="submit" value="valider"> </form> Comment récupérer la valeur des variables passées dans un formulaire? Une variable dite superglobale est alors automatiquement créée et exploitable dans le fichier de destination d un formulaire. Tous les contrôles de formulaire qui possèdent un attribut "name" engendrent la création d'une variable superglobale dont le nom est $_POST['nom de la variable']. Nous remarquerons l'emploi de la syntaxe $_POST qui rappelle que la variable a été construite à partir de la méthode POST. Ainsi on aura par exemple dans la page resultat.php : <?php echo "Prénom tapé par l'utilisateur : ".$_POST['prenom']; 8. Caractéristiques 8.1. Connexions persistantes aux Bases de Données a. Se connecter à une BD Pour pouvoir travailler avec la base de données, il faut d'abord s'y connecter. Pour se connecter à une base depuis php, il faut spécifier un nom de serveur, un nom d utilisateur, un mot de passe et un nom de base. Les fonctions de connexion sont : 1. mysql_connect($server,$user,$password) : permet de se connecter au serveur $server en tant qu utilisateur $user avec le mot de passe $password, retourne l identifiant de connexion si succès, FALSE sinon. 17

18 <?php mysql_connect("localhost", "mateo21", "cfrri954$sh") or die ( Erreur.musql_error()); Remarque : - mysql_connect("localhost", "root", ""); // Pour les tests sur notre ordinateur. - La fonction die arrête tout le script et affiche un message d erreur dans le navigateur. 2. mysql_select_db($base) : permet de choisir la base $base, retourne TRUE en cas de succès, sinon FALSE. <?php mysql_connect("localhost", "mateo21", "cfrri954$sh"); // Connexion à MySQL mysql_select_db("bank"); // Sélection de la base bank 3. mysql_close() : permet de fermer la connexion. 4. mysql_pconnect : idem que mysql_connect sauf que la connexion est persistante, il n y a donc pas besoin de rouvrir la connexion à chaque script qui travaille sur la même base. b. Récupérer les données d une BD La fonction mysql_query permet de faire des requêtes SQL sur une base de données MySQL. Sa Syntaxe est: <? $reponse = mysql_query("tapez votre requête SQL ici"); Exemple: <? $reponse = mysql_query("select * from client where adresse= Constantine "); Quelques Fonctions utiles: mysql_fetch_row mysql_fetch_array/ mysql_fetch_assoc mysql_num_rows mysql_free_result() mysql_error() récupère le résultat de la requête ligne par ligne dans un tableau indexé par des numéros récupère le résultat de la requête ligne par ligne dans un tableau associatif (les clés sont alors les noms des colonnes de la table) récupère le nombre total de lignes dans le résultat libère la mémoire du résultat de la dernière requête renvoie l'erreur MySQL rencontrée Exemple 1: $result = mysql_query("select * from table"); 18

19 while ($ligne = mysql_fetch_row($result)) { $nom = $ligne[0]; $prenom = $ligne[1]; echo "$nom $prenom"; Exemple 2: <? $re=mysql_query("select ncli,nom,prénom from client where adr='oran' limit 4"); while ($res=mysql_fetch_array($re)) { echo "$res[ncli]\t $res[nom]\t $res[prénom]<br>"; Exemple 3 : <? $re=mysql_query("select ncli,nom,prénom from client where adr='oran'"); $res=mysql_num_rows($re); echo "Le nombre des clients habitant Oran est : $res"; c. Ajouter, Modifier et Supprimer des données d une BD c1. Ajouter des enregistrements <?php //Récupération des données d un formulaire $nom=$_post['nom'] ; $prénom=$_post['prenom'] ; $age=$_post['age'] ; //connexion au serveur mysql_connect("localhost", "root", ""); //Choix de la BD mysql_select_db("notre_base"); //Ajouter le nouveau visiteur mysql_query ("insert into visiteur values('$nom', '$prénom', '$age')"); //Mettre fin à la connexion mysql_close(); %> c2. Mettre à jour un enregistrement <? //connexion au serveur mysql_connect("localhost", "root", ""); //Choix de la BD mysql_select_db("notre_base"); //Ajouter le nouveau visiteur mysql_query ("update visiteur set age=25 where nom='manel' "); 19

20 //Mettre fin à la connexion mysql_close(); %> c3. Supprimer un enregistrement <? //connexion au serveur mysql_connect("localhost", "root", ""); //Choix de la BD mysql_select_db("notre_base"); //Ajouter le nouveau visiteur mysql_query ("delete from visiteur where age<=25 "); //Mettre fin à la connexion mysql_close(); %> 8.2. Gestion des chargements de fichiers Les champs cachés dans un formulaire C'est un code dans notre formulaire qui n'apparaîtra pas aux yeux du visiteur, mais qui va quand même créer une variable avec une valeur. <input type="hidden" name="cache" value="valeur"> A l écran, on ne voit rien! Mais dans la page cible, une variable $_POST['cache'] sera créée (correspondant à name), et elle aura la valeur "valeur" (correspondant à value)! Chargement des fichiers - Les formulaires permettent de transmettre des informations sous forme de chaînes de caractères. Ils peuvent aussi permettre à un internaute de transmettre un fichier vers le serveur. - C est la balise HTML suivante : <input type="file" /> qui permet le chargement de fichiers. La balise FORM doit nécessairement posséder l attribut ENCTYPE de valeur multipart/form-data. La méthode utilisée sera POST. De plus, il est utile d imposer au navigateur une taille de fichier limite par le paramètre MAX_FILE_SIZE dont la valeur numérique a pour unité l octet. <?php echo "<form action=\"exemple.php\" method=\"post\" ENCTYPE=\"multipart/formdata\">\n 20

21 <input type=\"hidden\" name=\"max_file_size\" value=\" \" />\n <input type=\"file\" name=\"mon_fichier\" /><br />\n <input type=\"submit\" value=\"envoyer\" />\n </form>\n" ; - Pour récupérer le fichier, il faut utiliser la variable d environnement $HTTP_POST_FILES qui est un tableau associatif dont les champs sont les noms des champs HTML file du formulaire. Par exemple : $HTTP_POST_FILES['mon_fichier'] où mon_fichier est le nom donné au champs du formulaire HTML de type file. - La variable $HTTP_POST_FILES['mon_fichier'] est elle aussi un tableau associatif possédant les champs suivants : - Si aucun fichier n a été envoyé par le client, la variable mon_fichier vaudra la chaîne de caractères : "none" ou bien " " (chaîne vide). - La durée de vie du fichier temporaire sur le serveur est limitée au temps d exécution du script. Pour pouvoir exploiter ultérieurement le fichier sur le serveur, il faut le sauvegarder dans un répertoire et lui donner un vrai nom. Exemple du cas du chargement de ce qui doit être une image GIF de moins de octets : <? // Création d une variable contenant toutes les infos utiles $file = $HTTP_POST_FILES['mon_fichier']; // Si un fichier a bel et bien été envoyé : if($file ($file!= "none")) { // Extraction du nom du fichier temporaire sur le serveur : $file_tmp = basename($file['tmp_name']); // Vérification de la taille et du type MIME if(($file[ size ] <= ) ereg("gif$",$file[type])) // Nouveau nom, emplacement et extension du fichier : { $file_def = $dir. '/'.$name. '.'.$ext; // Copie du fichier temporaire dans son nouvel emplacement : copy($file_tmp, $file_def); Remarques : 1. Il est important de vérifier avec is_file() si un fichier du même nom existe déjà sur le serveur à l emplacement où on veut copier le nouveau fichier. On pourra supprimer l ancien 21

22 fichier avec unlink() (qui ne fonctionne pas avec les serveurs fonctionnant sous Windows). basename() permet de connaître le nom du fichier à partir de son chemin (+nom) complet. 2. Même si le paramètre MAX_FILE_SIZE est inclus dans le formulaire, il est important de vérifier la taille du fichier réceptionné car rien n empêche un internaute malveillant de modifier en local sur sa machine le formulaire pour y soustraire le champs caché MAX_FILE_SIZE afin de saturer le serveur avec des fichiers trop volumineux. 3. La vérification du type MIME du fichier est également importante dans le cas où on ne souhaite réceptionner que des types de fichiers bien particuliers (des images GIF, JPEG ou PNG par exemple). 22

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

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

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

INTRODUCTION A JAVA. Fichier en langage machine Exécutable INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du

Plus en détail

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

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

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

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

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

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java Info0101 Intro. à l'algorithmique et à la programmation Cours 3 Le langage Java Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique

Plus en détail

TP 1. Prise en main du langage Python

TP 1. Prise en main du langage Python TP. Prise en main du langage Python Cette année nous travaillerons avec le langage Python version 3. ; nous utiliserons l environnement de développement IDLE. Étape 0. Dans votre espace personnel, créer

Plus en détail

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes

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

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

Licence ST Université Claude Bernard Lyon I LIF1 : Algorithmique et Programmation C Bases du langage C 1 Conclusion de la dernière fois Introduction de l algorithmique générale pour permettre de traiter

Plus en détail

Algorithmique et Programmation, IMA

Algorithmique et Programmation, IMA Algorithmique et Programmation, IMA Cours 2 : C Premier Niveau / Algorithmique Université Lille 1 - Polytech Lille Notations, identificateurs Variables et Types de base Expressions Constantes Instructions

Plus en détail

Présentation du langage et premières fonctions

Présentation du langage et premières fonctions 1 Présentation de l interface logicielle Si les langages de haut niveau sont nombreux, nous allons travaillé cette année avec le langage Python, un langage de programmation très en vue sur internet en

Plus en détail

Chapitre 2 Devine mon nombre!

Chapitre 2 Devine mon nombre! Python 3 : objectif jeux Chapitre 2 Chapitre 2 Devine mon nombre! 2.1. Thèmes abordés dans ce chapitre commentaires modules externes, import variables boucle while condition : if... elif... else la fonction

Plus en détail

SHERLOCK 7. Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5

SHERLOCK 7. Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5 SHERLOCK 7 Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5 Cette note montre comment intégrer un script Java dans une investigation Sherlock et les différents aspects de Java script. S T E M M E R I M A G I N

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

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

Création d'un site dynamique en PHP avec Dreamweaver et MySQL Création d'un site dynamique en PHP avec Dreamweaver et MySQL 1. Création et configuration du site 1.1. Configuration de Dreamweaver Avant de commencer, il est nécessaire de connaître l'emplacement du

Plus en détail

Introduction à MATLAB R

Introduction à MATLAB R Introduction à MATLAB R Romain Tavenard 10 septembre 2009 MATLAB R est un environnement de calcul numérique propriétaire orienté vers le calcul matriciel. Il se compose d un langage de programmation, d

Plus en détail

Langage Java. Classe de première SI

Langage Java. Classe de première SI Langage Java Table des matières 1. Premiers pas...2 1.1. Introduction...2 1.2. Mon premier programme...2 1.3. Les commentaires...2 2. Les variables et les opérateurs...2 3. La classe Scanner...3 4. Les

Plus en détail

Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7

Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7 Université Lumière Lyon 2 Faculté de Sciences Economiques et Gestion KHARKIV National University of Economic Introduction au Langage Java Master Informatique 1 ère année Julien Velcin http://mediamining.univ-lyon2.fr/velcin

Plus en détail

1. Qu'est-ce que SQL?... 2. 2. La maintenance des bases de données... 2. 3. Les manipulations des bases de données... 5

1. Qu'est-ce que SQL?... 2. 2. La maintenance des bases de données... 2. 3. Les manipulations des bases de données... 5 1. Qu'est-ce que SQL?... 2 2. La maintenance des bases de données... 2 2.1 La commande CREATE TABLE... 3 2.2 La commande ALTER TABLE... 4 2.3 La commande CREATE INDEX... 4 3. Les manipulations des bases

Plus en détail

Architectures web/bases de données

Architectures web/bases de données Architectures web/bases de données I - Page web simple : HTML statique Le code HTML est le langage de base pour concevoir des pages destinées à être publiées sur le réseau Internet ou intranet. Ce n'est

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

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 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

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

Bases de programmation. Cours 5. Structurer les données Bases de programmation. Cours 5. Structurer les données Pierre Boudes 1 er décembre 2014 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. Types char et

Plus en détail

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface

Plus en détail

ALGORITHMIQUE ET PROGRAMMATION En C

ALGORITHMIQUE ET PROGRAMMATION En C Objectifs ALGORITHMIQUE ET PROGRAMMATION Une façon de raisonner Automatiser la résolution de problèmes Maîtriser les concepts de l algorithmique Pas faire des spécialistes d un langage Pierre TELLIER 2

Plus en détail

Initiation à la programmation en Python

Initiation à la programmation en Python I-Conventions Initiation à la programmation en Python Nom : Prénom : Une commande Python sera écrite en caractère gras. Exemples : print 'Bonjour' max=input("nombre maximum autorisé :") Le résultat de

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 SQL (1) 4 septembre 2007. IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

Langage SQL (1) 4 septembre 2007. IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes Langage SQL (1) Sébastien Limet Denys Duchier IUT Orléans 4 septembre 2007 Notions de base qu est-ce qu une base de données? SGBD différents type de bases de données quelques systèmes existants Définition

Plus en détail

Java DataBaseConnectivity

Java DataBaseConnectivity Java DataBaseConnectivity JDBC JDBC est une API Java (ensemble de classes et d interfaces défini par SUN et les acteurs du domaine des SGBD) permettant d accéder aux bases de données à l aide du langage

Plus en détail

Classe ClInfoCGI. Fonctions membres principales. Gestion des erreurs

Classe ClInfoCGI. Fonctions membres principales. Gestion des erreurs Utilisation des classes de PourCGI par Michel Michaud, version 2002-11-23 Les fichiers PourCGI.h et PourCGI.cpp rendent disponibles deux classes et une fonction libre qui permettent de faire facilement

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

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par

Plus en détail

Langage SQL : créer et interroger une base

Langage SQL : créer et interroger une base Langage SQL : créer et interroger une base Dans ce chapitre, nous revenons sur les principales requêtes de création de table et d accès aux données. Nous verrons aussi quelques fonctions d agrégation (MAX,

Plus en détail

Introduction au langage C

Introduction au langage C Introduction au langage C Cours 1: Opérations de base et premier programme Alexis Lechervy Alexis Lechervy (UNICAEN) Introduction au langage C 1 / 23 Les premiers pas Sommaire 1 Les premiers pas 2 Les

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

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

Les chaînes de caractères

Les chaînes de caractères Les chaînes de caractères Dans un programme informatique, les chaînes de caractères servent à stocker les informations non numériques comme par exemple une liste de nom de personne ou des adresses. Il

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

Protocoles DHCP et DNS

Protocoles DHCP et DNS Protocoles DHCP et DNS DHCP (Dynamic Host Configuration Protocol) est un protocole qui permet à un serveur DHCP (Unix, Windows, AS400...) d'affecter des adresses IP temporaires (et d'autres paramètres)

Plus en détail

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux. UEO11 COURS/TD 1 Contenu du semestre Cours et TDs sont intégrés L objectif de ce cours équivalent a 6h de cours, 10h de TD et 8h de TP est le suivant : - initiation à l algorithmique - notions de bases

Plus en détail

Module BD et sites WEB

Module BD et sites WEB Module BD et sites WEB Cours 8 Bases de données et Web Anne Doucet Anne.Doucet@lip6.fr 1 Le Web Architecture Architectures Web Client/serveur 3-tiers Serveurs d applications Web et BD Couplage HTML-BD

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

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

Les sites Internet dynamiques. contact : Patrick VINCENT pvincent@erasme.org Les sites Internet dynamiques contact : Patrick VINCENT pvincent@erasme.org Qu est-ce qu un site Web? ensemble de pages multimédia (texte, images, son, vidéo, ) organisées autour d une page d accueil et

Plus en détail

Manuel d'installation

Manuel d'installation CyberMUT P@iement P@iement CIC P@iement OBC SERVICE SECURISE DE PAIEMENT INTERNET PAR CARTE BANCAIRE (Sécurisé par le protocole SSL) Manuel d'installation (Document 2/2) EURO Sp.Tech. 1.2.8 Octobre 2001

Plus en détail

PHP CLÉS EN MAIN. 76 scripts efficaces pour enrichir vos sites web. par William Steinmetz et Brian Ward

PHP CLÉS EN MAIN. 76 scripts efficaces pour enrichir vos sites web. par William Steinmetz et Brian Ward PHP CLÉS EN MAIN 76 scripts efficaces pour enrichir vos sites web par William Steinmetz et Brian Ward TABLE DES MATIÈRES INTRODUCTION 1 1 TOUT CE QUE VOUS AVEZ TOUJOURS VOULU SAVOIR SUR LES SCRIPTS PHP

Plus en détail

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2 Anne Tasso Java Le livre de premier langage 10 e édition Avec 109 exercices corrigés Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2 Table des matières Avant-propos Organisation de l ouvrage..............................

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

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

NFA016 : Introduction. Pour naviguer sur le Web, il faut : Naviguer: dialoguer avec un serveur web NFA016 : Introduction O. Pons, S. Rosmorduc Conservatoire National des Arts & Métiers Pour naviguer sur le Web, il faut : 1. Une connexion au réseau Réseau Connexion physique (câbles,sans fils, ) à des

Plus en détail

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

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java Langages objets Introduction M2 Pro CCI, Informatique Emmanuel Waller, LRI, Orsay présentation du module logistique 12 blocs de 4h + 1 bloc 2h = 50h 1h15 cours, 45mn exercices table, 2h TD machine page

Plus en détail

STAGE IREM 0- Premiers pas en Python

STAGE IREM 0- Premiers pas en Python Université de Bordeaux 16-18 Février 2014/2015 STAGE IREM 0- Premiers pas en Python IREM de Bordeaux Affectation et expressions Le langage python permet tout d abord de faire des calculs. On peut évaluer

Plus en détail

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

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Cours d introduction à l informatique Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Qu est-ce qu un Une recette de cuisine algorithme? Protocole expérimental

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

Algorithmique et programmation : les bases (VBA) Corrigé

Algorithmique et programmation : les bases (VBA) Corrigé PAD INPT ALGORITHMIQUE ET PROGRAMMATION 1 Cours VBA, Semaine 1 mai juin 2006 Corrigé Résumé Ce document décrit l écriture dans le langage VBA des éléments vus en algorithmique. Table des matières 1 Pourquoi

Plus en détail

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

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6 Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6 1 BERNIER François http://astronomie-astrophotographie.fr Table des matières Installation d un serveur HTTP (Hypertext Transfer

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

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3. 1. Structure d un programme C Un programme est un ensemble de fonctions. La fonction "main" constitue le point d entrée pour l exécution. Un exemple simple : #include int main() { printf ( this

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

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

Sage 100 CRM Guide de l Import Plus avec Talend Version 8. Mise à jour : 2015 version 8

Sage 100 CRM Guide de l Import Plus avec Talend Version 8. Mise à jour : 2015 version 8 Sage 100 CRM Guide de l Import Plus avec Talend Version 8 Mise à jour : 2015 version 8 Composition du progiciel Votre progiciel est composé d un boîtier de rangement comprenant : le cédérom sur lequel

Plus en détail

Chapitre 2 Accès aux partages depuis votre système d'exploitation

Chapitre 2 Accès aux partages depuis votre système d'exploitation Chapitre 2 Accès aux partages depuis votre système d'exploitation Ce chapitre présente des exemples d'accès à des partages sur le périphérique ReadyNAS Duo via différents systèmes d'exploitation. En cas

Plus en détail

Utilisation d objets : String et ArrayList

Utilisation d objets : String et ArrayList Chapitre 6 Utilisation d objets : String et ArrayList Dans ce chapitre, nous allons aborder l utilisation d objets de deux classes prédéfinies de Java d usage très courant. La première, nous l utilisons

Plus en détail

OCL - Object Constraint Language

OCL - Object Constraint Language OCL - Object Constraint Language Laëtitia Matignon laetitia.matignon@univ-lyon1.fr Département Informatique - Polytech Lyon Université Claude Bernard Lyon 1 2012-2013 Laëtitia Matignon SIMA - OCL - Object

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

TP1. Outils Java Eléments de correction

TP1. Outils Java Eléments de correction c sep. 2008, v2.1 Java TP1. Outils Java Eléments de correction Sébastien Jean Le but de ce TP, sur une séance, est de se familiariser avec les outils de développement et de documentation Java fournis par

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

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40 Déroulement du cours Introduction Concepts Java Remarques Langage et Concepts de Programmation Orientée-Objet Gauthier Picard École Nationale Supérieure des Mines de Saint-Étienne gauthier.picard@emse.fr

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

Module http MMS AllMySMS.com Manuel d intégration

Module http MMS AllMySMS.com Manuel d intégration Module http MMS AllMySMS.com Manuel d intégration Objectif du document... 3 1 Envoi de MMS par requête http... 4 1.1 Format de la requête utilisée... 4 1.2 Arborescence et explication des balises du flux

Plus en détail

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

Licence Bio Informatique Année 2004-2005. Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose... Université Paris 7 Programmation Objet Licence Bio Informatique Année 2004-2005 TD n 1 - Correction Premiers pas Exercice 1 Hello World parce qu il faut bien commencer par quelque chose... 1. Enregistrez

Plus en détail

Recherche dans un tableau

Recherche dans un tableau Chapitre 3 Recherche dans un tableau 3.1 Introduction 3.1.1 Tranche On appelle tranche de tableau, la donnée d'un tableau t et de deux indices a et b. On note cette tranche t.(a..b). Exemple 3.1 : 3 6

Plus en détail

Environnements informatiques

Environnements informatiques Environnements informatiques Premiers pas sous Linux (seconde partie) 26 septembre 2008 blansche@dpt-info.u-strasbg.fr 1 /12 Administration sous Linux 2 /12 Démarrage Démarrage de Linux Niveaux de démarrage

Plus en détail

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml OCL Object Constraint Language Le langage de contraintes d'uml Plan 1. Introduction 2. Les principaux concepts d'ocl Object Constraint Language 1 Object Constraint Language 2 Exemple: une application bancaire

Plus en détail

< Atelier 1 /> Démarrer une application web

< Atelier 1 /> Démarrer une application web MES ANNOTATIONS SONT EN ROUGE : Axel < Atelier 1 /> Démarrer une application web Microsoft France Tutorial Découverte de ASP.NET 2.0 Sommaire 1 INTRODUCTION... 3 1.1 CONTEXTE FONCTIONNEL... 3 1.2 CONTEXTE

Plus en détail

as Architecture des Systèmes d Information

as Architecture des Systèmes d Information Plan Plan Programmation - Introduction - Nicolas Malandain March 14, 2005 Introduction à Java 1 Introduction Présentation Caractéristiques Le langage Java 2 Types et Variables Types simples Types complexes

Plus en détail

E-TRANSACTIONS. Guide du programmeur API Plug-in. Version 1.1

E-TRANSACTIONS. Guide du programmeur API Plug-in. Version 1.1 E-TRANSACTIONS Guide du programmeur API Plug-in Version 1.1 Avertissements : Le fichier Version.txt précise l'environnement dans lequel l API a été compilée et testée. L'installation de l API sur tout

Plus en détail

Cours de C++ François Laroussinie. 2 novembre 2005. Dept. d Informatique, ENS de Cachan

Cours de C++ François Laroussinie. 2 novembre 2005. Dept. d Informatique, ENS de Cachan Cours de C++ François Laroussinie Dept. d Informatique, ENS de Cachan 2 novembre 2005 Première partie I Introduction Introduction Introduction Algorithme et programmation Algorithme: méthode pour résoudre

Plus en détail

Service WEB, BDD MySQL, PHP et réplication Heartbeat. Conditions requises : Dans ce TP, il est nécessaire d'avoir une machine Debian sous ProxMox

Service WEB, BDD MySQL, PHP et réplication Heartbeat. Conditions requises : Dans ce TP, il est nécessaire d'avoir une machine Debian sous ProxMox Version utilisée pour la Debian : 7.7 Conditions requises : Dans ce TP, il est nécessaire d'avoir une machine Debian sous ProxMox Caractéristiques de bases : Un service web (ou service de la toile) est

Plus en détail

Hébergement de site web Damien Nouvel

Hébergement de site web Damien Nouvel Hébergement de site web Plan L'hébergeur Le serveur web Apache Sites dynamiques 2 / 27 Plan L'hébergeur Le serveur web Apache Sites dynamiques 3 / 27 L'hébergeur L'hébergeur sous-traite l'architecture

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

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères FORMATION PcVue Mise en œuvre de WEBVUE Journées de formation au logiciel de supervision PcVue 8.1 Lieu : Lycée Pablo Neruda Saint Martin d hères Centre ressource Génie Electrique Intervenant : Enseignant

Plus en détail

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

Les solutions de paiement CyberMUT (Crédit Mutuel) et P@iement CIC. Qui contacter pour commencer la mise en place d une configuration de test? Les solutions de paiement CyberMUT (Crédit Mutuel) et P@iement CIC Qui contacter pour commencer la mise en place d une configuration de test? CyberMUT Paiement - Paiement CIC Commerce Electronique mailto:centrecom@e-i.com

Plus en détail

Paginer les données côté serveur, mettre en cache côté client

Paginer les données côté serveur, mettre en cache côté client Paginer les données côté serveur, mettre en cache côté client Vous voulez sélectionner des lignes dans une table, mais celle-ci comporte trop de lignes pour qu il soit réaliste de les ramener en une seule

Plus en détail

Programmation VBA/Excel. Programmation VBA. Pierre BONNET. Masters SMaRT & GSI - Supervision Industrielle - 2012-2013 P. Bonnet

Programmation VBA/Excel. Programmation VBA. Pierre BONNET. Masters SMaRT & GSI - Supervision Industrielle - 2012-2013 P. Bonnet Programmation VBA Pierre BONNET 21 La programmation VBA Historiquement, la programmation sous Excel avait comme fonction d'automatiser une succession d'actions faites dans la feuille à l'aide de la souris.

Plus en détail

Plateforme PAYZEN. Définition de Web-services

Plateforme PAYZEN. Définition de Web-services Plateforme PAYZEN Définition de Web-services Ordre de paiement Version 1.1 Rédaction, Vérification, Approbation Rédaction Vérification Approbation Nom Date/Visa Nom Date/Visa Nom Date/Visa Lyra-Network

Plus en détail

Programmation Objet - Cours II

Programmation Objet - Cours II Programmation Objet - Cours II - Exercices - Page 1 Programmation Objet - Cours II Exercices Auteur : E.Thirion - Dernière mise à jour : 05/07/2015 Les exercices suivants sont en majorité des projets à

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

HTML. Notions générales

HTML. Notions générales 1 HTML Le langage HTML est le langage de base permettant de construire des pages web, que celles-ci soient destinées à être affichées sur un iphone/android ou non. Dans notre cas, HTML sera associé à CSS

Plus en détail

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

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau) CS WEB Ch 1 Introduction I. INTRODUCTION... 1 A. INTERNET INTERCONNEXION DE RESEAUX... 1 B. LE «WEB» LA TOILE, INTERCONNEXION DE SITES WEB... 2 C. L URL : LOCALISER DES RESSOURCES SUR L INTERNET... 2 D.

Plus en détail

Création, analyse de questionnaires et d'entretiens pour Windows 2008, 7, 8 et MacOs 10

Création, analyse de questionnaires et d'entretiens pour Windows 2008, 7, 8 et MacOs 10 modalisa Création, analyse de questionnaires et d'entretiens pour Windows 2008, 7, 8 et MacOs 10 8 Fonctionnalités de mise en ligne de questionnaires Vous trouverez dans cet opuscule les informations nécessaires

Plus en détail

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme Rappel Ralf Treinen Université Paris Diderot UFR Informatique Laboratoire Preuves, Programmes et Systèmes treinen@pps.univ-paris-diderot.fr 6 mai 2015 Jusqu'à maintenant : un petit langage de programmation

Plus en détail

Introduction à PHP. Au sommaire de ce chapitre

Introduction à PHP. Au sommaire de ce chapitre 1 Introduction à PHP Au sommaire de ce chapitre Origines de PHP Atouts de PHP Fonctionnement de PHP avec un serveur Web Premiers pas A quoi ressemble un script PHP? Sauvegarde des données Réception de

Plus en détail

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

TD3: tableaux avancées, première classe et chaînes TD3: tableaux avancées, première classe et chaînes de caractères 1 Lestableaux 1.1 Élémentsthéoriques Déclaration des tableaux Pour la déclaration des tableaux, deux notations sont possibles. La première

Plus en détail

Création d objet imbriqué sous PowerShell.

Création d objet imbriqué sous PowerShell. Création d objet imbriqué sous PowerShell. Par Laurent Dardenne, le 13/01/2014. Niveau Ce tutoriel aborde la création d objet composé, c est-à-dire que certains de ses membres seront eux-mêmes des PSObjects.

Plus en détail