En complément des réseaux sociaux et des interfaces utilisateurs conviviaux, la nouvelle vague Internet, celle du Web 2.0, apporte une autre dimension, beaucoup moins connue, mais pour autant essentielle et très prometteuse : les mashups et leurs composants, les API (Application Programming Interfaces). Ces derniers ont permis la création de nombreux services à forte valeur ajoutée, ayant rapidement gagné les faveurs du grand public. Aujourd’hui, ce mode de programmation par assemblage, un peu comme un jeu de Lego, est en passe de s’installer dans les entreprises.
L’histoire se déroule dans une grande entreprise de production et distribution de meubles. Le responsable de la logistique a l’intention d’optimiser les circuits de distribution et de superviser les déplacements des livreurs auprès des clients. Il élabore une note d’expression de besoins et la transmet au chef de projet études de la DSI afin qu’il trouve une solution rapide à mettre en place. Le chef de projet examine la demande, consulte quelques sites Internet, et propose de mettre en place une application intranet qui va visualiser, sur un fond de carte géographique, l’adresse des clients à livrer dans une journée et les circuits de livraison optimisés pour chaque livreur.
Le responsable de la logistique aimerait qu’un tel système puisse être mis en place rapidement et pour un faible budget, compte tenu de ses impératifs financiers. Le chef de projet lui répond qu’un mashup et des API cartographiques sont la solution adéquate. Effectivement, il va pouvoir utiliser des API du marché pour faire le lien entre la base de données des clients et les cartes géographiques, ainsi que pour estimer la distance et la durée des itinéraires. Quant au budget, en prenant l’exemple de Google Maps, la clé de l’API est gratuite à condition de limiter le nombre de requêtes de codes géographiques par jour.

Un portail Web va permettre de visualiser simultanément sur un même écran le mashup avec sa carte des itinéraires, la météo locale, et la situation du trafic routier. Bien entendu, pour que cela fonctionne correctement, le système devra dialoguer avec l’extérieur (via Internet) puisque les flux d’informations proviennent de serveurs publics. D’où une coordination à prévoir avec les exploitants informatiques de l’entreprise pour modifier les modalités de sécurité des zones des serveurs. Le chef de projet indique enfin que l’ensemble applicatif doit pouvoir être réalisé en une vingtaine de jours d’intégration, dans un délai d’un mois environ si on trouve l’ingénieur de développement rapidement, disposant de compétences Web, XML et JavaScript.
L’exemple de ce projet illustre la promesse de la programmation par composant propre au Web 2.0 et la pertinence de telles démarches pour le développement de solutions au sein des entreprises afin de répondre rapidement aux attentes des utilisateurs.
Le terme de mashup est hérité d’une pratique musicale (voir encadré) consistant à mixer paroles et musiques de différents titres pour en proposer un nouveau.

Le mashup, en tant qu’applicatif composite, est un excellent exemple de ce qu’apportent les principes du Web 2.0. Il s’appuie sur trois piliers fondamentaux. En premier lieu, le mashup n’existe qu’à travers le principe de partage, c’est-à-dire la mise à disposition par des producteurs de mini-programmes, communément dénommés API (Application Programing Interface), souvent proposés gratuitement ou à des coûts relativement bas. D’autre part, le mashup repose sur le concept de l’utilisateur-contributeur : grâce aux API, je vais pouvoir construire moi-même mon application ou ma solution, avec un minimum d’expertise en programmation. Enfin, le mashup est évidemment techniquement « web-compatible » ; il exploite les technologies et standards à l’état de l’art (client léger, XML, Ajax, SOAP…).
Les grands fournisseurs actuels d’API sont aussi les grands acteurs du monde de l’Internet, qui ont survécu à l’éclatement de la bulle ou qui sont apparus plus récemment : Google, Yahoo, Microsoft, Amazon, YouTube, eBay, Flickr, Technorati ou Facebook. Ces acteurs contribuent tous à la création de mashups en proposant des catalogues d’objets informatiques allant du simple flux d’informations au traitement transactionnel et la mise à disposition d’énormes banques de données.
La définition généralement admise est la suivante : un mashup est une application informatique développée en utilisant une ou plusieurs API, externes et/ou internes à l’entreprise. Par exemple, un site e-commerce avec des clients internationaux peut avoir besoin de convertir ses prix en de multiples devises. Pour répondre à ce besoin, soit l’entreprise développe au sein de l’application un module spécifique qui va télécharger les taux de change puis convertir les prix en devises, soit elle intègre une API du marché lui permettant de calculer en temps réel chaque prix, sans se préoccuper des taux de change. Sur la plate-forme de référence programmableweb.com, on trouve l’API « Currency rates » qui permet d’effectuer ce calcul toutes les 10 minutes pour 115 pays ! Cette API est tarifée selon un barème indexé sur le nombre d’appels Web par mois (ici, $0,01 environ par appel).
On retrouve ici le mode de fonctionnement caractéristique du mashup : se connecter au site externe d’un fournisseur d’API pour obtenir des données ou effectuer un traitement, puis intégrer en retour les résultats obtenus afin de fournir à l’utilisateur final l’information qu’il attend sous une forme conviviale. De fait, en déchargeant le programmeur du traitement des données, l’API permet au programmeur de passer plus de temps sur l’interface utilisateur dont il peut améliorer sensiblement l’ergonomie.
En faisant référence au modèle d’architecture n-tiers, l’API est principalement utilisée pour le tiers client (présentation Web) et pour le tiers applicatif (services métiers). En revanche, seules les données achetées sont transmises à l’application, le référentiel utilisé restant la propriété du fournisseur. Ce fonctionnement libère donc l’entreprise utilisatrice de toutes les contraintes associées à l’administration et la maintenance des données.
Dans l’exemple du début de cet article, le mashup est l’application qui utilise l’API Google Maps pour disposer des données cartographiques et faire le lien avec des données clients stockées dans le SI de l’entreprise. L’interface de ce mashup est proposée à l’utilisateur dans un cadre (« widget »), lui-même inséré dans un portail personnalisé (Netvibes dans notre exemple). Des informations complémentaires, la météo et la carte du trafic routier, sont récupérées simultanément auprès d’autres fournisseurs (respectivement Météo France et Sytadin), sous la forme de flux RSS, selon le principe de la syndication de contenu en temps quasi-réel.
Au fond, ce mode de construction d’une application est une concrétisation de ce que les DSI essayent de réaliser depuis de nombreuses années : l’approche par composant réutilisable. Mais cette structuration des modes de programmation s’est finalement matérialisée dans l’univers de l’informatique grand public, plutôt que dans celui de l’informatique d’entreprise qui accuse un certain retard depuis deux à trois ans.
Partager |
|
|
Frédéric ALIN, Manager Senior chez Orga Consultants (Sopra Group), consulting e-business ![]() Avant de rejoindre Sopra Group en 2003, Frédéric Alin a exercé les fonctions de consultant en organisation et informatique dans une SSII puis dans une société de conseil qu’il a créée. Il a ensuite dirigé l’offre intranet et le conseil en organisation et système d’information de Fi System, de 1995 à 2003. Il anime l’activité de conseil ebusiness au sein d’Orga Consultants, filiale Conseil de Sopra Group. Il est co-auteur des livres « Le projet intranet » (Eyrolles 1996 et 1998), « L’entreprise intranet » (Eyrolles 2002), « L’intranet dans tous ses états » (Isabelle Quentin Editeur 2004). |



