Le Web 1.0
Le Web a provoqué une révolution planétaire et constitue sans aucun doute le moteur principal qui a permis le déploiement et la popularisation de l’Internet dans le monde. Déjà en 1995, Internet comportait déjà un certain nombre de protocoles de transport et d’échange au moment où le World Wide Web a commencé sa fulgurante ascension. On parle ici notamment des courriels (SMTP et POP3), des connexions de terminaux à un ordinateur distant (telnet), de transferts de fichiers (FTP) et même de recheche (gopher). Plusieurs de ces protocoles sont encore d’ailleurs fort utiles et restent plus ou moins inchangés (gopher a sombré dans l’oubli… le concept de structures favorisant les recherches n’était pas au point, les moteurs de recherche ont repris le flambeau plusieurs années plus tard). L’apparition du protocole http (hyper-text transfer protocol) a permis une chose toute simple: la mise en page de contenus sous forme de documents (texte, images et pointeurs), en utilisant des balises de mise en forme imbriquées dans le texte, un peu comme les anciens systèmes de traitement de texte. On connaît la suite, l’idée originale a ouvert de nouvelles possibilités qui exploitaient au mieux les nouveaux interfaces graphiques des ordinateurs personnels et tout le monde a commencé à l’utiliser comme outil de diffusion universel pour des documents mis en page de manière présentable.
Le Web 2.0
Les mécanismes initiaux étaient relativement simples: une requête à un serveur initiait une réponse en contenu bien formatté, généralement une page déjà créée et présente dans les répertoires du serveur. La grande popularité de ce moyen de diffusion, ajouté à l’économie possible de servir un très grand nombre d’utilisateurs à la fois a créé un terreau fertile pour une quantité inimaginable d’améliorations ponctuelles. On devait toujours contourner les limites initiales et fondamentales du protocole qui n’avait vraiment pas été conçu pour une interaction dynamique et transactionnelle. Lorsqu’on diffusait des cartes, les mécanismes permettant à l’utilisateur la navigation et l’identification (zoom, pan, fenêtre, sélection ponctuelle et par zone) n’étaient tout simplement pas au point. Qu’à cela ne tienne, on a multiplié les “patches” pour corriger ces lacunes. On a maintenant des pages générées dynamiquement par le serveur, du code javascript exécuté par le fureteur Web du client, des plugins (ActiveX ou Java) téléchargés, puis lancés pour exécution locale, des applications distribuées avec échanges intensifs entre le fureteur Web et le serveur (Ajax) et même le “streaming” de contenu audio et vidéo en temps réel. On appelle ça le Web 2.0, ça fait chic et branché.
10 ans de ré-ingénierie
Depuis le début de la présente décennie, la plupart des organisations ont suivi la vague et investi des sommes colossales pour migrer des applications existantes afin qu’elles utilisent ce mode d’interaction avec les utilisateurs. Des applications informatiques qui utilisaient déjà les riches fonctionnalités des environnements graphiques fournis par les systèmes d’exploitation ont dû être entièrement refaites avec des résultats souvent mitigés parce que l’interface Web n’avait tout simplement pas le même niveau de robustesse et d’interactivité que les API graphiques des systèmes d’exploitation comme Windows ou Unix. On a fini par en venir à bout, mais la multiplicité de solutions introduites pour adresser la problématique a été le principal enjeu parce qu’en fin de compte, on n’atteignait pas toujours cette interopérabilité qui constitue toujours le principe fondamental du Web. La plupart des problèmes ont maintenant été résolus mais au coût d’une grande complexité, basée sur des standards qui changent et évoluent quelquefois plus rapidement que notre capacité à les maîtriser. Ajoutons à cela le cauchemar associé à la sécurité des serveurs d’application qui doivent être exposés à la jungle de l’Internet et la partie de cache-cache entre les organisations et les pirates informatiques. La décennie qui s’achève a permis l’émergence d’une nouvelle génération d’interactivité au niveau du Web, mais à un coût exorbitant en essais et erreurs sur des technologies et des protocoles en crise d’adolescence.
En géomatique, nous commençons seulement à voir la lumière au bout du tunnel du Web Mapping, pour lequel les besoins d’affichage dynamique et l’interactivité qui y est associée comportaient des difficultés additionnelles sur une table de travail déjà pas mal encombrée. Vous voulez un exemple? Depuis 10 ans, ESRI, le principal fournisseur de technologies logicielles a d’abord eu ArcObjects IMS et ArcView IMS (+/- 1998, deux produits incompatibles entre eux parce qu’ils utilisaient des langages de programmation différents), migré le tout vers ArcIMS (+/- 2002) puis est passé à ArcGIS Server (+/- 2006): c’est donc une nouvelle génération de technologie de serveur cartographique en moyenne aux quatre ans. ESRI n’est pas à blâmer, il devait s’adapter à des standards qui changeaient rapidement et il devait répondre à la demande des clients.
Les clients légers (thin client): fils spirituels des terminaux alphanumériques
Pendant ce temps, il y avait une solution toute faite pour répondre aux besoins de diffusion d’applications graphiques riches à un grand nombre d’utilisateurs: c’était le protocole X-windows. Il a maintenant été remplacé par Windows Terminal Services et Citrix, qui offrent à la base une solution similaire: fournir à l’utilisateur un environnement riche en fonctions graphiques et en interactivité (clavier, pointeur, son) pour un traitement qui se déroule au central. Que de chemin parcouru depuis les terminaux 3270 et VT100 pour venir en bout de piste à une configuration similaire au bon vieux mainframe et où le coeur de l’action se déroule dans une salle climatisée? Aurions-nous finalement mis autant de temps pour ajouter la couleur, le graphisme, le son et une souris?
Si la ligne droite est le plus court chemin entre deux points, il faut croire que la technologie aime quelquefois les petites routes secondaires qui sont plus sportives…
André Verville
parallaxe@averville.ca
