Bien architecturer une application REST

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

Download "Bien architecturer une application REST"

Transcription

1 Olivier Gutknecht Bien architecturer une application REST Avec la contribution de Jean Zundel Ce livre traite exactement du sujet suivant : comment faire pour que les services web et les programmes qui les utilisent aient la même souplesse de navigation parmi l information que tout internaute dans son navigateur web? Comment utiliser les mêmes principes? On verra que les bonnes pratiques du Web «humain» doivent se retrouver lorsqu on conçoit des services web en REST. Prix : 16 E Code éditeur : G85015 ISBN : Eyrolles 2009

2 Avant-propos Bien architecturer une application REST Organisation de ce livre Ce livre présente un aperçu des services web que l on peut concevoir dans le style d architecture REST. Plutôt que de se focaliser sur un framework particulier, nous mettrons en lumière les principes de l architecture, les bonnes pratiques associées et comment tirer parti au mieux des protocoles pour concevoir des applications et tenir compte de la latence, des caches, de la montée en charge, etc. Avertissement Ce livre n a pas la prétention d être une référence sur REST, ne serait-ce que par son format, mais il donne un tour d horizon des concepts de base et des apports de ce style d architecture. Le lecteur averti devra nous pardonner d avoir simplifié légèrement certains concepts le prix de la concision. Après une introduction générale, nous verrons au chapitre 2, sur un exemple minimaliste comment concevoir une application selon les principes REST, et quel en est l impact sur la structuration des données, sur la lecture ou la mise à jour des informations. Avant-propos II

3 Bien architecturer une application REST Au chapitre 3, nous reviendrons sur REST et sur certains points d architecture spécifiques, en étudiant comment tirer parti au mieux de HTTP et des standards associés. Nous verrons comment une utilisation soigneuse du protocole permet de bénéficier d une architecture de cache, de gestion des versions, et d une meilleure montée en charge. Nous verrons au chapitre 4 dans le détail quelques principes simples d implémentation pour exploiter facilement les caches, la distribution, ou le contrôle de version. Bien sûr, nous y aborderons également les grands écueils classiques. Au chapitre 5, nous explorerons une application REST existante, l'api Google Contacts, et nous analyserons comment les concepteurs de cet outil ont mis en oeuvre les concepts REST. Nous conclurons par une check-list méthodique, avant de proposer quelques pistes et références bibliographiques. Remerciements Je tiens à remercier, pour leur relecture attentive et leurs conseils, Muriel Shan Sei Fan, Jean Zundel, Luc Heinrich, Sébastien Tanguy, Loïc Ségalou, et Véronique Heinrich. Avant-propos III

4 Le Web pour les humains le Web pour les machines Bien architecturer une application REST Ma journée démarre : j ouvre mon navigateur web, je pars butiner quelques blogs du matin. Un billet de l un de mes auteurs favoris suggère la lecture d un autre billet d un inconnu. Je file le lire, et commence à parcourir les archives du mois de ce nouveau blog. Je trouve un lien sur la page personnelle de l auteur, je passe sur la liste de ses publications. Pendant ce temps, une application sur ma machine se connecte sur un site de photos, télécharge la liste des albums auxquels je suis abonné, récupère la liste de commentaires récents sur une de mes photos, trouve et charge dans un de ces commentaires une image que l on me conseille d aller voir, puis revient sur les informations de mon compte, vérifie mon quota, et met en ligne les dernières photos que j ai stockées sur ma machine. Quoi de commun entre mon activité et celle de mon programme? Superficiellement, pas grandchose. Je suis dans mon navigateur et je passe de page en page, et l application travaille silencieusement à synchroniser des données assez hétérogènes. Et pourtant Mon programme et moi sommes finalement en train de faire exactement la même chose : parcourir le Web, naviguer d une information à l autre en suivant des liens, en prenant des décisions à chaque étape sur quoi aller voir ensuite. C est-à-dire présenter une requête à un serveur sur une URL donnée, attendre sa réponse. Examiner le contenu, y trouver des liens. Suivre un ou plusieurs de ces liens, c est à dire refaire une requête sur une autre URL, peut-être sur un autre serveur, attendre la réponse, etc. Mon navigateur me présente des données dans différents formats : images, texte, et même d autres sans que je m en aperçoive, comme un peu de javascript pour me faciliter - ou compliquer - ma navigation. L application navigue dans la même toile de liens, téléchargeant parfois du XML, parfois un peu de HTML ou de JSON, parfois des formats plus spécialisés comme ATOM ou GData. Avant-propos IV

5 Table des matières Bien architecturer une application REST AVANT-PROPOS II 1. INTRODUCTION Les services web : appel de procédure ou exploration d espace? 2 REST, un style d'architecture 4 2. COMPRENDRE REST À TRAVERS UNE PREMIÈRE UTILISATION Modélisation des données 8 Identifier les ressources 8 Quelles URL pour donner l accès à mes ressources? 12 Représentations d une ressource 15 Manipulation des ressources 18 Accéder à une ressource 19 Accès à une carte du carnet 19 Accès à un groupe de fiches 20 Créer et modifier une ressource 21 Créer une nouvelle carte du carnet 21 Modifier une fiche 23 Détruire une ressource 24 Enlever un groupe 24 Et si tout se passe mal? 25 Enlever une carte inexistante! 25 Envoyer des données incompréhensibles! 25 Se heurter à une limitation du serveur 26 Table des matières V

6 Bien architecturer une application REST En résumé RETOUR SUR REST : MODÈLE ET PRINCIPES Des ressources 29 L adressabilité 30 Des actions génériques et bien connues 31 Des représentations tout aussi génériques et bien connues 33 Un style d architecture sans état 37 Que faire si l on a vraiment besoin d état? 40 Un protocole de choix : HTTP 41 Petit rappel sur HTTP 42 Structure d une requête 43 Structure d une réponse 43 Utilisation des méthodes HTTP : sûreté et idempotence 44 Méthodes sûres 44 Méthodes idempotentes 44 Effet des méthodes HTTP 45 Méthode GET 46 Méthode POST 47 Méthode PUT 49 Méthode DELETE 50 Une architecture en couches 52 Une montée en charge naturelle 53 Une négociation possible entre client et service BONNES PRATIQUES D IMPLÉMENTATION REST Mise en cache et maîtrise de l accès aux ressources 56 Accès conditionnel aux ressources 58 Last-Modified et ETag, quels problèmes potentiels? 62 Last-Modified, ETags et modèle de données 63 Configuration de la mise en cache : Cache-Control, Expires 65 Faut-il utiliser la négociation de type de contenu? 67 Table des matières VI

7 Bien architecturer une application REST Comment émuler PUT et DELETE? UNE COURTE ÉTUDE D UNE API EXISTANTE DE GOOGLE Obtenir la liste des contacts 74 Mettre à jour un contact 83 Détruire un contact 85 En résumé POUR CONCLURE : COMMENT RESTER REST? A. BRÉVIAIRE DES CODES HTTP Les codes Les codes Les codes Les codes B. BIBLIOGRAPHIE Table des matières VII

8 Introduction 1 Ce livre traite exactement du sujet suivant : comment faire pour que les services web et les programmes qui les utilisent aient la même souplesse de navigation dans l information que tout internaute dans son navigateur web? Comment utiliser les mêmes principes? On verra que les bonnes pratiques du web «humain» doivent se retrouver lorsqu on conçoit des services web en REST.

9 Les services web : appel de procédure ou exploration d espace? Bien architecturer une application REST Imaginons un service web qui nous permette d interroger ou de modifier un carnet d adresses, sur le Web, mais aussi via un client spécialisé. Prenons un premier exemple en examinant deux façons d écrire une URL pour accéder à la fiche d une hypothétique amie, Ada Veen : Quelle différence entre ces deux URL : et Du point de vue de l implémenteur, probablement pas grand-chose. L une comme l autre se trouvent renvoyer la même information : une fiche dans deux services virtuels de carnet d adresses. Du point de vue de l architecte, la différence est déjà plus nette : la première semble exhiber directement un choix d implémentation, en l occurrence un appel de méthode sur un service distant. On imagine aisément être directement en train d interroger un objet Java, C#, Ruby, etc. On utilise une technologie web, HTTP, comme simple transport pour interroger directement un programme. Dans le second cas, on voit bien que le concepteur du service a conçu son service un peu différemment : on a moins l impression de parler directement à une machine, d invoquer une action (rechercher une fiche). On est face à une URL qui semble traduire directement un concept : la fiche d une personne nommée Ada Veen. Chapitre 1 Introduction 2

10 Bien architecturer une application REST Dans ce dernier cas, l implémentation sous-jacente est bien sûr moins apparente, mais la différence fondamentale est que dans le premier cas, on exprimait via cette URL une action, alors qu ici on se focalise sur l information, le concept. Cette distinction est révélatrice de deux grandes approches pour concevoir un service web. L une exprime un concept finalement assez ancien : l appel de procédure à distance. L autre se focalise sur des concepts à explorer. L une suppose que le client a une connaissance exacte de la structure des URL qu il faudra demander au serveur et probablement du format de réponse en encapsulant un appel de procédure à distance dans un protocole qui se trouve être ici HTTP. L autre donne un point d entrée dans un espace que l on partira explorer, en exploitant des réponses dans des formats bien connus. Ce principe d exploration via des liens a un autre impact fondamental. Il permet de mettre en place une architecture où le serveur n a pas à connaître le client spécifique auquel il s adresse. Comme le client ne fait que suivre des liens, l un après l autre, la notion «d état» du client n a même pas à être connue par le serveur : c est le client qui sait où il est, et où il va aller à l étape suivante. REST (Representational State Transfer) définit ce style d architecture logicielle. JARGON REST et ses acceptions Le terme REST est d ailleurs parfois un peu dévoyé et, le succès aidant, certaines architectures sont un peu trop rapidement qualifiées de «REST» alors qu elles se contentent d adopter a minima tel ou tel point de ce style d architecture. C est au point où parfois, le qualificatif de «REST» n est utilisé qu en creux, par opposition à d autres caractéristiques : «cet outil n est basé ni sur SOAP, ni sur XML-RPC et comme il utilise HTTP, il est donc REST!». Je caricature, mais j espère montrer dans les pages à venir que REST c est bien plus que cela. Chapitre 1 Introduction 3

11 REST, un style d'architecture Bien architecturer une application REST REST repose sur les standards qui fondent l infrastructure du Web et c est là son paradoxe : on ne peut pas pour autant en écrire de spécification précise. REST est un style d architecture, pas une architecture bien précise et concrète. Les services web conformes à REST (RESTful) sont implémentés par dessus un jeu classique et connu de technologies : des bibliothèques de code implémentant HTTP, des serveurs web pour traiter des requêtes, des frameworks pour faciliter l écriture d une application, des systèmes de «templates» pour générer des vues XML, des spécifications de types de contenus, etc. L examen des différentes constructions logicielles qu on peut former avec ces différentes briques fait prendre conscience que, parmi toutes ces architectures possibles, certaines ont des propriétés vraiment intéressantes qui s inspirent des bonnes pratiques et de la philosophie générale du Web. Bref, REST n est que cela : 1 une famille d architecture de services web, 2 une façon de représenter des ressources web, 3 une certaine manière de les décliner, de les manipuler, 4 l usage de quelques principes simples pour parcourir des données dans une application, 5 et, finalement, la décision de voir les services web ou le Web d une façon plus large comme un style spécifique d écriture d applications, de structuration de l information. Chapitre 1 Introduction 4

12 Bien sûr, toute architecture vient avec ses présupposés, son domaine d excellence : REST n est pas la réponse absolue à tous les problèmes d architectures de services web, et certains problèmes n y trouvent pas toujours d expression élégante (en particulier les questions de transactions, de time-out, de ressources critiques, etc.). Mais penser une application dans le style REST, c est reconnaître qu organiser l information sur le Web est un travail à part entière ; c est reconnaître que le Web est plus que la somme de ses parties, plus qu une collection de standards et de spécifications. REST est le retour aux fondamentaux du Web. Bien architecturer une application REST Chapitre 1 Introduction 5

Petite définition : Présentation :

Petite définition : Présentation : Petite définition : Le Web 2.0 est une technologie qui permet la création de réseaux sociaux, de communautés, via divers produits (des sites communautaires, des blogs, des forums, des wiki ), qui vise

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

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

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

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

Développer des Applications Internet Riches (RIA) avec les API d ArcGIS Server. Sébastien Boutard Thomas David

Développer des Applications Internet Riches (RIA) avec les API d ArcGIS Server. Sébastien Boutard Thomas David Développer des Applications Internet Riches (RIA) avec les API d ArcGIS Server Sébastien Boutard Thomas David Le plan de la présentation Petit retour sur les environnements de développement ArcGIS Server

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

Concevoir des applications Web avec UML

Concevoir des applications Web avec UML Concevoir des applications Web avec UML Jim Conallen Éditions Eyrolles ISBN : 2-212-09172-9 2000 1 Introduction Objectifs du livre Le sujet de ce livre est le développement des applications web. Ce n est

Plus en détail

Présentation et traitement d information sur le Web Présentation du WWW (architectures web)

Présentation et traitement d information sur le Web Présentation du WWW (architectures web) Université de La Rochelle LUP-SIG 2004-2005 Programmation SIG et Internet Cartographique Présentation et traitement d information sur le Web Présentation du WWW (architectures web) Jean-Michel Follin jean-michel.follin@univ-lr.fr

Plus en détail

L3 informatique TP n o 2 : Les applications réseau

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

Avant-Propos Sencha Touch

Avant-Propos Sencha Touch Avant-Propos Développeurs web, vous qui souhaitez vous diversifier et appréhender simplement le développement mobile, mais redoutez un apprentissage long d un langage que vous ne connaissez pas, vous allez

Plus en détail

Technologies du Web. Technologies avancées côté serveur. Mastère spécialisé Management et nouvelles technologies, 7 décembre 2009

Technologies du Web. Technologies avancées côté serveur. Mastère spécialisé Management et nouvelles technologies, 7 décembre 2009 Publication XML Technologies du Web Technologies avancées côté serveur Pierre Senellart (pierre.senellart@telecom-paristech.fr) Mastère spécialisé Management et nouvelles technologies, 7 décembre 2009

Plus en détail

Rapport de Stage Christopher Chedeau 2 au 26 Juin 2009

Rapport de Stage Christopher Chedeau 2 au 26 Juin 2009 Rapport de Stage Christopher Chedeau 2 au 26 Juin 2009 «Web. De l intégration de pages statiques HTML à un CMS, à la dynamisation d un site grâce au Javascript et l utilisation de nouvelles technologies

Plus en détail

Les Architectures Orientées Services (SOA)

Les Architectures Orientées Services (SOA) Les Architectures Orientées Services (SOA) Ulrich Duvent Guillaume Ansel Université du Littoral Côte d Opale 50, Rue Ferdinand Buisson BP 699 62228 Calais Cedex Téléphone (33) 03.21.46.36.92 Télécopie

Plus en détail

Mise en œuvre des serveurs d application

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

Spip 2. Premiers pas pour créer son site web. Anne-Laure Quatravaux Dominique Quatravaux. Avec la contribution de Sandrine Burriel

Spip 2. Premiers pas pour créer son site web. Anne-Laure Quatravaux Dominique Quatravaux. Avec la contribution de Sandrine Burriel Anne-Laure Quatravaux Dominique Quatravaux Spip 2 Premiers pas pour créer son site web Avec la contribution de Sandrine Burriel Groupe Eyrolles, 2009, ISBN : 978-2-212-12502-3 Pourquoi choisir Spip? Vous

Plus en détail

NEDJMA COFFRE-FORT GUIDE DE REFERENCE POUR ANDROID. Private Planet

NEDJMA COFFRE-FORT GUIDE DE REFERENCE POUR ANDROID. Private Planet NEDJMA COFFRE-FORT GUIDE DE REFERENCE POUR ANDROID Private Planet Copyright 2013 Private Planet Ltd. Private Planet est une marque déposée de Private Planet Ltd. Certaines applications ne sont pas disponibles

Plus en détail

OCLOUD BACKUP GUIDE DE REFERENCE POUR ANDROID

OCLOUD BACKUP GUIDE DE REFERENCE POUR ANDROID OCLOUD BACKUP GUIDE DE REFERENCE POUR ANDROID http://ocloud.pripla.com/ Copyright 2014 Private Planet Ltd. Certaines applications ne sont pas disponibles dans tous les pays. La disponibilité des applications

Plus en détail

Joomla! Création et administration d'un site web - Version numérique

Joomla! Création et administration d'un site web - Version numérique Avant-propos 1. Objectifs du livre 15 1.1 Orientation 15 1.2 À qui s adresse ce livre? 16 2. Contenu de l ouvrage 17 3. Conclusion 18 Introduction 1. Un peu d histoire pour commencer... 19 1.1 Du web statique

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

Applications et Services WEB: Architecture REST

Applications et Services WEB: Architecture REST Applications et : Erick Stattner Laboratoire LAMIA Université des Antilles et de la Guyane France erick.stattner@univ-ag.fr Guadeloupe 2014-2015 Erick Stattner Applications et : 1 / 90 Description du cours

Plus en détail

CHAPITRE 1. Introduction aux web services. 1.1 Définition. Contenu du chapitre : Env. De dev. Langage Visual Studio Java EE Qt Creator C#

CHAPITRE 1. Introduction aux web services. 1.1 Définition. Contenu du chapitre : Env. De dev. Langage Visual Studio Java EE Qt Creator C# CHAPITRE 1 Introduction aux web services Contenu du chapitre : Env. De dev. Langage Visual Studio Java EE Qt Creator C# NetBeans JavaScript Eclipse Objective C Xcode PHP HTML Objectifs du chapitre : Ce

Plus en détail

TD1. Installation de Symfony 2 et Netbeans

TD1. Installation de Symfony 2 et Netbeans I - Introduction : TD1 Installation de Symfony 2 et Netbeans L objet de ce TP est d installer l environnement de travail. Nous commençons par définir des notions de base nécessaires pour comprendre la

Plus en détail

WordPress, qu est ce que c est?

WordPress, qu est ce que c est? WordPress, qu est ce que c est? Qu est ce que WordPress à de plus que les autres? Plus besoin d être programmeur pour créer un site web ou un blog, faites installer votre modèle WordPress par un Professionnel

Plus en détail

De quoi avez-vous besoin pour ce manuel?

De quoi avez-vous besoin pour ce manuel? Introduction Le commerce électronique est devenu l un des grands sujets de préoccupation des chefs d entreprise du monde entier. Ces derniers répètent à l envie que leur priorité absolue est de relever

Plus en détail

NVU, Notepad++ (ou le bloc-note), MySQL, PhpMyAdmin. HTML, PHP, cas d utilisation, maquettage, programmation connaissances en HTML, PHP et SQL

NVU, Notepad++ (ou le bloc-note), MySQL, PhpMyAdmin. HTML, PHP, cas d utilisation, maquettage, programmation connaissances en HTML, PHP et SQL Prise en main de NVU et Notepad++ (conception d application web avec PHP et MySql) Propriétés Intitulé long Formation concernée Matière Présentation Description Conception de pages web dynamiques à l aide

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

Site internet du collège Comment écrire un article?

Site internet du collège Comment écrire un article? Site internet du collège Comment écrire un article? Préambule : les rôles. L administrateur du site vous a attribué des droits. L utilisateur simple peut, par exemple, simplement commenter un article ou

Plus en détail

Evolutions du Web et des langages

Evolutions du Web et des langages Evolutions du Web Evolutions du Web et des langages WEB statique Ces pages sont écrites en HTML Les pages demandées sont identiques quelque soit La personne qui les demande L heure de la demande Etc. WEB

Plus en détail

jquery Mobile La bibliothèque JavaScript pour le Web mobile Avec la contribution de Thomas Ber tet Groupe Eyrolles, 2012, ISBN : 978-2-212-13388-2

jquery Mobile La bibliothèque JavaScript pour le Web mobile Avec la contribution de Thomas Ber tet Groupe Eyrolles, 2012, ISBN : 978-2-212-13388-2 jquery Mobile La bibliothèque JavaScript pour le Web mobile É r i c S a r r i o n Avec la contribution de Thomas Ber tet Groupe Eyrolles, 2012, ISBN : 978-2-212-13388-2 1 Installation de jquery Mobile

Plus en détail

Architecture Logicielle

Architecture Logicielle Architecture Logicielle Chapitre 3: UML pour la description et la documentation d une architecture logicielle Année universitaire 2013/2014 Semestre 1 Rappel L architecture d un programme ou d un système

Plus en détail

Projet en nouvelles technologies de l information et de la communication

Projet en nouvelles technologies de l information et de la communication Projet en nouvelles technologies de l information et de la communication Site Web universitaire du Prof. Jacques Moeschler. Nono Steeve Semestre de printemps 2013 Sous la direction du Prof Luka Nerima

Plus en détail

À qui s adresse ce livre? Suppléments web. Remerciements

À qui s adresse ce livre? Suppléments web. Remerciements Avant propos Le marché de la géolocalisation est en pleine effervescence, comme le prouve l annonce de lancement par Facebook, en août 2010, de son service Places, qui permet de partager sa position géographique

Plus en détail

D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information.

D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information. PACBASE «Interrogez le passé, il répondra présent.». Le Module e-business Les entreprises doivent aujourd hui relever un triple défi. D une part, elles ne peuvent faire table rase de la richesse contenue

Plus en détail

Préface. 2013 Pearson France Développement d'applications Windows 8 avec C# et XAML Jeremy Likness

Préface. 2013 Pearson France Développement d'applications Windows 8 avec C# et XAML Jeremy Likness Les prémices d informations sur Windows 8 sont apparus début 2011. Les spéculations sont allées bon train sur Internet lorsque les développeurs ont commencé à s interroger sur la nouvelle plateforme. Les

Plus en détail

Introduction. Pourquoi ce livre? À qui s adresse ce livre?

Introduction. Pourquoi ce livre? À qui s adresse ce livre? Introduction Bien que récente, la solution e-commerce Magento s est imposée très rapidement, grâce à ses fonctionnalités innovantes et la qualité de son architecture. Elle est le socle de plusieurs dizaines

Plus en détail

Exemple de rapport simplifié de Test de charge

Exemple de rapport simplifié de Test de charge syloe.fr http://www.syloe.fr/conseil/test de charge/exemple de rapport simplifie de test de charge/ Exemple de rapport simplifié de Test de charge Contexte du test de charge Un client nous soumet une problématique

Plus en détail

Appli et Services WEB: Architecture REST

Appli et Services WEB: Architecture REST Appli et : Erick Stattner LAMIA Laboratory University of the French West Indies and Guiana, France erick.stattner@univ-ag.fr Guadeloupe, 2013 Erick Stattner Appli et : 1 / 78 Description du cours Objectif:

Plus en détail

Félicitation, votre site est créé!

Félicitation, votre site est créé! Guide de démarrage e-monsite.com Félicitation, votre site est créé! Vous avez fait le plus difficile. A présent, découvrez comment administrer votre site web. 1 Comprendre l interface du manager de votre

Plus en détail

Développement d'applications basées sur la recherche (API REST)

Développement d'applications basées sur la recherche (API REST) Développement d'applications basées sur la recherche (API REST) Samuel Levesque Architecte organique SharePoint 23 mai 2015 SÉBASTIEN SAMUEL Levesque LEVERT a Développeur.Net depuis 2006 Développeur SharePoint

Plus en détail

Créer gratuitement un blog WordPress

Créer gratuitement un blog WordPress Créer gratuitement un blog WordPress Jean-François Lac Sommaire WordPress.com ou WordPress.org?... 3 1 ère étape : trouver un hébergeur gratuit... 4 2 e étape : créer la base de données... 6 4 e étape

Plus en détail

Avant-propos. Pourquoi s intéresser à la conversion?

Avant-propos. Pourquoi s intéresser à la conversion? Avant-propos La conversion, c est l art de transformer les internautes en clients ou en membres, mais pas seulement! C est aussi inciter les visiteurs à accomplir les actions nécessaires à la réalisation

Plus en détail

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application Architecture Multi-Tier Traditionnellement une application informatique est un programme exécutable sur une machine qui représente la logique de traitement des données manipulées par l application. Ces

Plus en détail

Cursus Sage ERP X3 Outils & Développement. Le parcours pédagogique Sage ERP X3 Outils et Développement

Cursus Sage ERP X3 Outils & Développement. Le parcours pédagogique Sage ERP X3 Outils et Développement Cursus Outils & Développement Vous êtes Consultant, Chef de Projets, Directeur des Systèmes d Information, Directeur Administratif et Financier, Optez pour les «formations Produits» Nous vous proposons

Plus en détail

API08 Evaluation site internet

API08 Evaluation site internet UNIVERSITE DE TECHNOLOGIE DE COMPIEGNE API08 Evaluation site internet Fédération Française des échecs Emilien NOTARIANNI Printemps 2014 Table des matières Introduction... 2 Evaluation «subjective»... 3

Plus en détail

Configurer le Serveur avec une adresse IP Statique (INTERFACE :FastEthernet) : 172.16.0.253 et un masque 255.255.0.0

Configurer le Serveur avec une adresse IP Statique (INTERFACE :FastEthernet) : 172.16.0.253 et un masque 255.255.0.0 RES_TP3 Objectifs : Les réseaux informatiques : Client - Serveur Utilisation de serveurs DHCP HTTP DNS FTP Configuration basique d un routeur Utilisation du simulateur CISCO PACKET TRACER G.COLIN Architecture

Plus en détail

Point sur les solutions de développement d apps pour les périphériques mobiles

Point sur les solutions de développement d apps pour les périphériques mobiles Point sur les solutions de développement d apps pour les périphériques mobiles Par Hugues MEUNIER 1. INTRODUCTION a. Une notion importante : le responsive web design Nous sommes en train de vivre une nouvelle

Plus en détail

Introduction à Django REST Framework

Introduction à Django REST Framework Introduction à Django REST Framework Xavier Dutreilh Rencontres Django 2015 Qu'est-ce que REST? acronyme de REpresentational State Transfer style d'architecture pour les systèmes hypermédia distribués

Plus en détail

Programmabilité du réseau avec l'infrastructure axée sur les applications (ACI) de Cisco

Programmabilité du réseau avec l'infrastructure axée sur les applications (ACI) de Cisco Livre blanc Programmabilité du réseau avec l'infrastructure axée sur les applications (ACI) de Cisco Présentation Ce document examine la prise en charge de la programmabilité sur l'infrastructure axée

Plus en détail

Architectures web/bases de données

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

Plus en détail

PHP/MYSQL. Web Dynamique

PHP/MYSQL. Web Dynamique PHP/MYSQL Web Dynamique ENSG Juin 2008 Qui suis-je? Guillaume Gautreau Responsable projets Systèmes d information à l ENPC guillaume@ghusse.com http://www.ghusse.com Ces 6 jours de formation Jour 1 : présentations,

Plus en détail

SEO On-page. Avez-vous mis toutes les chances de votre côté pour le référencement de votre site?

SEO On-page. Avez-vous mis toutes les chances de votre côté pour le référencement de votre site? SEO On-page Avez-vous mis toutes les chances de votre côté pour le référencement de votre site? I. Introduction... p.2 II. Optimisation on-page vs off-page... p.3 III. Les éléments importants de vos pages...

Plus en détail

Introduction ASP.NET

Introduction ASP.NET 1 Sommaire Introduction... 1 1 Framework... 2 1.1 Général (.NET)... 2 1.2 ASP.NET... 2 2 Prérequis... 2 3 Présentation des bases d un projet ASP.NET... 3 3.1 Création d un projet... 3 3.2 Site Web : Les

Plus en détail

Hébergement de site web Damien Nouvel

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

Plus en détail

web conversion 2 e édition Améliorer ses taux de Vers la performance des sites web au-delà du webmarketing Roukine Serge

web conversion 2 e édition Améliorer ses taux de Vers la performance des sites web au-delà du webmarketing Roukine Serge Serge Roukine Améliorer ses taux de web Vers la performance des sites web au-delà du webmarketing conversion Préface de Pierre Kosciusko-Morizet 2 e édition Groupe Eyrolles, 2009, 2011, ISBN : 978-2-212-12858-1

Plus en détail

Réinvestir les bénéfices dans le développement des applications mobiles

Réinvestir les bénéfices dans le développement des applications mobiles Réinvestir les bénéfices dans le développement des applications mobiles Fonctions ios et Android Tablettes et smartphones Un seul développement pour deux OS Utilisation intuitive Widgets natifs SQLite

Plus en détail

Agrégation de flux RSS

Agrégation de flux RSS LAPAUZE Johann NIVEAU Soline Agrégation de flux RSS Études d Approfondissement Réseaux 6 Novembre 2009 RICM5 1 Sommaire Standard RSS et Atom Objectifs Domaines d utilisation Technologies et protocoles

Plus en détail

BES WEBDEVELOPER ACTIVITÉ RÔLE

BES WEBDEVELOPER ACTIVITÉ RÔLE BES WEBDEVELOPER ACTIVITÉ Le web developer participe aux activités concernant la conception, la réalisation, la mise à jour, la maintenance et l évolution d applications internet/intranet statiques et

Plus en détail

24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. EJB : les fondamentaux. Enterprise Java Bean. Enterprise Java Bean.

24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. EJB : les fondamentaux. Enterprise Java Bean. Enterprise Java Bean. Plan du cours 2 Introduction générale : fondamentaux : les fondamentaux Michel Buffa (buffa@unice.fr), UNSA 2002, modifié par Richard Grin (version 1.1, 21/11/11), avec emprunts aux supports de Maxime

Plus en détail

Exploration des technologies web pour créer une interaction entre Mahara et les plateformes professionnelles et sociales

Exploration des technologies web pour créer une interaction entre Mahara et les plateformes professionnelles et sociales Exploration des technologies web pour créer une interaction entre Mahara et les plateformes professionnelles et sociales D 1.3.2 Rapport d analyse Auteurs: Johann Luethi, Laurent Opprecht, Patrick Roth

Plus en détail

On trouvera sur le site du CCDMD un exemple d album construit avec Cantare. (http://www.ccdmd.qc.ca/ri/cantare)

On trouvera sur le site du CCDMD un exemple d album construit avec Cantare. (http://www.ccdmd.qc.ca/ri/cantare) Cantare 2 Introduction L outil logiciel Cantare s adresse à toute personne qui veut construire des leçons visant l apprentissage d une langue par l écoute de chansons ou de fichiers sonores dont les paroles

Plus en détail

Avant-propos. Groupe Eyrolles, 2009

Avant-propos. Groupe Eyrolles, 2009 Avant-propos L information écrite a toujours circulé d un auteur vers ses lecteurs. À son origine, le Web ne fut qu un média supplémentaire ajouté à la longue descendance de l imprimerie de Gutenberg.

Plus en détail

Fabien Potencier Hugo Hamon. les Cahiers du. Programmeur. Symfony. Mieux développer en PHP avec Symfony 1.2 et Doctrine

Fabien Potencier Hugo Hamon. les Cahiers du. Programmeur. Symfony. Mieux développer en PHP avec Symfony 1.2 et Doctrine Fabien Potencier Hugo Hamon les Cahiers du Programmeur Symfony Mieux développer en PHP avec Symfony 1.2 et Doctrine Table des matières AVANT-PROPOS... V Découvrir l étude de cas développée V En quoi cet

Plus en détail

WordPress Référencement naturel (SEO) Optimiser. son référencement. Daniel Roch. Préface d Olivier Andrieu

WordPress Référencement naturel (SEO) Optimiser. son référencement. Daniel Roch. Préface d Olivier Andrieu Daniel Roch Optimiser son référencement WordPress Référencement naturel (SEO) Préface d Olivier Andrieu Groupe Eyrolles, 2013, ISBN : 978-2-212-13714-9 Table des matières AVANT-PROPOS... 1 Pourquoi ce

Plus en détail

Développement d applications Internet et réseaux avec LabVIEW. Alexandre STANURSKI National Instruments France

Développement d applications Internet et réseaux avec LabVIEW. Alexandre STANURSKI National Instruments France Développement d applications Internet et réseaux avec LabVIEW Alexandre STANURSKI National Instruments France Quelles sont les possibilités? Publication de données Génération de rapports et de documents

Plus en détail

Introduction à PHP. Chapitre 1. Difficulté :

Introduction à PHP. Chapitre 1. Difficulté : Chapitre 1 Introduction à PHP Difficulté : C e qui fait le succès du Web aujourd hui, c est à la fois sa simplicité et sa facilité d accès. Un internaute lambda n a pas besoin de savoir «comment ça fonctionne

Plus en détail

ESPACE ÉDITORIAL COLLABORATIF DES INSTITUTS DE STATISTIQUE D AFRIQUE SUBSAHARIENNE GUIDE D UTILISATION DE LA PLATE- FORME V1.

ESPACE ÉDITORIAL COLLABORATIF DES INSTITUTS DE STATISTIQUE D AFRIQUE SUBSAHARIENNE GUIDE D UTILISATION DE LA PLATE- FORME V1. ESPACE ÉDITORIAL COLLABORATIF DES INSTITUTS DE STATISTIQUE D AFRIQUE SUBSAHARIENNE GUIDE D UTILISATION DE LA PLATE- FORME V1.2 DÉCEMBRE 2010 http://plateforme.afristat.org/guide_utilisation.pdf Pour toutes

Plus en détail

Serveurs de noms Protocoles HTTP et FTP

Serveurs de noms Protocoles HTTP et FTP Nils Schaefer Théorie des réseaux (EC3a) Serveurs de noms Protocoles HTTP et FTP Théorie des réseaux (EC3a) Séance 7 Pourquoi DNS? Internet est une structure hiérarchique et arborescente de réseaux et

Plus en détail

Figure 1-1. Plateformes compatibles avec WCF

Figure 1-1. Plateformes compatibles avec WCF 1 Bonjour Indigo Windows Communication Foundation (WCF), auparavant connu sous le nom de code «Indigo», est une nouvelle plateforme de messages distribués. Il fait partie du Framework.NET 3.0 livré avec

Plus en détail

Formation au logiciel Typo3, pour les rédacteurs.

Formation au logiciel Typo3, pour les rédacteurs. 1 Formation au logiciel Typo3, pour les rédacteurs. 1 Accéder au système 2 1.1 Configuration du navigateur 2 1.2 Identification 2 2 L interface 2 2.1 Le module Web 3 2.2 Le module Media 3 2.3 Le module

Plus en détail

1) Répartition de charge par DNS

1) Répartition de charge par DNS Comment gérer la répartition de charge et la tolérance aux erreurs lors de l invocation d un service web? Nous allons étudier le problème et proposer une solution élégante, s appuyant sur la création d

Plus en détail

Les transactions étendues et quelques Frameworks qui les supportent.

Les transactions étendues et quelques Frameworks qui les supportent. Les transactions étendues et quelques Frameworks qui les supportent. Christophe Ponsen cponsen@info.fundp.ac.be Institut d Informatique, Université de Namur Résumé Les transactions étendues posent de nombreux

Plus en détail

Fais ton site internet toi-même

Fais ton site internet toi-même Fais ton site internet toi-même avril 2010 Pourquoi faire son site soi-même? Aujourd hui, créer un blog/site internet, c est facile : on va sur n importe quel hébergeur, on s inscrit, on remplit un formulaire,

Plus en détail

Environnements de Développement

Environnements de Développement Institut Supérieur des Etudes Technologiques de Mahdia Unité d Enseignement: Environnements de Développement BEN ABDELJELIL HASSINE Mouna m.bnaj@yahoo.fr Développement des systèmes d Information Syllabus

Plus en détail

Introduction aux principes de la technologie Internet

Introduction aux principes de la technologie Internet 1 Introduction aux principes de la technologie Internet Je suis impliqué dans le commerce électronique depuis un bon bout de temps : j ai vendu des Casios dans les rues de New York! Il y a à peine quelques

Plus en détail

Portfolio Sites internet :

Portfolio Sites internet : Portfolio Sites internet : 2010 ARA architecture www.ara-architecture.com Type : Portfolio d architecte Fonctionnalités principales : Galerie de projet d architecture, Actualités, Textes sur l agence,

Plus en détail

21 JUILLET 2015 DOCUMENTATION API - CGV VISIOMAIL V 1.1 WWW.SIGNAL-ARNAQUES.COM HERETIC SAS

21 JUILLET 2015 DOCUMENTATION API - CGV VISIOMAIL V 1.1 WWW.SIGNAL-ARNAQUES.COM HERETIC SAS 21 JUILLET 2015 DOCUMENTATION API - CGV VISIOMAIL V 1.1 WWW.SIGNAL-ARNAQUES.COM HERETIC SAS Table des matières Présentation de l API... 2 Documentation technique de l API... 3 Chemin d accès... 3 Forme

Plus en détail

Quel ENT pour Paris 5?

Quel ENT pour Paris 5? Quel ENT pour Paris 5? Objectifs et Enjeux Contexte et ob jectifs du projet Objectifs Mettre à disposition des usagers de l établissement (étudiants, personnels, partenaires, contacts, internautes) : un

Plus en détail

Développer de nouvelles fonctionnalités

Développer de nouvelles fonctionnalités 19 Développer de nouvelles fonctionnalités Chaque site e-commerce est unique. Bien que Magento soit une application riche, des besoins spécifiques apparaîtront et l ajout de modules deviendra nécessaire.

Plus en détail

WysiUpStudio. CMS professionnel. pour la création et la maintenance évolutive de sites et applications Internet V. 6.x

WysiUpStudio. CMS professionnel. pour la création et la maintenance évolutive de sites et applications Internet V. 6.x WysiUpStudio CMS professionnel pour la création et la maintenance évolutive de sites et applications Internet V. 6.x UNE SOLUTION DE GESTION DE CONTENUS D UNE SOUPLESSE INÉGALÉE POUR CRÉER, MAINTENIR ET

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

Cahier de charges (Source : "Java EE - Guide de développement d'applications web en Java" par Jérôme Lafosse) Module. Site Web dynamique JSP / Servlet

Cahier de charges (Source : Java EE - Guide de développement d'applications web en Java par Jérôme Lafosse) Module. Site Web dynamique JSP / Servlet Cahier de charges (Source : "Java EE - Guide de développement d'applications web en Java" par Jérôme Lafosse) Module Site Web dynamique JSP / Servlet Sujet : betaboutique Soutenance le 04 / 01 /2013 &

Plus en détail

Dans nos locaux au 98 Route de Sauve 30900 NÎMES. Un ordinateur PC par stagiaire, scanner, imprimante/copieur laser couleur

Dans nos locaux au 98 Route de Sauve 30900 NÎMES. Un ordinateur PC par stagiaire, scanner, imprimante/copieur laser couleur FORMATION FORFAIT WEB DEVELOPPEUR Qualification ISQ OPQF Formacode 46 125 Certification de titre professionnel Web Designer + modules optionnels : Développement PHP/MySQL avancé, Web App, CMS e-boutique

Plus en détail

Cloud computing 2012-13

Cloud computing 2012-13 Cloud computing 2012-13 Laurent Wargon laurent@wargon.org de Marne-la-Vallée 1/48 Laurent Wargon Objectifs du cours Évaluer la pertinence du Cloud computing pour les organisations et savoir conduire un

Plus en détail

FICHE PRODUIT COREYE CACHE Architecture technique En bref Plateforme Clients Web Coreye Cache applicative Références Principe de fonctionnement

FICHE PRODUIT COREYE CACHE Architecture technique En bref Plateforme Clients Web Coreye Cache applicative Références Principe de fonctionnement COREYE CACHE Solution d absorption de charge pour une disponibilité et une performance optimales des applications Web En bref Architecture technique La plateforme Coreye Cache délivre la majeure partie

Plus en détail

Formation en Logiciels Libres. Fiche d inscription

Formation en Logiciels Libres. Fiche d inscription République Tunisienne Ministère de l'industrie et la Technologie - Secrétariat d'état de la Technologie Unité des Logiciels Libres Formation en Logiciels Libres Fiche d inscription (Une fiche par candidat)

Plus en détail

le WebCampus de l'uppa

le WebCampus de l'uppa Construire et animer des formations en ligne avec le WebCampus de l'uppa Manuel du formateur Dokeos Mars2010 / Maj. Olivier Duteille (CRATICE/UPPA) Avril2011 Table des matières Avant-propos... 6 WebCampus?

Plus en détail

Le protocole HTTP. Olivier Aubert 1/40

Le protocole HTTP. Olivier Aubert 1/40 Le protocole HTTP Olivier Aubert 1/40 Liens http://www.jmarshall.com/easy/http/ Références : RFC1945 (HTTP1.0), RFC2616 (HTTP1.1), RFC822 (format des entêtes), RFC2396 (syntaxe des URL), RFC1521 (types

Plus en détail

EXTENSION de Microsoft Dynamics CRM 2013. Réf FR 80452

EXTENSION de Microsoft Dynamics CRM 2013. Réf FR 80452 EXTENSION de Microsoft Dynamics CRM 2013 Réf FR 80452 Durée : 3 jours A propos de ce cours : Ce cours offre une information interactive et détaillée sur le développement d extensions pour Microsoft Dynamics

Plus en détail

Groupe Eyrolles, 2003, ISBN : 2-212-11307-2

Groupe Eyrolles, 2003, ISBN : 2-212-11307-2 Groupe Eyrolles, 2003, ISBN : 2-212-11307-2 Table des matières Avant-propos................................................ Objectifs de l ouvrage........................................ À qui s adresse

Plus en détail

TECHNOLOGIES XML, CONCEPTION, MISE EN OEUVRE

TECHNOLOGIES XML, CONCEPTION, MISE EN OEUVRE XML/ SOA/ Web services TECHNOLOGIES XML, CONCEPTION, MISE EN OEUVRE Réf: PXM Durée : 4 jours (7 heures) OBJECTIFS DE LA FORMATION XML est devenu une technologie incontournable tant sur le poste utilisateur

Plus en détail

Réalisation d un logiciel de Visioconférence Cahier des charges

Réalisation d un logiciel de Visioconférence Cahier des charges Master 1 Informatique Professionnel et Recherche Unifié Réalisation d un logiciel de Visioconférence Cahier des charges Version 2.0 du 06/02/08 envoyée à M. Michel Leclère, responsable du Master 1 Informatique

Plus en détail

Plateforme académique de partage de documents - owncloud

Plateforme académique de partage de documents - owncloud Plateforme académique de partage de documents - owncloud 1 - Présentation générale owncloud est un logiciel libre offrant une plateforme de services de stockage et d applications diverses en ligne (cloud

Plus en détail

Technologies pour Web Services faciles : REST, JSON

Technologies pour Web Services faciles : REST, JSON Technologies pour Web Services faciles : REST, JSON Pierre Gambarotto INPT DSI, ENSEEIHT Département Informatique ENSEEIHT, 2 rue Charles Camichel, B.P. 7122 31071 Toulouse CEDEX7 FRANCE Résumé Cet article

Plus en détail

Groupe Eyrolles, 2004, ISBN : 2-212-11274-2

Groupe Eyrolles, 2004, ISBN : 2-212-11274-2 Groupe Eyrolles, 2004, ISBN : 2-212-11274-2 Table des matières Remerciements.................................................. Avant-propos.................................................... Structure

Plus en détail

Environnements de développement

Environnements de développement 4 Environnements de développement Au sommaire de ce chapitre UU Mettre en place un environnement de développement UU Environnement de production Contrairement au développement web de bureau, dans lequel

Plus en détail

SYNC FRAMEWORK AVEC SQLITE POUR APPLICATIONS WINDOWS STORE (WINRT) ET WINDOWS PHONE 8

SYNC FRAMEWORK AVEC SQLITE POUR APPLICATIONS WINDOWS STORE (WINRT) ET WINDOWS PHONE 8 SYNC FRAMEWORK AVEC SQLITE POUR APPLICATIONS WINDOWS STORE (WINRT) ET WINDOWS PHONE 8 INTRODUCTION Bonjour à tous; Aujourd hui je publie une nouvelle version de l adaptation de la Sync Framework Toolkit,

Plus en détail

Optimiser les performances d un site web. Nicolas Chevallier Camille Roux

Optimiser les performances d un site web. Nicolas Chevallier Camille Roux Optimiser les performances d un site web Nicolas Chevallier Camille Roux Intellicore Tech Talks Des conférences pour partager son savoir Le mardi au CICA Sophia Antipolis http://techtalks.intellicore.net

Plus en détail

Système d exploitation

Système d exploitation Chapitre 2 Système d exploitation 2.1 Définition et rôle Un ordinateur serait bien difficile à utiliser sans interface entre le matériel et l utilisateur. Une machine peut exécuter des programmes, mais

Plus en détail

Webinar. Découvrez Rubedo, la première solution CMS open-source tirant profit des atouts de Zend Framework et du NoSQL. avec la participation de

Webinar. Découvrez Rubedo, la première solution CMS open-source tirant profit des atouts de Zend Framework et du NoSQL. avec la participation de En partenariat avec Webinar Découvrez Rubedo, la première solution CMS open-source tirant profit des atouts de Zend Framework et du NoSQL avec la participation de 19 mars 2013 Qui sommes-nous? INTRODUCTION

Plus en détail

C r é a t i o n D e S i t e s. P o l C R O V A T T O

C r é a t i o n D e S i t e s. P o l C R O V A T T O C r é a t i o n D e S i t e s P o l C R O V A T T O 2 / 10 Avant-propos 3 Définition d'internet? 3 Fournisseur Accès Internet: FAI 4 Définition d'un site Internet 5 Site web ou site 5 Liens hypertextes

Plus en détail