LIF4 - Programmation Web - cours PHP 2
|
|
- Amélie Boulet
- il y a 8 ans
- Total affichages :
Transcription
1 LIF4 - Programmation Web - cours PHP 2 Fabien Duchateau fabien.duchateau [at] univ-lyon1.fr Université Claude Bernard Lyon /65
2 Rappel du cours précédent Syntaxe générale de PHP : Séparation du code HTML et PHP Affectation de variables (typage faible) Structures conditionnelles Boucles 2/65
3 Rappel du cours précédent Syntaxe générale de PHP : Séparation du code HTML et PHP Affectation de variables (typage faible) Structures conditionnelles Boucles Dans ce cours, fonctionnalités plus spécifiques à l utilisation de PHP en programmation Web 2/65
4 Extensions PHP PHP inclut des extensions spécifiques à des applications tierces, classées en différentes catégories : Extensions noyau (e.g., Arrays, Date/Time, FileSystem) Extensions intégrées (e.g., FTP, PostgreSQL, Zip) Extensions externes (e.g., MySQL, GeoIP) Extensions liées à l inclusion de fichiers, à la manipulation de fichiers, aux sessions et aux bases de données 3/65
5 Plan du cours Organisation du code Système de fichiers Superglobales Sessions Bases de données 4/65
6 Inclusion de fichiers En PHP, il est possible d inclure un fichier externe : Équivalent à copier-coller le contenu du fichier inclus à la place de la fonction d inclusion Regroupement de fonctions (liées à la manipulation de BD par exemple) ou de variables Découpage des différentes parties d un site Fonctions d inclusion include ou require : Avertissement avec include si fichier non trouvé Erreur fatale avec require si fichier non trouvé Variantes avec include_once et require_once 5/65
7 Inclusion de fichiers (2) Syntaxe avec include ou require : nom_fichier est le chemin vers le fichier include("nom_fichier.php") ; require("nom_fichier.php") ; 6/65
8 Découpage de l information Grâce aux fonctions d inclusion, il est facile de réutiliser et factoriser le code : Les parties du site communes/statiques (e.g., entête, menu) sont incluses par les autres pages Les parties avec le contenu spécifique d une page (i.e., fonctionnalité) peuvent être incluses ou pas Dans la suite, description des différents découpages 7/65
9 Découpage "sans inclusion" Le code n est pas factorisé : la partie <header> est identique dans les fichiers index.php et ajout.php 8/65
10 Découpage "sans inclusion" Le code n est pas factorisé : la partie <header> est identique dans les fichiers index.php et ajout.php 8/65
11 Découpage "une page par contenu spécifique" Avec cette solution, chaque fonctionnalité a sa propre page : Les parties communes/statiques du site sont incluses Les parties de contenu sont spécifiques à chaque fichier, sans inclusion Inconvénients : Pour certaines modifications (e.g., du template ou le nom d un fichier d inclusion), besoin de modifier chaque fichier de contenu 9/65
12 Découpage "une page par contenu spécifique" (2) Découpage "une page par contenu spécifique" : les zones communes, stockées dans des fichiers externes, sont incluses par chaque page de contenu 10/65
13 Découpage "une page par contenu spécifique" (3) 11/65
14 Découpage "une seule page avec inclusions" Avec cette solution, un seul fichier qui fait de multiples inclusions : Généralement le fichier index.php Les parties communes/statiques sont incluses Les parties de contenu sont dans des fichiers séparés, et chargées selon la valeur d un paramètre Inconvénients : URL non explicite (page index.php) Besoin de passer la page de contenu en paramètre, session, etc. 12/65
15 Découpage "une seule page avec inclusions" (2) Découpage "une seule page avec inclusions" : une seule page, qui récupère les zones communes dans des fichiers externes et un contenu spécifique selon la valeur d un paramètre 13/65
16 Découpage "une seule page avec inclusions" (3) 14/65
17 Découpage "une seule page avec inclusions" (4) Extrait du fichier index.php, avec les inclusions de parties fixes et l inclusion de la partie contenu via un paramètre GET 15/65
18 En résumé Deux fonctions pour include des fichiers : include et require Organisation du site avec les inclusions ("une seule page" ou "une page par contenu") 16/65
19 Plan Organisation du code Système de fichiers Superglobales Sessions Bases de données 17/65
20 Généralités Avec PHP, il est possible de manipuler le système de fichiers du serveur : Lire ou écrire dans un fichier Obtenir des informations sur un fichier Gérer des fichiers uploadés par l utilisatrice Lister les fichiers d un répertoire Créer, supprimer des fichiers ou répertoires... Extension filesystem incluse dans le noyau de PHP 18/65
21 Chemins de fichiers Plusieurs types de système de fichiers ext3, ext4 pour Linux hfs, hsf+ sous Mac fat, ntfs pour Windows Comment représenter un chemin en PHP? Sous Windows : slash (/) et antislash (\) sont utilisés Pour les autres : seul le slash (/) est utilisé Éviter de coder un chemin de fichier absolu en "dur" (projet)! 19/65
22 Chemins de fichiers (2) Fonction pathinfo pour avoir des informations sur un chemin pathinfo($chemin_fichier) Également disponibles les fonctions dirname() et basename() Attention, toutes ces fonctions n agissent que sur la chaîne de caractères représentant le chemin! Example d utilisation de pathinfo $infos = pathinfo('/www/htdocs/mon-site/index.php') ; echo $infos['dirname']."\n" ; echo $infos['basename']."\n" ; echo $infos['extension']."\n" ; echo $infos['filename']."\n" ; 20/65
23 Chemins de fichiers (2) Fonction pathinfo pour avoir des informations sur un chemin pathinfo($chemin_fichier) Également disponibles les fonctions dirname() et basename() Attention, toutes ces fonctions n agissent que sur la chaîne de caractères représentant le chemin! Example d utilisation de pathinfo $infos = pathinfo('/www/htdocs/mon-site/index.php') ; echo $infos['dirname']."\n" ; echo $infos['basename']."\n" ; echo $infos['extension']."\n" ; echo $infos['filename']."\n" ; 20/65
24 Tests sur les fichiers Vérifier si un fichier représenté par $chemin existe file_exists($chemin) // retourne true ou false Vérifier si un fichier $nom_fic existe et est un fichier régulier is_file($nom_fic) // retourne true ou false Vérifier si un fichier $nom_rep existe et est un répertoire is_dir($nom_rep) // retourne true ou false 21/65
25 Tests sur les fichiers (2) Vérifier l existence et les droits de lecture, écriture et exécution d un fichier représenté par $chemin is_readable($chemin) // retourne true ou false is_writable($chemin) // retourne true ou false is_executable($chemin) // retourne true ou false Attention : les droits sont ceux de l utilisatrice qui fait touner le serveur Web (généralement nobody) 22/65
26 Lecture d un fichier Lire le contenu d un fichier $fichier et placer son contenu dans la chaîne $contenu : Retourne false en cas d échec Drapeau booléen optionnel : file_use_include_path pour rechercher le fichier dans les chemins définis dans include_path $contenu = file_get_contents($fichier [, $drapeau ]) ; Example de lecture d un fichier if(is_file("un_fichier.txt")) { $contenu = file_get_contents("un_fichier.txt") ; echo $contenu ; } 23/65
27 Écriture dans un fichier Écrire le contenu de la variable $donnees dans le fichier $fichier : Si $fichier n existe pas, il est créé La variable $donnees peut être une chaîne ou un tableau Retourne le nombre d octets écrits, sinon false Drapeaux optionnels (concaténation de drapeaux avec ) : lock_ex (verrouillage du fichier pendant l écriture) file_append (concaténation des données au fichier s il existe) file_use_include_path (recherche du fichier dans le include_path) $nb = file_put_contents($fichier, $donnees [, $drapeaux ]) ; 24/65
28 Écriture dans un fichier (2) Que contient le fichier animaux.txt en fin de script? $chaine1 = "abeille" ; $chaine2 = "otarie" ; $fichier = "animaux.txt" ; $nb = file_put_contents($fichier, $chaine1) ; $retour = file_put_contents($fichier, " ".$nb, lock_ex file_append) ; $contenu = file_get_contents($fichier) ; file_put_contents($fichier, $chaine2." ".$contenu) ; echo file_get_contents($fichier) ; 25/65
29 Écriture dans un fichier (2) Que contient le fichier animaux.txt en fin de script? $chaine1 = "abeille" ; $chaine2 = "otarie" ; $fichier = "animaux.txt" ; $nb = file_put_contents($fichier, $chaine1) ; $retour = file_put_contents($fichier, " ".$nb, lock_ex file_append) ; $contenu = file_get_contents($fichier) ; file_put_contents($fichier, $chaine2." ".$contenu) ; echo file_get_contents($fichier) ; 25/65
30 Fichier à nom unique Créer un fichier avec un nom unique $nom_fichier_unique dans le répertoire $repertoire : La chaine $prefixe sert de préfixe au nom du fichier Retourne le nom du fichier créé, ou false en cas d erreur Si le répertoire n existe pas, création dans le répertoire temporaire du système $nom_fichier_unique = tempnam($repertoire, $prefixe) ; 26/65
31 Fichier temporaire Créer un fichier temporaire au nom unique dans le répertoire système utilisé pour les fichiers temporaires : Retourne un pointeur $fichier_temp sur le fichier créé, ou false en cas d erreur Fichier ouvert en lecture et écriture Fichier supprimé s il est fermé ou en fin du script $fichier_temp = tmpfile() ; 27/65
32 Répertoires Lister le contenu d un répertoire $rep : Retourne un tableau $liste Drapeau optionnel pour le tri : scandir_sort_ascending (par défaut) scandir_sort_descending scandir_sort_none $liste = scandir($rep [, $tri ]) ; 28/65
33 Répertoires (2) Autres fonctions de répertoire : Obtenir le répertoire courant (getcwd) Créer un répertoire (mkdir) Supprimer un répertoire vide (rmdir) $rep_courant = getcwd() ; // retourne le chemin du fichier courant, ou false mkdir($rep) ; // retourne true ou false rmdir($rep) ; // retourne true ou false Voir la documentation pour les paramètres optionnels. Attention : certaines fonctions utilisent une ressource, d autres une chaine de caractères 29/65
34 En résumé Extension filesystem de PHP : Un fichier est un flux (ressource qui peut être lue ou écrite séquentiellement) Nombreuses fonctions sur la manipulation des fichiers/répertoires Création de fichiers uniques ou temporaires Consulter la documentation officielle! /65
35 Plan du cours Organisation du code Système de fichiers Superglobales Sessions Bases de données 31/65
36 Variables superglobales PHP définit un certain nombre de variables superglobales : Accessibles de n importe où Représentées par des tableaux associatifs Une dizaine de superglobales dont : Variables d environnement, du système d exploitation ($_ENV) Variables de session ($_SESSION) Variables de serveur ($_SERVER) Variables de paramètres ($_REQUEST, $_GET, $_POST, $_COOKIE) Fichiers envoyés par formuaire ($_FILE) 32/65
37 Superglobale $_GET La variable $_GET : Tableau associatif qui contient les paramètres d un formulaire soumis Ces paramètres ont été transmis via la méthode get Syntaxe de l utilisation de $_GET : Retourne la valeur pour le paramètre nomparam $_GET[' nomparam '] 33/65
38 Superglobale $_GET (2) Exemple : vérifier si un formulaire get est soumis <form action="#" method="get"> </form> 34/65
39 Superglobale $_GET (2) Exemple : vérifier si un formulaire get est soumis <form action="#" method="get"> <input type="text" name="nom"> <input type="submit" name="bvalider" value="soumettre"> </form> 34/65
40 Superglobale $_GET (2) Exemple : vérifier si un formulaire get est soumis <? if(isset($_get['bvalider'])) // formulaire soumis else { // formulaire non soumis, affichage du formulaire?> <form action="#" method="get"> <input type="text" name="nom"> <input type="submit" name="bvalider" value="soumettre"> </form> <??> 34/65
41 Superglobale $_GET (2) Exemple : vérifier si un formulaire get est soumis <? if(isset($_get['bvalider'])) // formulaire soumis echo "Le formulaire a bien été soumis!" ; else { // formulaire non soumis, affichage du formulaire?> <form action="#" method="get"> <input type="text" name="nom"> <input type="submit" name="bvalider" value="soumettre"> </form> <? }?> 34/65
42 Superglobale $_POST La variable $_POST : Tableau associatif qui contient les paramètres d un formulaire soumis Ces paramètres ont été transmis via la méthode post Syntaxe de l utilisation de $_POST : Retourne la valeur pour le paramètre nomparam $_POST[' nomparam '] 35/65
43 Superglobale $_POST (2) Exemple : afficher le paramètre nom soumis par post <form action="#" method="post"> </form> 36/65
44 Superglobale $_POST (2) Exemple : afficher le paramètre nom soumis par post <form action="#" method="post"> <input type="text" name="nom"> <input type="submit" name="bvalider" value="soumettre"> </form> 36/65
45 Superglobale $_POST (2) Exemple : afficher le paramètre nom soumis par post <? if(isset($_post['bvalider'])) // formulaire soumis else { // formulaire non soumis, affichage du formulaire?> <form action="#" method="post"> <input type="text" name="nom"> <input type="submit" name="bvalider" value="soumettre"> </form> <??> 36/65
46 Superglobale $_POST (2) Exemple : afficher le paramètre nom soumis par post <? if(isset($_post['bvalider'])) // formulaire soumis if(isset($_post['nom']) &&!empty($_post['nom'])) else // formulaire soumis mais sans valeur pour le nom else { // formulaire non soumis, affichage du formulaire?> <form action="#" method="post"> <input type="text" name="nom"> <input type="submit" name="bvalider" value="soumettre"> </form> <? }?> 36/65
47 Superglobale $_POST (2) Exemple : afficher le paramètre nom soumis par post <? if(isset($_post['bvalider'])) // formulaire soumis if(isset($_post['nom']) &&!empty($_post['nom'])) echo "Merci d avoir soumis le formulaire, ".$_POST['nom'] ; else // formulaire soumis mais sans valeur pour le nom echo "Le formulaire a bien été soumis, mais sans nom!" ; else { // formulaire non soumis, affichage du formulaire?> <form action="#" method="post"> <input type="text" name="nom"> <input type="submit" name="bvalider" value="soumettre"> </form> <? }?> 36/65
48 Un mot sur la sécurité Les variables superglobales peuvent potentiellement être modifiées par l utilisatrice (e.g., modifier la valeur d un paramètre passé en get dans l URL) %3B%20DROP%20TABLE% 20uneTable%3B%20-- Votre code doit donc vérifier et valider ces variables : Côté client (HTML, Javascript) Côté serveur (PHP), avec des fonctions prédéfinies (échappement de caractères spéciaux, encodage d URL, etc.) 37/65
49 En résumé Variables superglobables définies par PHP $_GET et $_POST pour récupérer les paramètres d un formulaire soumis Effectuer des vérifications lors de la récupération des données 38/65
50 Plan du cours Organisation du code Système de fichiers Superglobales Sessions Bases de données 39/65
51 Généralités Il peut être utile de conserver des informations d une page sur l autre : Se souvenir du login de l utilisatrice pour les sites avec authentification Se souvenir des références indiquant à quoi l utilisatrice s intéresse Se souvenir des dernières pages visitées par l utilisatrice... 40/65
52 Généralités Il peut être utile de conserver des informations d une page sur l autre : Se souvenir du login de l utilisatrice pour les sites avec authentification Se souvenir des références indiquant à quoi l utilisatrice s intéresse Se souvenir des dernières pages visitées par l utilisatrice... Jusqu ici, un seul moyen : utiliser des paramètres et penser à les remettre à chaque lien et dans chaque formulaire Programmation fastidieuse et source de problèmes 40/65
53 Sessions Une session peut être vue comme un ensemble d informations concernant une utilisatrice d un site : Par utilisatrice, on entend un navigateur sur une machine Les informations sont conservées entre deux pages Une page PHP peut ajouter ou modifier les informations de la session En PHP, la session est vue comme une variable superglobale appelée $_SESSION : C est donc un...? 41/65
54 Sessions Une session peut être vue comme un ensemble d informations concernant une utilisatrice d un site : Par utilisatrice, on entend un navigateur sur une machine Les informations sont conservées entre deux pages Une page PHP peut ajouter ou modifier les informations de la session En PHP, la session est vue comme une variable superglobale appelée $_SESSION : C est donc un tableau associatif 41/65
55 Utilisation des sessions en PHP Une page PHP utilisant une session doit obligatoirement, avant même d afficher quoi que ce soit, commencer par l instruction : session_start() ; // pas d espace ou ligne vide avant! Cette instruction crée la variable $_SESSION et la remplit avec les valeurs qu elle avait dans la page PHP précédente La variable $_SESSION se manipule ensuite comme un tableau associatif classique 42/65
56 Utilisation des sessions en PHP (2) Affichage des informations de session <? session_start() ; $_SESSION["dateConnexion"] = date("r") ; echo "Identifiant de session : ".session_id() ; echo "Date de connexion : ".$_SESSION["dateConnexion"] ;?> 43/65
57 Déconnexion Lorsque l utilisatrice se déconnecte, il est important de détruire sa session (e.g., éviter qu une seconde personne utilisant le même ordinateur ne se fasse passer pour la première personne) Deux étapes : réinitialiser $_SESSION pour effacer toutes les variables de la session courante, et détruire la session Destruction du cookie de session pour plus de sécurité $_SESSION = array() ; // réinitialisation session_destroy() ; // destruction 44/65
58 En résumé Une session PHP est vue comme une variable superglobale, et donc gérée comme un tableau associatif Instruction session_start() avant tout affichage! Déconnexion en deux étapes (initialisation et destruction de la session) Démo avec demo-serie (code source sur la page du LIF4) 45/65
59 Plan Organisation du code Système de fichiers Superglobales Sessions Bases de données 46/65
60 Généralités Pour manipuler les bases de données, PHP possède plus d une vingtaine d extensions et des couches d abstraction Pour la base de données MySQL, trois API différentes : mysql : API d origine, aujourd hui obsolète mysqli : mysql improved, avec de nouvelles fonctionnalités PDO_MySQL : couche d abstraction d accès aux données à travers des PHP Data Objects 47/65
61 Généralités Pour manipuler les bases de données, PHP possède plus d une vingtaine d extensions et des couches d abstraction Pour la base de données MySQL, trois API différentes : mysql : API d origine, aujourd hui obsolète mysqli : mysql improved, avec de nouvelles fonctionnalités PDO_MySQL : couche d abstraction d accès aux données à travers des PHP Data Objects 47/65
62 Généralités (2) Utilisation de l API mysqli : Support des paradigmes de programmation procédurale et orientée objet Support des transactions Support des requêtes multiples 48/65
63 Manipulation d une base de données Quatre étapes pour manipuler une base de données : 1. Connexion au SGBD et sélection d une base 2. Exécution d une requête (préparée ou non) 3. Récupération et utilisation du résultat 4. Fermeture de la connexion On peut itérer les étapes 2 à 3 autant de fois que l on veut avant de fermer la connexion à l étape 4 49/65
64 Connexion à MySQL Tentative de connexion avec mysqli_connect : Paramètres : machine, utilisatrice, mot de passe et base de données Retourne une ressource $connexion, qui représente le lien de connexion vers la base de données sélectionnée $machine = " " ; // serveur sur lequel tourne le SGBD $user = "un_nom" ; // utilisatrice du SGBD $mdp = "un_mdp" ; // mot de passe de l utilisatrice $bd = "une_bd" ; // base de données à laquelle se connecter $connexion = mysqli_connect($machine,$user,$mdp, $bd) ; 50/65
65 Connexion à MySQL (2) Statut de la connexion avec mysqli_connect_errno : Exécution sur la dernière tentative de connexion Retourne un code d erreur, ou 0 en cas de succès if(mysqli_connect_errno()) // erreur si > 0 printf("échec de la connexion : %s", mysqli_connect_error()) ; else { // utilisation de la base } 51/65
66 Exécution d une requête non préparée Exécution d une requête non préparée avec mysqli_query : Un lien de connexion est requis en paramètre La requête $req (select, insert, etc.) est un paramètre : Si la requête est construite avec les données d un formulaire, il faut échapper ces données avec la fonction mysqli_real_escape_string Retourne un objet $resultat (de type mysqli_result) // on possède un lien de connexion $connexion $req = "une_requete_sql" ; $resultat = mysqli_query($connexion, $req) ; /65
67 Exécution d une requête non préparée (2) Remarques : Durant la phase de développement, il peut être utile d afficher la requête ($req) avant son exécution Une seule requête exécutée avec la fonction mysqli_query! Utiliser mysqli_multi_query pour envoyer plusieurs requêtes séparées par des point-virgules Nombreuses autres fonctions dans l API! /65
68 Récupération et utilisation du résultat Récupérer chaque ligne de résultat (une par tour de boucle) dans un tableau associatif (mysqli_fetch_assoc) ou tableau numérique (mysqli_fetch_array) : Accès aux valeurs par $ligne['champ'] ou $ligne[1] Retourne true pour les requêtes insert, update, et delete // on possède un objet résultat $resultat if($resultat == FALSE) // échec printf("échec de la requête") ; else { // succès while ($ligne = mysqli_fetch_assoc($resultat)) { // utilisation des champs $ligne['champ1'],... } } 54/65
69 Fermeture de connexion Fermer une connexion à MySQL avec mysqli_close : Utilisation au préalable de mysqli_kill pour détruire le thread MySQL // on possède un lien de connexion $connexion mysqli_close($connexion) ; 55/65
70 Les requêtes préparées Une requête préparée (ou requête paramétrable) est une requête réccurente, que l on compile avec des variables, et donc réutilisable en fournissant les valeurs manquantes (visibilité limitée à la session fournie par MySQL) Avantages d une requête préparée : Performances (la requête est déjà compilée, voir CM optimisation) Éviter les risques d injection SQL (paramètres transmis sous forme binaire) Économiser de la bande passante /65
71 Les requêtes préparées (2) Préparation d une requête avec mysqli_prepare : Un lien de connexion est requis en paramètre Les variables de la requête sont remplacées par le caractère? Pas de point virgule à la fin de la requête! // on possède un lien de connexion $connexion $req = "SELECT attribut k FROM table WHERE attribut n =? " ; $stmt = mysqli_prepare($connexion, $req) ; 57/65
72 Les requêtes préparées (3) Avant d exécuter une requête préparée, il faut lier des variables à chacun de ses paramètres avec mysqli_stmt_bind_param : Le premier paramètre est la requête préparée Le second paramètre représente le type de chaque variable "i" = entier, "s" = string, "d" = décimal, "b" = blob "sid" correspond à une première variable de type string, une seconde de type entier, et une troisième de type décimal Paramètre(s) suivant(s) : un paramètre pour chaque variable de la requête préparée (?) Retourne true (succès) or false (échec) // on a préparé une requête, représentée par $stmt $var = "une_valeur" ; mysqli_stmt_bind_param($stmt, $types, $var) ; 58/65
73 Les requêtes préparées (4) Exécution de la requête avec mysqli_stmt_execute : Retourne true (succès) or false (échec) // on a préparé une requête, représentée par $stmt mysqli_stmt_execute($stmt) ; Exemples de lien et exécution $dec = 0.5 ; $str = "abc" ; mysqli_stmt_bind_param($stmt1, "s", $str) ; mysqli_stmt_execute($stmt1) ; mysqli_stmt_bind_param($stmt2, "ds", $dec, $str) ; mysqli_stmt_execute($stmt2) ; 59/65
74 Les requêtes préparées (5) Récupérer le nombre de lignes affectées par une requête représentée par l objet $stmt : De type select (obligation de stocker le résultat au préalable) $mysqli_stmt_store_result($stmt) ; $nb = mysqli_stmt_num_rows($stmt) ; De type insert, update, delete $nb = mysqli_stmt_affected_rows($stmt) ; 60/65
75 Les requêtes préparées (6) Pour récupérer les lignes résultat d une requête select, il faut lier le résultat à des variables : Autant de variables que de colonnes! // soit une requête $stmt qui retourne n colonnes mysqli_stmt_bind_result($stmt, $var 1,..., $var n ) ; Récupération d une ligne résultat avec mysqli_stmt_fetch : Retourne true (succès) or false (échec), ou null (plus de ligne à lire) Les variables $var 1,..., $var n reçoivent les valeurs de la première ligne résultat (boucle pour les lignes suivantes) mysqli_stmt_fetch($stmt) ; 61/65
76 Les requêtes préparées (7) Exemple de requête préparée $reqp = "SELECT titre FROM Episode WHERE numero =?" ; if(!($stmt = mysqli_prepare($connexion, $reqp))) echo "Erreur de préparation : ".mysqli_error($connexion) ; else { $var = 1 ; // variable qui sera liée à la requête mysqli_stmt_bind_param($stmt, "i", $var) ; // lien mysqli_stmt_execute($stmt) ; // exécution de la requête mysqli_stmt_bind_result($stmt, $episodes) ; // lien résultat echo "<h2>episodes numérotés $var :</h2><p><ul>" ; while (mysqli_stmt_fetch($stmt)){ // parcours du résultat echo "<li>$episodes</li>" ; } echo "</ul>" ; } 62/65
77 Les requêtes préparées (7) Exemple de requête préparée $reqp = "SELECT titre FROM Episode WHERE numero =?" ; if(!($stmt = mysqli_prepare($connexion, $reqp))) echo "Erreur de préparation : ".mysqli_error($connexion) ; else { $var = 1 ; // variable qui sera liée à la requête mysqli_stmt_bind_param($stmt, "i", $var) ; // lien mysqli_stmt_execute($stmt) ; // exécution de la requête mysqli_stmt_bind_result($stmt, $episodes) ; // lien résultat echo "<h2>episodes numérotés $var :</h2><p><ul>" ; while (mysqli_stmt_fetch($stmt)){ // parcours du résultat echo "<li>$episodes</li>" ; } echo "</ul>" ; } 62/65
78 Les requêtes préparées (8) Pour réutiliser une requête préparée : Modifier la valeur de la variable (déjà) liée Éxécuter de nouveau la requête Exemple de réutilisation de requête préparée $var = 2 ; // modification de la valeur de la variable liée mysqli_stmt_execute($stmt) ; // exécution de la requête mysqli_stmt_bind_result($stmt, $episodes) ; // lien résultat echo "<h2>episodes numérotés $var :</h2><p><ul>" ; while (mysqli_stmt_fetch($stmt)) {// parcours du résultat echo "<li>$episodes</li>" ; } echo "</ul>" ; 63/65
79 Les requêtes préparées (8) Pour réutiliser une requête préparée : Modifier la valeur de la variable (déjà) liée Éxécuter de nouveau la requête Exemple de réutilisation de requête préparée $var = 2 ; // modification de la valeur de la variable liée mysqli_stmt_execute($stmt) ; // exécution de la requête mysqli_stmt_bind_result($stmt, $episodes) ; // lien résultat echo "<h2>episodes numérotés $var :</h2><p><ul>" ; while (mysqli_stmt_fetch($stmt)) {// parcours du résultat echo "<li>$episodes</li>" ; } echo "</ul>" ; 63/65
80 En résumé PHP inclut trois APIs pour MySQL, dont mysqli Quatre étapes pour se connecter et interroger MySQL Factorisation du code et sécurité avec les requêtes préparées Démo avec demo-serie (code source sur la page du LIF4) 64/65
81 Bilan PHP propose des extensions : Organisation du site avec les fonctions d inclusion Manipulation du système de fichiers du serveur Variables superglobales (dont celle de session) Manipulation des bases de données (ici MySQL) 65/65
82 Bilan PHP propose des extensions : Organisation du site avec les fonctions d inclusion Manipulation du système de fichiers du serveur Variables superglobales (dont celle de session) Manipulation des bases de données (ici MySQL) Prochain et dernier cours : optimisation de requêtes 65/65
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étailPHP 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étailMysql. 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étailSé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étailPHP 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étailDossier Technique. Détail des modifications apportées à GRR. Détail des modifications apportées à GRR Le 17/07/2008. Page 1/10
Dossier Technique Page 1/10 Sommaire : 1. REPONSE TECHNIQUE A LA DEMANDE 3 1.1. Prise en compte de la dernière version de phpcas 3 1.2. Gestion de la connexion à GRR 3 1.2.1. Récupération des attributs
Plus en détailPrincipales 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étailPHP 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étailInstallation / Sauvegarde Restauration / Mise à jour
Installation / Sauvegarde Restauration / Mise à jour SPIP version 1.8.x Serveur (Linux) Jean Sébastien BARBOTEU dev.jsb@laposte.net Introduction Nous allons aborder tous les aspects techniques liés à la
Plus en détailLa 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étailJava 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étailPHP. 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étailIntroduction à 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étailcedric.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étailCREATION 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étailStockage 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étailDevenez un véritable développeur web en 3 mois!
Devenez un véritable développeur web en 3 mois! L objectif de la 3W Academy est de former des petits groupes d élèves au développement de sites web dynamiques ainsi qu à la création d applications web
Plus en détailINTRODUCTION 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étailQuelques 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étailLangage 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étailPHP 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étailModule 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étailINFORMATIQUE & WEB. PARCOURS CERTIFICAT PROFESSIONNEL Programmation de sites Web. 1 an 7 MODULES. Code du diplôme : CP09
INFORMATIQUE & WEB Code du diplôme : CP09 Passionné par l informatique et le web, vous souhaitez obtenir une certification dans un domaine porteur et enrichir votre CV? PARCOURS CERTIFICAT PROFESSIONNEL
Plus en détailDans 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étailProgrammation 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étailCré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étailPratique 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étailLe service FTP. M.BOUABID, 04-2015 Page 1 sur 5
Le service FTP 1) Présentation du protocole FTP Le File Transfer Protocol (protocole de transfert de fichiers), ou FTP, est un protocole de communication destiné à l échange informatique de fichiers sur
Plus en détailGuide de démarrage -------
Guide de démarrage ------- Chargés de cours et laboratoire Date Nom Version 28 août 2010 Bonnet-Laborderie Alexandre 1.6 Sommaire Avant de commencer... 3 1) Accès au site avec un navigateur internet...
Plus en détailTous les autres noms de produits ou appellations sont des marques déposées ou des noms commerciaux appartenant à leurs propriétaires respectifs.
Connexion à 4D Server depuis une page ASP Par Noreddine MARGOUM, Technicien Contrôle Qualité, 4D S.A. Note technique 4D-200403-08-FR Version 1 Date 1 Mars 2004 Résumé Le propos de cette note technique
Plus en détailINSTALLATION 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étailBases de données et sites WEB
Bases de données et sites WEB Cours2 : Sécurité et contrôles d accès Anne Doucet 1 Authentification Autorisation Privilèges Rôles Profils Limitations de ressources Plan Audit Contrôle d accès via les vues
Plus en détailPlan 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étailInstallation de Joomla avec Filezilla
Installation de Joomla avec Filezilla Le but de cette manipulation est d apprendre à installer le CMS Joomla sur un hébergement classique, dans ce cas de type mutualisé. Quand vous souscrivez à un hébergement,
Plus en détailBTS 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étailAttaques 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étailMysql 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étailSYSTÈ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étailApplication 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étailKeyyo Guide de mise en service CTI / API / TAPI Keyyo
Keyyo Guide de mise en service CTI / API / TAPI Keyyo Keyyo Opération & Support http://www.keyyo.fr/fr/support/expert.php Version 1.0.7 Sommaire 1 Portée du document... 3 2 Introduction à la configuration...
Plus en détailModé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étailCré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étailles techniques d'extraction, les formulaires et intégration dans un site WEB
les techniques d'extraction, les formulaires et intégration dans un site WEB Edyta Bellouni MSHS-T, UMS838 Plan L extraction des données pour un site en ligne Architecture et techniques Les différents
Plus en détailOpenPaaS 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étailUn exemple d'authentification sécurisée utilisant les outils du Web : CAS. P-F. Bonnefoi
Un exemple d'authentification sécurisée utilisant les outils du Web : CAS 111 L authentification CAS : «Central Authentication Service» CAS ou le service central d authentification Le système CAS, développé
Plus en détailLes 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étailGestion 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étailDans nos locaux au 98 Route de Sauve 30900 NÎMES. Un ordinateur PC par stagiaire, scanner, imprimante/copieur laser couleur
FORMATION FORFAIT WEB DEVELOPPEUR Qualification ISQ OPQF Formacode 46 125 Certification de titre professionnel Web Designer + modules optionnels : Développement PHP/MySQL avancé, Web App, CMS e-boutique
Plus en détailDocumentation de conception
Documentation de conception La présente documentation précise les choix de modélisation, détaille les fonctionnalités (en sus de la documentation utilisateur), documente la conception de la base de donnes
Plus en détailPDO : 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étailAccès aux bases de données
13 Accès aux bases de données Les bases de données fournissent un mécanisme de stockage persistant pour les données d application et dans bien des cas, elles sont essentielles au fonctionnement des applications.
Plus en détailFormation : WEbMaster
Formation : WEbMaster Objectif et Description : Centre Eclipse vous propose une formation complète WebMaster, vous permettant de : Utiliser dès maintenant les nouveautés du web2, ainsi alléger les besoins
Plus en détailStructure fonctionnelle d un SGBD
Fichiers et Disques Structure fonctionnelle d un SGBD Requetes Optimiseur de requetes Operateurs relationnels Methodes d acces Gestion de tampon Gestion de disque BD 1 Fichiers et Disques Lecture : Transfert
Plus en détailJava et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour http://cuiwww.unige.
: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java Michel Bonjour http://cuiwww.unige.ch/~bonjour Plan JDBC: API bas niveau pour l accès aux BD (SQL) - Introduction - JDBC et : Java, ODBC, SQL
Plus en détailURECA Initiation Matlab 2 Laurent Ott. Initiation Matlab 2
Initiation Matlab 2 1 Chaînes de caractères (string) Une chaîne de caractères (string en anglais) est une suite ordonnée de caractères (du texte, par exemple). Sous matlab, les chaînes de caractères sont
Plus en détailwww.evogue.fr SUPPORT DE COURS / PHP PARTIE 3
L i a m T A R D I E U www.evogue.fr SUPPORT DE COURS / PHP PARTIE 3 Sommaire Sommaire... 2 Eléments initiaux... 3 Base de données... 3 Tables... 4 membres... 4 commandes... 4 articles... 4 details_commandes...
Plus en détailWEB & 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étailL3 informatique TP n o 2 : Les applications réseau
L3 informatique TP n o 2 : Les applications réseau Sovanna Tan Septembre 2009 1/20 Sovanna Tan L3 informatique TP n o 2 : Les applications réseau Plan 1 Transfert de fichiers 2 Le Courrier électronique
Plus en détailI. 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étailISPConfig Documentation
ISPConfig Documentation ISPConfig Documentation I Table des Matières III Manuel Client...1 1 Général...1 1.1 Connexion et Mot de Passe...1 1.2 Interface Client...1 1.3 Privilèges pour les Clients dans
Plus en détailBureautique Initiation Excel-Powerpoint
Module de Formation Personnalisée : Bureautique Initiation Excel-Powerpoint Durée : jours ouvrables Prix : Formation personnalisée en vue d obtenir les notions de base indispensables pour : Excel Office
Plus en détailL 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étailCONCOURS 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étailRéseaux et protocoles Damien Nouvel
Réseaux et protocoles Plan Les couches du réseau Suite de protocoles TCP/IP Protocoles applicatifs pour les sites web Requêtes HTTP 2 / 35 Plan Les couches du réseau Suite de protocoles TCP/IP Protocoles
Plus en détailPHP 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étailAutomatisation de l administration système
Automatisation de l administration système Plan Problèmatique : trop de systèmes, trop de solutions Typage des solutions Puppet : gestion de configuration de systèmes Capistrano : déploiement d applications
Plus en détailPROMETHEE Guide d installation
PROMETHEE Guide d installation Prométhée est un logiciel placé sous licence GNU/GPL v3 (General Public License) : deux contraintes pour quatre libertés. liberté d'utilisation du logiciel pour tous usages.
Plus en détailInstallation d'un serveur FTP géré par une base de données MySQL
BTS INFORMATIQUE DE GESTION Option Administrateur de réseaux développement d applications COMPTE-RENDU D ACTIVITE ACTIVITE N 2 Nom et Prénom : Casanova Grégory Identification (objectif) de l activité Installation
Plus en détailE-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étailE-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étail1. Base de données SQLite
Dans ce TP, nous allons voir comment créer et utiliser une base de données SQL locale pour stocker les informations. La semaine prochaine, ça sera avec un WebService. On repart de l application AvosAvis
Plus en détailGUIDE D INSTALLATION DE L APPLICATION GECOL SUR
GUIDE D INSTALLATION DE L APPLICATION GECOL SUR SERVEUR WINDOWS INTRODUCTION Le guide d installation qui va suivre va tenter d amener de la simplicité et de centraliser toutes les informations nécessaires
Plus en détailKAJOUT WASSIM INTERNET INFORMATION SERVICES (IIS) 01/03/2013. Compte-rendu sur ISS KAJOUT Wassim
01/03/2013 Le rôle de Serveur Web (IIS) dans Windows Server 2008 R2 vous permet de partager des informations avec des utilisateurs sur Internet, sur un intranet ou un extranet. Windows Server 2008 R2 met
Plus en détailTransfert d un site local vers un serveur. NPDS REvolution 13. Rédaction : Axel Relecture : Dev & Jpb
Transfert d un site local vers un serveur NPDS REvolution 13 Révision 1.1 de la documentation pour cette version Rédaction : Axel Relecture : Dev & Jpb Sommaire 1 Présentation générale... 3 1.1 Convention...
Plus en détailWordPress :: Migrer son site du local vers le serveur en ligne
WordPress :: Migrer son site du local vers le serveur en ligne Dans ce tutoriel nous verrons comment passer d'une **version locale* de site vers une version en ligne. Cette méthode est aussi valable quand
Plus en détailBES WEBDEVELOPER ACTIVITÉ RÔLE
BES WEBDEVELOPER ACTIVITÉ Le web developer participe aux activités concernant la conception, la réalisation, la mise à jour, la maintenance et l évolution d applications internet/intranet statiques et
Plus en détail3W Academy Programme de Formation Développeur Intégrateur web Total : 400 heures
3W Academy Programme de Formation Développeur Intégrateur web Total : 400 heures Objectif global : A l issue de la formation, les stagiaires doivent être opérationnels dans la création d un site internet
Plus en détailINTRODUCTION AU CMS MODX
INTRODUCTION AU CMS MODX Introduction 1. Créer 2. Organiser 3. Personnaliser UNE PETITE INTRODUCTION QUEST-CE QU UN CMS? CMS est l acronyme de Content Management System. C est outil qui vous permet de
Plus en détailCréer une connexion entre Sage CRM et Sage Etendue pour émettre directement des devis et commandes
Créer une connexion entre Sage CRM et Sage Etendue pour émettre directement des devis et commandes Produits concernés : Sage 100 CRM i7, Sage 100 Etendue. L objectif Créer un lien entre Sage CRM et Sage
Plus en détailImpact des robots d indexation sur le cache de second niveau de SPIP IMBERTI Christophe - SG/SPSSI/CP2I/DO Ouest 06/06/2012 mis à jour le 05/07/2012
Impact des robots d indexation sur le cache de second niveau de SPIP IMBERTI Christophe - SG/SPSSI/CP2I/DO Ouest 06/06/2012 mis à jour le 05/07/2012 SOMMAIRE 1. LE CONSTAT... 2 2. L EXPLICATION... 2 3.
Plus en détailHé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étailPROJET 1 : BASE DE DONNÉES REPARTIES
PROJET 1 : BASE DE DONNÉES REPARTIES GESTION D UNE BANQUE Elèves : David Bréchet Frédéric Jacot Charles Secrétan DONNÉES DU PROJET SSC - Bases de Données II Laboratoire de Bases de Données BD réparties
Plus en détailWebSpy Analyzer Giga 2.1 Guide de démarrage
WebSpy Analyzer Giga 2.1 Guide de démarrage Ce document aide à vous familiariser avec l utilisation de WebSpy Analyzer Giga. Pour des informations plus détaillées, consultez le guide utilisateur Analyzer
Plus en détailLI345 Bases de données et sites Web. Licence de Sciences et Technologies Mention Informatique
LI345 Bases de données et sites Web Licence de Sciences et Technologies Mention Informatique Fascicule de TD/TME PHP Année 2014/2015 1 Table des matières Planning indicatif des séances...3 Notions de base
Plus en détailSTID 2ème année : TP Web/PHP
STID 2ème année : TP Web/PHP Plan de travail et aide mémoire jean.arnaud@inria.fr Ce document est composé de cinq parties : Un aide mémoire sur les aspects pratiques de la création de sites Une introduction
Plus en détailLogiciel de gestion de caisse et d ardoises
6, bd maréchal Juin F-14050 Caen cedex 4 Spécialité Informatique 2 e année Rapport de projet Logiciel de gestion de caisse et d ardoises BOIRLEAUD Pierre-Jean MOLINS Nicolas REHFELD Vincent Table des matières
Plus en détailINTERNET 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étailDiffuser un contenu sur Internet : notions de base... 13
Diffuser un contenu sur Internet : notions de base... 13 1.1 Coup d œil sur l organisation de cet ouvrage.............. 15 Préambule : qu est-ce qu une page web?................ 16 À propos du HTML...........................
Plus en détailLA PLATE-FORME D'ALTERN C
LA PLATE-FORME D'ALTERN C http://doc.alternc.org/user/ch01.html Altern C est un ensemble de scripts fondé uniquement sur des Logiciels Libres. Grâce à sa facilité d administration, il permet d offrir un
Plus en détailIN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C
IN 102 - Cours 1 Qu on le veuille ou non, les systèmes informatisés sont désormais omniprésents. Même si ne vous destinez pas à l informatique, vous avez de très grandes chances d y être confrontés en
Plus en détailContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A.
ContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A. - 1 - PREAMBULE Les conditions générales d utilisation détaillant l ensemble des dispositions applicables
Plus en détailJava et les bases de données
Michel Bonjour http://cuiwww.unige.ch/~bonjour CENTRE UNIVERSITAIRE D INFORMATIQUE UNIVERSITE DE GENEVE Plan Introduction JDBC: API SQL pour Java - JDBC, Java, ODBC, SQL - Architecture, interfaces, exemples
Plus en détailLes BASES de DONNEES dans WampServer
Les BASES de DONNEES dans WampServer 1 Définitions Générales Une base de données (BDD) permet d'enregistrer, de stocker, de ranger des données de façon organisée et hiérarchisée. SQL est le langage qui
Plus en détailSQL Parser XML Xquery : Approche de détection des injections SQL
SQL Parser XML Xquery : Approche de détection des injections SQL Ramahefy T.R. 1, Rakotomiraho S. 2, Rabeherimanana L. 3 Laboratoire de Recherche Systèmes Embarqués, Instrumentation et Modélisation des
Plus en détailVulnérabilités et sécurisation des applications Web
OSSIR 09/09/2002 Vulnérabilités, attaques et sécurisation des applications Web Pourquoi les firewalls sont impuissants patrick.chambet@edelweb.fr http://www.edelweb.fr http://www.chambet.com Page 1 Planning
Plus en détailMANUEL DE L UTILISATEUR
MANUEL DE L UTILISATEUR COMPAS DYNAMIQUE Page 1 / 81 Page 2 / 81 SOMMAIRE PREAMBULE... 7 CHAPITRE 1 :... 9 PRESENTATION DU COMPAS DYNAMIQUE... 9 1 INTRODUCTION... 11 1.1 QU EST-CE QUE LE COMPAS DYNAMIQUE?...
Plus en détailTutorial sur SQL Server 2000
Tutorial sur SQL Server 2000 Système d'exploitation est 2000 pro et Serveur 2000 Sommaire 1 - Installation... 2 2 - Mise à jour... 5 3 - Présentation... 7 3-1 - Service Manager (Démarrer/Programmes/Microsoft
Plus en détailThème : Création, Hébergement et référencement d un site Web
Formation au profit des enseignants de l'université Ibn Zohr Thème : Création, Hébergement et référencement d un site Web Omar El Kharki & Jamila Mechbouh http://perso.menara.ma/~elkharki/ Ou bien http://www.elkharki.africa-web.org/
Plus en détail