Précisions sur le web offline : Google lance Gears
Par François Lasselin le mercredi, juillet 11 2007, 15:16 - Technologie - Lien permanent
Le principe du offline est de pouvoir continuer à utiliser une application web (agenda, Système d'information, ..) sans connexion internet (dans le train, l'avion, ...).
Des applications offrant ces nouvelles possibilités sont annoncées pour un horizon de 2 ans. En effet ces nouvelles fonctionnalités nécessitent de nouveaux navigateurs.
Aujourd'hui aucun navigateur n'inclue un système de stockage intégré permettant de travailler hors ligne.
Le billet « Le web2.0 et ensuite » indiquait « Microsoft a présenté officiellement Silverlight , qui apparait dans la continuité de la stratégie de Microsoft, mais pour l'avenir du web, les regards se détournent plutôt vers d'autre (Google ?). »
Et effectivement, Google innove en proposant en bêta Gears. Gears est une technologie permettant de réaliser des applications qui fonctionnent offline. Comment cela est-il possible alors que l'on vient d'écrire que les navigateurs ne le pouvaient pas ? Google a développé des extensions pour chaque navigateurs (pour l'instant Firefox 1,5, Firefox 2, Internet Explorer 6 et 7) pour permettre le fonctionnement offline. L'extensions Gears contient :
Google Reader est une lecteur de flux RSS webisé avec un mode de fonctionnement offline.
Pour activer ce mode de fonctionnement, il faut télécharger et installer Gears. Après avoir satisfait se pré-requis, on peut relancer le navigateur et lancer Google Reader
Le message d'activation de Gears s'active :
Un nouvel élément apparait dans l'interface :
Activons cet élément :
Parallèlement on observe un traffic soutenu mais relativement faible sur l'interface réseau. Le téléchargement de tout le flux rss vient en fait d'avoir lieu. Dans ce cas, le Reader fonctionne comme n'importe quel lecteur RSS classique (non-web).
On obtient le message laconique :
On peut alors déconnecter l'ordinateur du réseau. Relancer le navigateur, activer le favoris vers Reader et constater que l'on accède bien aux flux RSS en dehors de toute connection. Ceci dit, consulter les flux RSS sans pouvoir consulter le contenu des articles ne présente pas une grande utilité.
Si l'offre de google semble encore prématurée, elle permet de mettre en évidence certaines contraintes de développement pour toute application avec une composante offline. Dans une application Ajax classique les appels se font directement vers le serveur:
Côté serveur l'isolation de la couche d'accès aux données est habituelle (malheureusement pas encore assez) côté navigateur c'est aujourd'hui inexistant. Et pourtant, il faut maintenant penser à implémenter cette séparation côté navigateur (et globalement recréer le pattern MVC). En effet, cette séparation est une architecture nécessaire pour implémenter facilement l'utilisation alternative :
Mais cela n'est pas tout, il est important de déterminer quelles fonctionnalités seront accessibles hors ligne. En effet, tous les accès aux données d'une application ne sont pas possibles du fait de l'accès concurrentiel. D'autres utilisateurs sont susceptibles d'accéder aux données et la résolution de conflits n'est souvent pas automatisable. Par ailleurs, la quantité de données à stocker hors ligne peut facilement devenir très importante. Lors des synchronisations, le téléchargement et l'upload de grand volume de données est pénalisant. D'où la nécessité de choisir avec ingéniosité les fonctionnalités à offrir.
Il est nécessaire de synchroniser les données stockées sur le navigateur avec le serveurs. Ceci a lieu dans les 2 sens, en ligne avant la déconnexion, puis au retour de la connexion. La synchronisation est-elle permanente et transparente ? Ou la déconnexion est-elle déclenché par l'utilisateur (qui clic sur un bouton comme dans Google Reader) ? Là aussi les impacts sont nombreux.
Pour une entreprise, déployer un logiciel sur tout un parc mobile peut représenter un frein. Cela reste tout de même plus intéressant (car moins cher) que de re-développer une application spécifique à l'usage mobile ou hors-ligne. Gears n'est absolument pas standardisé et n'est qu'en bêta. Il n'en reste pas moins qu'il est l'expérimentation d'une nouvelle branche d'architecture, de possibilité et des applications de demain.
Et effectivement, Google innove en proposant en bêta Gears. Gears est une technologie permettant de réaliser des applications qui fonctionnent offline. Comment cela est-il possible alors que l'on vient d'écrire que les navigateurs ne le pouvaient pas ? Google a développé des extensions pour chaque navigateurs (pour l'instant Firefox 1,5, Firefox 2, Internet Explorer 6 et 7) pour permettre le fonctionnement offline. L'extensions Gears contient :
- un serveur local
- une base de données
- un synchroniseur
Google Reader est une lecteur de flux RSS webisé avec un mode de fonctionnement offline.
Pour activer ce mode de fonctionnement, il faut télécharger et installer Gears. Après avoir satisfait se pré-requis, on peut relancer le navigateur et lancer Google Reader
Le message d'activation de Gears s'active :
Un nouvel élément apparait dans l'interface :
Activons cet élément :
Parallèlement on observe un traffic soutenu mais relativement faible sur l'interface réseau. Le téléchargement de tout le flux rss vient en fait d'avoir lieu. Dans ce cas, le Reader fonctionne comme n'importe quel lecteur RSS classique (non-web).
On obtient le message laconique :
Si l'offre de google semble encore prématurée, elle permet de mettre en évidence certaines contraintes de développement pour toute application avec une composante offline. Dans une application Ajax classique les appels se font directement vers le serveur:
Côté serveur l'isolation de la couche d'accès aux données est habituelle (malheureusement pas encore assez) côté navigateur c'est aujourd'hui inexistant. Et pourtant, il faut maintenant penser à implémenter cette séparation côté navigateur (et globalement recréer le pattern MVC). En effet, cette séparation est une architecture nécessaire pour implémenter facilement l'utilisation alternative :
- d'un accès aux données stockées sur le serveur
- d'un accès stocké par le navigateur
Mais cela n'est pas tout, il est important de déterminer quelles fonctionnalités seront accessibles hors ligne. En effet, tous les accès aux données d'une application ne sont pas possibles du fait de l'accès concurrentiel. D'autres utilisateurs sont susceptibles d'accéder aux données et la résolution de conflits n'est souvent pas automatisable. Par ailleurs, la quantité de données à stocker hors ligne peut facilement devenir très importante. Lors des synchronisations, le téléchargement et l'upload de grand volume de données est pénalisant. D'où la nécessité de choisir avec ingéniosité les fonctionnalités à offrir.
Il est nécessaire de synchroniser les données stockées sur le navigateur avec le serveurs. Ceci a lieu dans les 2 sens, en ligne avant la déconnexion, puis au retour de la connexion. La synchronisation est-elle permanente et transparente ? Ou la déconnexion est-elle déclenché par l'utilisateur (qui clic sur un bouton comme dans Google Reader) ? Là aussi les impacts sont nombreux.
Pour une entreprise, déployer un logiciel sur tout un parc mobile peut représenter un frein. Cela reste tout de même plus intéressant (car moins cher) que de re-développer une application spécifique à l'usage mobile ou hors-ligne. Gears n'est absolument pas standardisé et n'est qu'en bêta. Il n'en reste pas moins qu'il est l'expérimentation d'une nouvelle branche d'architecture, de possibilité et des applications de demain.
Derniers commentaires
Grégoire Lecocq - mai 31 2018
Je suis sur Facebook pour ma propre pub. Mais Diaspora m'intéresse d'autant plus…
solution mobile entreprise - janvier 16 2018
Merci pour le partage d'informations. Il est très important pour une entreprise…
voip tech - décembre 1 2016
je veux votre contact technique pour réaliser un test a fin de créer un compte.…
abderrahmen - novembre 6 2015
je fais mes premiers pas sur Selenium.
abderrahmen - novembre 6 2015
bonjour , je fais mes premiers pas sur selenium.
Didier - octobre 4 2015
A signaler: les mini-ascenseurs foutent la m**de dans la programmation…