Tutoriel AJAX Chat Partie 5 : Javascript, envoi des messages, et changement de pseudo

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

Download "Tutoriel AJAX Chat Partie 5 : Javascript, envoi des messages, et changement de pseudo"

Transcription

1 Tutoriel AJAX Chat Partie 5 : Javascript, envoi des messages, et changement de pseudo Envoi des messages Un aspect de coder une application avec AJAX est que l'on ne peut plus se passer de Javascript ensuite. Si vous avez l'intention de créer une application web dynamique en utilisant AJAX, des effets visuels, et des interfaces modernes et "funky", alors vous devrez simplement commencer à reconnaitre que Javascript va devenir un langage de programmation en premier plan pour vos applications. Une introduction à Javascript n'est pas le but de ce tutoriel, mais je vous préciserai les points important au long de ce tutoriel. Lancement d'une requête XHR XMLHttpRequest (Dorénavant surnommé "XHR") est un navigateur objet natif inclut dans la plupart des navigateurs modernes excepté Internet Explorer 6 où XHR est un objet ActiveX. Il permet à un langage de scripts comme Javascript de créer des connexions avec le serveur en arrière-plan qui évite le rechargement de la page web. Puisqu'accéder à XHR est un processus compliqué, je ne vous détaillerai pas tout afin de vous présenter Prototype. La classe Request cache ses détails derrière une interface simple. Utiliser AJAX avec Prototype est expliqué en détails sur Avant de retourner à notre application de "chat" côté HTML, Ajax.Request permet d'utiliser XHR simplement. Vous créez une instance de l'objet, définissez l'url, les paramètres et options pour finalement créer une méthode qui traitera la réponse (dans notre cas, un tableau encodé avec JSON qui contiendra les nouveaux messages) qui sera ensuite affiché sur l'interface du "chat" HTML. Voici un exemple : var message = 'Hello World!'; var myajax = new Ajax.Request( 'controller/action', // relative uri to server method: 'get', parameters: 'message=' + encodeuricomponent(message) oncomplete: alertresponse ); function alertresponse(reply) // just print the JSON notation response in an alert message alert('json: ' + reply.responsetext); Dans cet exemple assez simple, nous créons une requête en utilisant la méthode GET avec le message comme paramètre (cad PHP récupèrera le message dans la variable $_GET['message']).

2 Quand nous recevons la réponse du serveur, l'objet Ajax.Request passera une instance de lui-même en paramètre pour la méthode - alertresponse() - que nous avons surnommé "reply". L'instance possède plusieurs propriétés, mais la principale que nous utiliserons est "responsetext" qui contient le texte brut équivalent au corps de réponse, cad nos données encodées avec JSON (supposez que nous avons utilisé Zend_Json pour encoder la réponse). Déclenchement d'une requête AJAX pour les nouveaux messages du "chat" Maintenant, nous sommes prêts à retourner au code côté client! Afin de déclencher une requête AJAX pour soumettre un nouveau message du "chat", nous ajouterons un évènement onclick au bouton "Say it!" dans notre gabarit HTML. L'évènement onclick permettra d'appeller une méthode surnommée sendmessage(). Voici la partie HTML mise-à-jour : <div id="control"> <p>your current username is: <?php echo $this->escape($this->screenname)?> </span>. Chat: <input type="text" value="" id="textmessage" size="50" maxlength="255" /> <input type="button" value="say it!" onclick="sendmessage()" /> <br /> <br /> Change Screen Name: <input type="text" value="" id="changename" size="15" maxlength="32" /> <input type="button" value="change!" /> </div> Ajouter savemessage() La méthode savemessage() sera placé dans notre fichier chat.js situé dans le dossier "/javascript" function sendmessage () var requesturl = 'index/message'; var message = $F('textmessage'); try var request = new Ajax.Request( requesturl, method: 'get', parameters: 'message=' + encodeuricomponent(message), oncomplete: handlerefresh ); catch (e) alert('error: ' + e.tostring());

3 Regardons cette méthode plus en détail. sendmessage() définit d'abord deux variables locales. requesturl contient l'url que la requête AJAX enverra. Dans notre cas, elle se dirige vers "index/message", cad la méthode MessageAction de la classe IndexController que nous avons défini plus tôt. La variable du message est définie comme valeur du message du "chat", que nous avons l'intention d'envoyer. Lorsque l'utilisateur a écrit dans le champ texte dont l'id est "textmessage", nous utilisons le raccourci vers la méthode Prototype $F() pour récupérer sa valeur. Puisque nous utilisons juste des champs textes pour récupérer leurs valeurs, et Javascript et XHR pour les soumettre, nous n'avons pas besoin d'un élément parent du formulaire. Nous lançons ensuite la requête AJAX en utilisant la classe Ajax.Request de Prototype. Nous avons écrit cette partie du code avec un bloc try/catch, ainsi aucune erreur n'est envoyée à l'utilisateur. Le traitement des erreurs n'est pas très détaillée - il l'est juste assez pour nous indiquer si quelque chose ne va pas. Une application complète implémente un traitement des erreurs beaucoup plus poussé. La classe Ajax.Request fonctionne comme nous l'avons évoqué dans l'introduction de notre XMLHttpRequest. Nous utilisons une méthode GET pour simplifier les choses (nous permettant de tester PHP côté serveur depuis un navigateur), en ajoutant le nouveau message comme paramètre, et définissant les méthodes oncomplete() et handlerefresh(). Normalement, l'application complète utilise la méthode POST (pour plus de sécurité). Ajouter handlerefresh() La méthode handlerefresh est aussi placée dans notre fichier chat.js. function handlerefresh (reply) $('textmessage').value = ''; var newmessages = eval('(' + reply.responsetext + ')'); var messagecount = newmessages.length; for (var i=0; i La première ligne vide le champ du texte de l'utilisateur. La seconde ligne place la réponse encodée avec JSON dans un tableau Javascript. Avec ce tableau, nous itérons ensuite tous ses éléments. Dans chaque itération, nous ajoutons un nouvel élément paragraphe avec comme id "chatpane" dans notre HTML. La méthode $() de Prototype est un simple raccourci pour utiliser : document.getelementbyid('chatpane') Finalement, nous nous assurons que l'interface du chat affiche en bas du chat la liste des messages à jour, en définissant la valeur de scrolltop à la valeur actuel de scrollheight. Au dessus, j'ai directement récupérer la réponse JSON. Pour une question de bonne pratique, il est généralement recommandé d'utiliser un "parser" JSON pour réduire le risque de réponses contenant du texte corrompu de l'utilisateur qui pourrait faire des ravages avec le client. Regardez : Est-ce que cela fonctionne?

4 Si vous rechargez l'application du "chat" dans le navigateur, vous pourrez alors envoyer des messages sous le pseudo NewUser. Bien sûr, nous ne pouvons pas être indéfiniment NewUser! Notre prochain but sera d'autoriser l'utilisateur à changer son pseudo. Changer son pseudo Si l'envoi de nouveaux messages via Javascript n'était pas trop intimidant pour vous, alors ce qui suit ne vous posera pas de problème. Notre première étape est d'ajouter un évènement onclick au bouton "Change!". Le code HTML mis-à-jour suit. <input type="text" value="" id="changename" size="15" maxlength="32" /> <input type="button" value="change!" onclick="changename()" /> Ajouter changename() Le nouvel évènement onclick appel une méthode Javascript changename(). Encore une fois, le code sera placé dans le fichier chat.js. function changename () var requesturl = 'index/name'; var newname = $F('changename'); try var request = new Ajax.Request( requesturl, method: 'get', parameters: 'name=' + encodeuricomponent(newname), oncomplete: handlechangename ); catch (e) alert('error: ' + e.tostring()); La méthode est toujours identique à sendmessage() avec quelques différences. Nous avons changé la variable requesturl en index/name, cad nous aurons besoin d'ajouter une méthode NameAction à la classe IndexController. Faisons ça maintenant. Un peu plus tard, nous regarderons plus en détails la méthode handlechangename(). Ajouter NameAction() à IndexController.php Ajoutez la méthode qui suit au fichier IndexController.php : public function NameAction() * Load the Zend Framework's Filter_Input class

5 require_once 'Zend/Filter/Input.php'; $get = new Zend_Filter_Input($_GET); * Ensure the new screen name is an expected value! * We assume it must contain the ASCII a-z0-9 * alphanumeric characters only * Error gets printed to screen instead of name. if(!$clean_name = $get->testalnum('name')) $this->getresponse()->setheader('content-type', 'text/plain'); $this->getresponse()->setbody('error: Invalid Screen Name'); return; Defense in Depth. The Zend Framework is likely * reliable - but you just never know. Escape all * potential output JIC (just in case). $escaped_clean_name = htmlentities($clean_name, ENT_QUOTES, 'utf-8'); * Update the user's session for the new screen name $_SESSION['chat_screenname'] = $escaped_clean_name; * To tell the client this request was successful echo * back the screen name as plain html. $this->getresponse()->setbody($escaped_clean_name); Comme nous l'avons remarqué plus tôt dans la méthode MessageAction(), le pseudo de l'utilisateur est stocké dans sa session. Dans cette méthode, nous présentons une nouvelle classe du Zend Framework appelée Zend_Filter_Input. Cette classe offre des méthodes de filtrage et de validation des données provenant des paramètres GET ou des formulaires. Nous allons supposer qu'un pseudo doit contenir uniquement des caractères alphanumériques, cad des lettres minuscules et majuscules entre a-z et des chiffres entre 0-9. Instancier un nouvel objet Zend_Filter_Input en passant des paramètres avec $_GET a un impact principal. L'objet va réécrire par dessus la superglobal $_GET forcant tous les accès aux variables GET à travers le nouvel objet. Ceci nous assure de filtrer/valider les valeurs avant leur utilisation. De plus, nous traiterons ces valeurs avec htmlentities() juste au cas où le Zend Framework échoue pour des raisons inconnues. Fortement peu probable, mais mieux vaut couvrir nos arrières ;). La méthode testalnum() retournera la valeur de "name" à notre script à moins qu'il ne soit pas de type alphanumérique, qui dans ce cas retournera un message d'erreur. En supposant que la valeur est valide, nous l'enregistrerons dans la session de l'utilisateur comme "chat_screenname". Cette variable de session est utiliser pour afficher "Votre pseudo est :" dans notre HTML.

6 Mettre à jour le document HTML pour les nouveaux pseudos De retour au côté client. Notre nouvelle méthode Javascript handlechangename() situé dans chat.js est très simple. function handlechangename (reply) $('changename').value = ''; $('screenname').innerhtml = reply.responsetext; Traduction réalisé par R-Benyacoub.

DOM - Document Object Model

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

Plus en détail

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

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp Serveur d'application Client HTML/JS Apache Thrift Bootcamp Pré-requis La liste ci-dessous de logiciels doit être installée et opérationnelle sur la machine des participants : Compilateur thrift http://thrift.apache.org/

Plus en détail

Gilles.Roussel univ-mlv.fr HTTP/1.1 RFC 2068

Gilles.Roussel univ-mlv.fr HTTP/1.1 RFC 2068 HTTP/1.1 RFC 2068 1 Caractéristiques Niveau application Sans état Tout transfert de données Au dessus du protocole TCP Largement utilisé dans le World Wide Web Utilise les normes : URI (Uniform Resource

Plus en détail

Stockage du fichier dans une table mysql:

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

Plus en détail

Le stockage local de données en HTML5

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

Plus en détail

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

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

Plus en détail

TP JAVASCRIPT OMI4 TP5 SRC1 2011-2012

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

Plus en détail

Architectures en couches pour applications web Rappel : Architecture en couches

Architectures en couches pour applications web Rappel : Architecture en couches Rappel : Architecture en couches Une architecture en couches aide à gérer la complexité : 7 Application 6 Presentation 5 Session Application Les couches hautes dépendent des couches basses 4 Transport

Plus en détail

Document Object Model (DOM)

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

Plus en détail

Projet Viticulture - TP 3 : bases de données distantes BTS Services informatiques aux organisations

Projet Viticulture - TP 3 : bases de données distantes BTS Services informatiques aux organisations Projet Viticulture TP 3 : bases de données externes Description du thème Partie 1 : bases de données locales SQLite Partie 2 : projet H2O stockage local Partie 3 : bases de données distantes Partie 4 :

Plus en détail

SYSTÈMES D INFORMATIONS

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

Plus en détail

API SMS CONSEIL HTTP V2.01. Sommaire. Documentation V1.0 au 21/05/2011

API SMS CONSEIL HTTP V2.01. Sommaire. Documentation V1.0 au 21/05/2011 API SMS CONSEIL HTTP V2.01 Documentation V1.0 au 21/05/2011 L'utilisation de l'api SMS CONSEIL est réservée aux clients, membres du site SMS-CONSEIL.FR et doit se faire en accord avec nos conditions générales

Plus en détail

\ \ / \ / / \/ ~ \/ _ \\ \ ` \ Y ( <_> ) \ / /\ _ / \ / / \/ \/ \/ Team

\ \ / \ / / \/ ~ \/ _ \\ \ ` \ Y ( <_> ) \ / /\ _ / \ / / \/ \/ \/ Team \ \ / \ / / \/ ~ \/ _ \\ \ ` \ Y ( ) \ / /\ _ / \ / / \/ \/ \/ Team Tutoriel Hacking La faille XSS ------------------------ By H4X0R666 Ce tutoriel portera sur l exploitation de la faille XSS et sur

Plus en détail

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

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

Plus en détail

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

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

Plus en détail

FOIRE AUX QUESTIONS PAIEMENT PAR INTERNET. Nom de fichier : Monetico_Paiement_Foire_aux_Questions_v1.7 Numéro de version : 1.7 Date : 2014-05-29

FOIRE AUX QUESTIONS PAIEMENT PAR INTERNET. Nom de fichier : Monetico_Paiement_Foire_aux_Questions_v1.7 Numéro de version : 1.7 Date : 2014-05-29 FOIRE AUX QUESTIONS PAIEMENT PAR INTERNET Nom de fichier : Monetico_Paiement_Foire_aux_Questions_v1.7 Numéro de version : 1.7 Date : 2014-05-29 FOIRE AUX QUESTIONS Confidentiel Titre du document : Monetico

Plus en détail

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

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

Plus en détail

Langage HTML (2 partie) <HyperText Markup Language> <tv>lt La Salle Avignon BTS IRIS</tv>

Langage HTML (2 partie) <HyperText Markup Language> <tv>lt La Salle Avignon BTS IRIS</tv> Langage HTML (2 partie) «Je n'ai fait que prendre le principe d - hypertexte et le relier au principe du TCP et du DNS et alors boum! ce fut le World Wide Web!» Tim Berners-Lee

Plus en détail

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

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

Plus en détail

Les Utilisateurs dans SharePoint

Les Utilisateurs dans SharePoint Les Utilisateurs dans SharePoint La gestion des utilisateurs dans SharePoint SharePoint dont le cœur est l'outil collaboratif, Windows SharePoint Services. Chaque utilisateur (ou collaborateur) peut créer

Plus en détail

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

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

Plus en détail

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

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

Plus en détail

PDO : PHP Data Object 1/13

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

Plus en détail

Module pour la solution e-commerce Magento

Module pour la solution e-commerce Magento Module pour la solution e-commerce Magento sommaire 1. Introduction... 3 1.1. Objet du document... 3 1.2. Liste des documents de référence... 3 1.3. Avertissement... 3 1.4. Contacts... 3 1.5. Historique

Plus en détail

Formulaire pour envoyer un mail

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

Plus en détail

Présentation du Framework BootstrapTwitter

Présentation du Framework BootstrapTwitter COUARD Kévin HELVIG-LARBRET Blandine Présentation du Framework BootstrapTwitter IUT Nice-Sophia LP-SIL IDSE Octobre 2012 Sommaire I. INTRODUCTION... 3 Définition d'un framework... 3 A propos de BootstrapTwitter...

Plus en détail

Mise en place d un serveur Proxy sous Ubuntu / Debian

Mise en place d un serveur Proxy sous Ubuntu / Debian BTS INFORMATIQUE DE GESTION Option Administrateur Réseaux Benoît VERRON Activité n 1 Mise en place d un serveur Proxy sous Ubuntu / Debian Présentation d un Proxy Un proxy (serveur mandataire) est un serveur

Plus en détail

Bases de Données et Internet

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

Plus en détail

Ajax, RIA et HTML5. 9.1 Prise en charge d Ajax

Ajax, RIA et HTML5. 9.1 Prise en charge d Ajax 9 Ajax, RIA et HTML5 Au soaire de ce chapitre UU Prise en charge d Ajax UU Bibliothèques JavaScript UU Extensions CSS de WebKit UU Applications Internet riches mobiles UU HTML5 Ajax, HTML5 et RIA, coent

Plus en détail

Architecture Orientée Service, JSON et API REST

Architecture Orientée Service, JSON et API REST UPMC 3 février 2015 Précedemment, en LI328 Architecture générale du projet Programmation serveur Servlet/TOMCAT Aujourd hui Quelques mots sur les SOA API - REST Le format JSON API - REST et Servlet API

Plus en détail

Module http MMS AllMySMS.com Manuel d intégration

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

Plus en détail

4. SERVICES WEB REST 46

4. 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étail

CHAPITRE 11. Temps réel Remy Sharp

CHAPITRE 11. Temps réel Remy Sharp CHAPITRE 11 Temps réel Remy Sharp LE WEB EN TEMPS RÉEL fait partie de ces aspects d Internet qu on apprécie d utiliser mais qui peuvent être assez effrayants quand il faut les mettre en place. Ce chapitre

Plus en détail

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

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

Plus en détail

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

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

Plus en détail

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

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

Plus en détail

Microsoft Application Center Test

Microsoft Application Center Test Microsoft Application Center Test L'outil de Test de performance des Sites Web Avec Visual Studio.NET, il est fourni une petite application qui permet de valider la performance de son site Internet ou

Plus en détail

TD Objets distribués n 3 : Windows XP et Visual Studio.NET. Introduction à.net Remoting

TD Objets distribués n 3 : Windows XP et Visual Studio.NET. Introduction à.net Remoting IUT Bordeaux 1 2005-2006 Département Informatique Licence Professionnelle ~ SI TD Objets distribués n 3 : Windows XP et Visual Studio.NET Introduction à.net Remoting Partie 1 : l'analyseur de performances

Plus en détail

TP Service HTTP Serveur Apache Linux Debian

TP Service HTTP Serveur Apache Linux Debian Compte rendu de Raphaël Boublil TP Service HTTP Serveur Apache Linux Debian Tout au long du tp, nous redémarrons le service apache constamment pour que les fi de configuration se remettent à jour - /etc/init.d/apache2

Plus en détail

VTigerCRM. CRM : Logiciel de gestion des activités commerciales d'une (petite) entreprise

VTigerCRM. CRM : Logiciel de gestion des activités commerciales d'une (petite) entreprise CRM : Logiciel de gestion des activités commerciales d'une (petite) entreprise Possibilités : Gestion des rendez-vous/appels Gestion des e-mails Gestion des stocks Gestion des ventes Enregistrement des

Plus en détail

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

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

Plus en détail

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

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

Plus en détail

les 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 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étail

Failles XSS : Principes, Catégories Démonstrations, Contre mesures

Failles 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étail

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

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

Plus en détail

Attaques de type. Brandon Petty

Attaques 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étail

1 / Introduction. 2 / Gestion des comptes cpanel. Guide débuter avec WHM. 2.1Créer un package. 2.2Créer un compte cpanel

1 / Introduction. 2 / Gestion des comptes cpanel. Guide débuter avec WHM. 2.1Créer un package. 2.2Créer un compte cpanel Guide débuter avec WHM 1 / Introduction WHM signifie Web Host Manager (ou gestionnaire d'hébergement web). WHM va donc vous permettre de gérer des comptes d'hébergement pour vos clients. (création de compte,

Plus en détail

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

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

Plus en détail

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

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

Plus en détail

PLUGINS Guide du Développeur STEPHANE FERRARI. P l u X m l 5.4

PLUGINS Guide du Développeur STEPHANE FERRARI. P l u X m l 5.4 PLUGINS Guide du Développeur STEPHANE FERRARI P l u X m l 5.4 Table des matières Présentation de PluXml...5 Principales caractéristiques...5 Pré-requis...6 Procédure d'installation...6 Procédure de mise

Plus en détail

Résoudre les problèmes PHP, les meilleures (et les pires) techniques

Résoudre les problèmes PHP, les meilleures (et les pires) techniques Résoudre les problèmes PHP, les meilleures (et les pires) techniques Xavier Gorse Architecte - Expert PHP (ELAO) xavier.gorse@elao.com Un peu d ordre dans la maison! Toutes les lignes téléphoniques sont

Plus en détail

CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN E-MAILING

CRÉ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étail

Manuel d'utilisation: Gestion commerciale - CRM

Manuel d'utilisation: Gestion commerciale - CRM Manuel d'utilisation: Gestion commerciale - CRM Partie: Plan de vente Version : 1.1 Structure du document 1 Introduction...2 2 Glossaire...2 3 Plan de vente...3 3.1 Plan de vente...4 3.1.1 Gestion...4

Plus en détail

CMS Made Simple Version 1.4 Jamaica. Tutoriel utilisateur Récapitulatif Administration

CMS Made Simple Version 1.4 Jamaica. Tutoriel utilisateur Récapitulatif Administration CMS Made Simple Version 1.4 Jamaica Système de gestion de contenu CMS Made Simple est entièrement gratuit sous licence GPL. Tutoriel utilisateur Récapitulatif Administration Le système de gestion de contenu

Plus en détail

ADO.NET. Ado.net propose deux modes d'accès, le mode connecté et le mode déconnecté.

ADO.NET. Ado.net propose deux modes d'accès, le mode connecté et le mode déconnecté. ADO.NET Ado.net est une technologie d'accès aux données qui fournit un ensemble des classes permettant d'accéder aux données relationnelles. Même si Microsoft a repris le nom d'ado, déjà présent en VB6,

Plus en détail

Alfstore workflow framework Spécification technique

Alfstore workflow framework Spécification technique Alfstore workflow framework Spécification technique Version 0.91 (2012-08-03) www.alfstore.com Email: info@alfstore.com Alfstore workflow framework 2012-10-28 1/28 Historique des versions Version Date

Plus en détail

Description des pratiques à adopter pour la mise à jour du layout en utilisant le gestionnaire de conception de Sharepoint 2013

Description des pratiques à adopter pour la mise à jour du layout en utilisant le gestionnaire de conception de Sharepoint 2013 Exemple d utilisation du gestionnaire de conception Description des pratiques à adopter pour la mise à jour du layout en utilisant le gestionnaire de conception de Sharepoint 2013 6, rue de l Etang, L-5326

Plus en détail

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

Tous les autres noms de produits ou appellations sont des marques déposées ou des noms commerciaux appartenant à leurs propriétaires respectifs. Le framework YUI et le développement 4D Par Olivier DESCHANELS, Responsable Programme 4D S.A. Note technique 4D-201004-08-FR Version 1 - Date 1 avril 2010 Résumé Dans la présente note technique, nous allons

Plus en détail

Perl Console. Votre compagnon pour développer en Perl. Les Journées du Perl 2007 16, 17 novembre, Lyon. Alexis Sukrieh <sukria@sukria.

Perl Console. Votre compagnon pour développer en Perl. Les Journées du Perl 2007 16, 17 novembre, Lyon. Alexis Sukrieh <sukria@sukria. Perl Console Votre compagnon pour développer en Perl Les Journées du Perl 2007 16, 17 novembre, Lyon Alexis Sukrieh Plan Pourquoi une console? Le modèle «Read-Eval-Print-Loop» Dépendances

Plus en détail

Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework

Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework Gaël de Chalendar CEA LIST / LIC2M Journée de Présentation des Technologies WebContent INSTN 14/12/2009 Présentation de gsoap Plan

Plus en détail

Programmation Web. Madalina Croitoru IUT Montpellier

Programmation Web. Madalina Croitoru IUT Montpellier Programmation Web Madalina Croitoru IUT Montpellier Organisation du cours 4 semaines 4 ½ h / semaine: 2heures cours 3 ½ heures TP Notation: continue interrogation cours + rendu à la fin de chaque séance

Plus en détail

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

Devenez 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étail

Flex. Lire les données de manière contrôlée. Programmation Flex 4 Aurélien VANNIEUWENHUYZE

Flex. Lire les données de manière contrôlée. Programmation Flex 4 Aurélien VANNIEUWENHUYZE Flex Lire les données de manière contrôlée 1 Plan Lier les données Stocker les données Valider les données 2 Gérer des données Lier des données La notion de DataBinding est l une des plus importantes du

Plus en détail

1. Installation du Module

1. Installation du Module 1 sur 10 Mise en place du Module Magento V 1.5.7 1. Installation du Module Vous pouvez installer le module de deux façons différentes, en passant par Magento Connect, ou directement via les fichiers de

Plus en détail

STID 2ème année : TP Web/PHP

STID 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étail

Vtiger CRM - Prestashop Connector

Vtiger CRM - Prestashop Connector Vtiger CRM - Prestashop Connector Pour PRESTASHOP version 1.4.x Pour vtiger CRM version 5.1, 5.2.0 et 5.2.1 Introduction En tant que gestionnaire d'une boutique en ligne, vous cherchez constamment de meilleurs

Plus en détail

Sommaire Livre blanc CGIDEV2 pour RePeGlio

Sommaire Livre blanc CGIDEV2 pour RePeGlio Sommaire Livre blanc CGIDEV2 pour RePeGlio 1. CGIDEV2 d IBM : un must pour les développeurs RPG?... 2 2. Ce que les écrans en mode caractères ne savent pas faire... 2 3. La solution CGIDEV2 d IBM... 3

Plus en détail

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

Démonstration de la mise en cache via HTML 5 sur iphone Last update: 2011/08/18 21:46 wiki:devmobile:webapp:html5:presentation Démonstration de la mise en cache via HTML 5 sur iphone Overview Parmi les nouveautés du HTML 5, l une d elles est très intéressent

Plus en détail

HTML5, CSS3 et JavaScript Développez vos sites pour les terminaux mobiles

HTML5, CSS3 et JavaScript Développez vos sites pour les terminaux mobiles 46 HTML5, CSS3 et JavaScript Développez vos sites pour les terminaux mobiles enfin deux points importants pour les sites mobiles, les nouveautés sur les formulaires ainsi que le mode hors-ligne. 2. Bonnes

Plus en détail

Votre site Internet avec FrontPage Express en 1 heure chrono

Votre site Internet avec FrontPage Express en 1 heure chrono 1.1. Précautions préliminaires Votre site Internet avec FrontPage Express en 1 heure chrono Le contenu de ce site n'est pas très élaboré mais il est conçu uniquement dans un but pédagogique. Pour débuter,

Plus en détail

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

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

Plus en détail

INFO-F-404 : Techniques avancées de systèmes d exploitation

INFO-F-404 : Techniques avancées de systèmes d exploitation Nikita Veshchikov e-mail : nikita.veshchikov@ulb.ac.be téléphone : 02/650.58.56 bureau : 2N8.213 URL : http://student.ulb.ac.be/~nveshchi/ INFO-F-404 : Techniques avancées de systèmes d exploitation Table

Plus en détail

Rafraichissement conditionné d'une page en.net

Rafraichissement conditionné d'une page en.net Rafraichissement conditionné d'une page en.net Test avec AJAX pour rafraichissement En utilisant AJAX, voici une possibilité de faire un rafraichissement conditionné. Nous verrons dans cet article une

Plus en détail

Sommaire Accès via un formulaire d'identification... 4 Accès en mode SSO... 5 Quels Identifiant / mot de passe utiliser?... 6

Sommaire Accès via un formulaire d'identification... 4 Accès en mode SSO... 5 Quels Identifiant / mot de passe utiliser?... 6 Sommaire Accès via un formulaire d'identification... 4 Accès en mode SSO... 5 Quels Identifiant / mot de passe utiliser?... 6 2 І O2S Intégration O2S dans un site Internet Ce document présente une description

Plus en détail

Séance d ED n 5 : HTML et JavaScript

Séance d ED n 5 : HTML et JavaScript Séance d ED n 5 : HTML et JavaScript EXERCICE 1 1) le but de cet exercice est de construire l'interface suivante en html: une réponse : 1)

Plus en détail

Les outils de création de sites web

Les outils de création de sites web Tuto 1ère séance - p1 Les outils de création de sites web Sources : Réalisez votre site web avec HTML5 et CSS3 de Mathieu Nebra (Edition Le Livre du Zéro) site fr.openclassrooms.com (anciennement «site

Plus en détail

Créer et gérer des catégories sur votre site Magento

Créer et gérer des catégories sur votre site Magento Créer et gérer des catégories sur votre site Magento Version utilisée pour l élaboration de ce guide : Magento 1.3.0 Rédigé par : Olivia Contexte Pour créer un site sous Magento, vous allez être obligé

Plus en détail

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

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

Plus en détail

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

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

Plus en détail

Logiciel : GLPI Version : 0.72.4 SYNCRHONISATION DE GLPI AVEC ACTIVE DIRECTORY. Auteur : Claude SANTERO Config. : Windows 2003.

Logiciel : GLPI Version : 0.72.4 SYNCRHONISATION DE GLPI AVEC ACTIVE DIRECTORY. Auteur : Claude SANTERO Config. : Windows 2003. Ce document est libre de droit, merci simplement de respecter son auteur. Toutes remarques ou commentaires seront les bienvenues. ATTENTION : La mise à jour par script entre GLPI et Active Directory ne

Plus en détail

Classe ClInfoCGI. Fonctions membres principales. Gestion des erreurs

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

Plus en détail

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

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

Plus en détail

1-Introduction 2. 2-Installation de JBPM 3. 2-JBPM en action.7

1-Introduction 2. 2-Installation de JBPM 3. 2-JBPM en action.7 Sommaire 1-Introduction 2 1-1- BPM (Business Process Management)..2 1-2 J-Boss JBPM 2 2-Installation de JBPM 3 2-1 Architecture de JOBSS JBPM 3 2-2 Installation du moteur JBoss JBPM et le serveur d application

Plus en détail

Once the installation is complete, you can delete the temporary Zip files..

Once the installation is complete, you can delete the temporary Zip files.. Sommaire Installation... 2 After the download... 2 From a CD... 2 Access codes... 2 DirectX Compatibility... 2 Using the program... 2 Structure... 4 Lier une structure à une autre... 4 Personnaliser une

Plus en détail

LE CMS GUPPY. 2) Décompression : Elle se fait simplement avec le logiciel 7-Zip ou tout autre logiciel.

LE CMS GUPPY. 2) Décompression : Elle se fait simplement avec le logiciel 7-Zip ou tout autre logiciel. Le CMS libre Guppy 1/10 LE CMS GUPPY Le guppy (Poecilia reticulata) est un poisson d'eau douce tropicale, mais c'est pour nous un CMS, un Content Management System ou gestionnaire de contenu ou système

Plus en détail

Manuel d'utilisation: Gestion commerciale - CRM

Manuel d'utilisation: Gestion commerciale - CRM Manuel d'utilisation: Gestion commerciale - CRM Partie: Administration Version : 1.1 Structure du document 1 Introduction...3 2 Glossaire...3 3 Administration...4 3.1 Mon entreprise...5 3.1.1 Gestion...5

Plus en détail

Phone Manager Soutien de l'application OCTOBER 2014 DOCUMENT RELEASE 4.1 SOUTIEN DE L'APPLICATION

Phone Manager Soutien de l'application OCTOBER 2014 DOCUMENT RELEASE 4.1 SOUTIEN DE L'APPLICATION Phone Manager Soutien de l'application OCTOBER 2014 DOCUMENT RELEASE 4.1 SOUTIEN DE L'APPLICATION Sage CRM NOTICE The information contained in this document is believed to be accurate in all respects but

Plus en détail

Java 7 Les fondamentaux du langage Java

Java 7 Les fondamentaux du langage Java 184 Java 7 Les fondamentaux du langage Java 1.1 Les bibliothèques graphiques Le langage Java propose deux bibliothèques dédiées à la conception d'interfaces graphiques. La bibliothèque AWT et la bibliothèque

Plus en détail

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

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

Plus en détail

Réalisation d'une application de gestion des candidatures

Réalisation d'une application de gestion des candidatures Réalisation d'une application de gestion des candidatures Rapport de Projet Pierre Daval et Antoine Faivre Octobre 2010 à Mars 2011 Licence Professionnelle Systèmes Informatiques et Logiciels de Besançon

Plus en détail

Programmation Web. Introduction

Programmation Web. Introduction Programmation Web Introduction 1 Introduction 10 séances 1 h cours + 1h TD Notes : contrôle continu DS 1 TP : note de groupe : rapport + code source + démo TD : note personnelle (=0 si 2 absences non justifiées)

Plus en détail

Remote Cookies Stealing SIWAR JENHANI (RT4) SOUHIR FARES (RT4)

Remote 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étail

EXTENSION WORDPRESS. Contact Form 7. Proposé par :

EXTENSION WORDPRESS. Contact Form 7. Proposé par : Contact Form 7 Proposé par : Sommaire Sommaire... 2 Présentation... 3 I. Le Tutoriel... 3 1) Espace de travail... 3 2) Téléchargez les extensions nécessaires... 3 3) Configuration du Formulaire... 7 1)

Plus en détail

Projet de Semestre. Page Web Didactique de Visualisation d Algorithme. Université de Genève - semestre de printemps 2012

Projet de Semestre. Page Web Didactique de Visualisation d Algorithme. Université de Genève - semestre de printemps 2012 Nouvelles Technologies de l Information et de la Communication Projet de Semestre Page Web Didactique de Visualisation d Algorithme Université de Genève - semestre de printemps 2012 Pierre Künzli, Adrien

Plus en détail

Sage CRM. Sage CRM 7.3 Guide du portable

Sage CRM. Sage CRM 7.3 Guide du portable Sage CRM Sage CRM 7.3 Guide du portable Copyright 2014 Sage Technologies Limited, éditeur de ce produit. Tous droits réservés. Il est interdit de copier, photocopier, reproduire, traduire, copier sur

Plus en détail

Démarrer avec Ajax et le php: exemple d'application

Démarrer avec Ajax et le php: exemple d'application Démarrer avec Ajax et le php: exemple d'application Rédacteur: Alain Messin (Alain.Messin arobas obs-azur.fr) CNRS UMS 2202 Admin06 24/09/2007 Le but de ce document est de permettre de démarrer dans le

Plus en détail

PARAMETRAGE CONSOLE ADMINISTRATION DE MESSAGERIE "VENDOME.EU" NOTICE UTILISATION

PARAMETRAGE CONSOLE ADMINISTRATION DE MESSAGERIE VENDOME.EU NOTICE UTILISATION PARAMETRAGE CONSOLE ADMINISTRATION DE MESSAGERIE "VENDOME.EU" NOTICE UTILISATION Le but de l'utilisation de la console d'administration de votre adresse de messagerie "vendome.eu", est notamment de créer

Plus en détail

Architectures Web Services RESTful

Architectures Web Services RESTful Architectures Web Services RESTful Alexandre Denis Alexandre.Denis@inria.fr Inria Bordeaux Sud-Ouest France ENSEIRB PG306 REST REST Representational State Transfer Roy Fielding (2000) Décollage vers 2006-2007

Plus en détail