2008 : fin du portail ?

2008 verra l'avénement du portail sur le poste client, portail sans serveur, où les gadgets remplaceront les portlets. Les standards apparaissent, l'Open Source est en pointe, et les avantages seront immenses, y compris pour les entreprises.

Le concept de portail a connu un bel essor ces dernières années, tout particulièrement dans le contexte des intranets, où le portail est devenu le point d'accès unifié vers l'ensemble des ressources web de l'entreprise:  contenus, bases de connaissance, mais aussi GED, groupware, applications métier de toutes natures.

Le portail d'entreprise a une vocation d'agrégateur et de fédérateur : il permet de constituer des pages tableau de bord, qui rassemblent l'ensemble des informations dont chaque collaborateur a besoin, un ensemble personnalisé selon les besoins et préférences de chacun.

La standardisation a beaucoup aidé à la montée en puissance des solutions de portail, tout particulièrement dans le monde Java avec la norme JSR168, qui promettait que des modules applicatifs, les portlets, pourraient tourner indifféremment sur le portail de tel ou tel éditeur.

La compatibilité est restée assez imparfaite, et il n'est pas apparu comme on l'espérait un véritable marché des portlets prêts à l'emploi. Mais du moins, la standardisation a eu le bénéfice de consolider l'expertise autour des mêmes principes technologiques : un prestataire qui avait pratiqué du Websphere Portal pouvait rapidement aborder du Jahia par exemple.  

Le principe fondamental des portails est l'agrégation de contenus de différentes sources. Pour réaliser cette agrégation, le portail s'interface avec les autres applications, en charge de ces contenus, il échange avec ces applications, réceptionne leurs données, et les insère à l'endroit approprié, au sein des pages servies à l'internaute.

L'échange entre le portail et les applications peut utiliser directement l'API portlet, ou bien passer par des portlets appelant des webservices ou bien faisant du "web-clipping", c'est à dire des échanges directement en Html.   Mais dans tous les cas ces échanges entre le portail et les applications ont lieu coté serveur, et l'assemblage de la page finale est de la responsabilité du portail.

Aujourd'hui, le concept même du portail serveur pourrait bien disparaître, au profit du portail client. Un portail client, c'est un portail qui réalise sur le poste client, dans le navigateur, l'agrégation des contenus et la mise en page finale. Dans un portail client, on ne parle plus de portlets, mais de widgets ou gadgets. 

Ce sont de petites applications Javascript intégrées au portail coté client. Elles ont des interfaces vraiment minimales avec le reste du portail, et représentent le front-end, la "tête de pont" de l'application au sein de la page. 

Les gadgets échangent avec leur application en Ajax, c'est à dire par une communication asynchrone entre le navigateur et le serveur fournisseur d'information. On parle ici d'Ajax cross-domain dans la mesure où les serveurs des différentes applications peuvent être différents du serveur qui a produit la page principale.

Quels sont les bénéfices d'un portail client ? En premier lieu, il est potentiellement à l'échelle du web, et non à l'échelle de l'entreprise. C'est à dire qu'il peut réunir dans les mêmes pages les ressources internes, comme des ressources publiques, mais également des modules fournis en SaaS par tel ou tel prestataire. C'est peut être cet aspect qui sera le plus déterminant.

De plus, le portail client est technologiquement neutre, il n'impose rien quant aux environnements techniques des applications intégrées. Il suffit qu'elles sachent gérer un dialogue xml/http avec le gadget qui leur sert de front-end, d'interface utilisateur.

Enfin, le portail client bénéficie par nature du confort d'une ergonomie Ajax. Par exemple le déplacement des fenêtre par drag-and-drop au sein de la page. Une fonctionnalité dont on se passe facilement, mais qui séduit toujours les utilisateur. 

Dans toute architecture de portail, le single sign-on est essentiel. L'utilisateur doit passer des pages portail aux pages applicatives en toute transparence. Dans le contexte des portails serveurs, il existe différentes solutions satisfaisantes pour le SSO, dont aucune ne s'est véritablement imposée comme un standard. 

Dans la logique du portail client, la  problématique est semblable, mais le besoin de standard est bien plus fort. Au sein d'une même entreprise il était possible d'adapter un peu les différentes applications pour qu'elles supportent le SSO retenu. 

Mais s'il s'agit d'accéder de manière transparente à une variété de services de l'Internet avec une identification unifiée, on ne peut pas demander à chacun de supporter un SSO particulier. C'est pourquoi l'avénement du portail client sera indissociable de la généralisation des "SSO web wide", tels que OpenId.

Les offres de portails "en ligne" tels que Netvibes, MyYahoo! ou bien iGoogle sont les précurseurs en matière de portail nouvelle génération, avec les sites de réseaux sociaux. Se positionner comme lieu de passage obligé de l'internaute, point d'agrégation d'une vaste offre de contenus et services, c'est bien sûr une position alléchante pour ces grands acteurs. Mais, s'ils conviennent au grand public, ils sont peu adaptés aux entreprises, ne serait-ce que par l'absence de confidentialité et l'omniprésence de la publicité. 

Or une caractéristique extraordinaire des portails client, c'est qu'ils n'ont pas besoin de serveurs ! Il suffit d'amener l'applicatif javascript du portail jusqu'au navigateur, et c'est parti ! En d'autres mots : on aura toujours besoin des fermes de serveur de Google pour réaliser une recherche sur Internet, mais on n'a pas besoin des serveurs de Netvibes pour faire du portail client. On a juste besoin du programme "conteneur" coté navigateur, si possible open source, et de standards. Libre, flexible, économique sera le portail client.

Ces concepts sont dans l'air depuis quelques temps, mais l'événement qui pourrait être le véritable point de départ du déploiement du portail client est l'arrivée du projet open source Shindig, actuellement sous l'incubateur de la fondation Apache.

Shindig implémente les APIs OpenSocial proposées par Google en alternative aux plateformes fermées de Facebook, et Shindig bénéficie d'un soutien actif de Google, de sorte que sa maturation est extrêmement rapide, et qu'il sera certainement dans les mois ou semaines qui viennent, l'implémentation de référence de OpenSocial,  le "Jetspeed" du portail client.

Car s'il y a "Social" dans OpenSocial, le principe de ce type d'outil est en réalité indépendant du domaine des réseaux sociaux : le principe est celui d'un conteneur, qui accueille des modules applicatifs indépendants. C'est simplement le concept du portail, dans sa version moderne.