Le W3C appelle les développeurs à tester trois nouveaux standards sur le stockage des données hors-ligne
Le W3C appelle les développeurs à tester trois nouveaux standards
Sur le stockage et l'utilisation de bases de données hors-ligne
Le W3C vient de publier un nouveau projet de normalisation pour le Web. Cette fois-ci, il s'agit de normaliser le stockage de contenus hors-ligne via trois APIs standardisées.
Pour faire simple, les navigateurs ne servent plus simplement à surfer. Ils exécutent de plus en plus de tâches (cf. les Google Apps ou Microsoft Office 2010 en ligne).
Le stockage de données hors-ligne prend donc de plus en plus d'importance puisqu'il permet au navigateur de continuer à faire tourner ce nouveau type d'applications hébergées sans connexion internet.
On pense bien évidemment à Gears de Google ou aux "super-cookies" du HTML 5.
Le premier standard proposé se nomme Indexed Database API.
Comme son nom l'indique, l'API vise à transférer le moteur d'une base de donnée du Web vers le cache du navigateur.
En JavaScript, elle permettrait de stocker et d'effectuer des requêtes sans être connecté, la base étant en local.
Rien de très nouveau ?
Certes, mais jusqu'ici chaque développeur réalisait sa propre solution pour arriver à ce résultat. Le W3C propose, lui, de standardiser tout cela pour diffuser plus rapidement la techno, faciliter le travail des développeurs et surtout accélérer la transition d'un Web "statique" vers un Web dynamique (Rich-Media, Cloud, etc.).
Cette transition étant, rappelons-le, le cheval de bataille du W3C.
La deuxième proposition a été baptisée Web Storage.
Si Indexed Database API est spécialement conçue pour les "grosses" bases, WebStorage API ne concerne lui que les petites quantités de données à traiter.
Enfin, le W3C travail sur Web SQL Database.
Identique à Index Database, à une différence près, Web SQL Database ne concerne que les données stockées en SQL tandis que le premier standard évoqué concerne aussi les bases non-relationnelles.
En phase de projet (voire de pré-projet), le W3C invite les développeurs à tester ces propositions et à lui faire part de leurs avis.
Le succès - ou l'échec - de ces normes sera également conditionné par son adoption par les principaux acteurs du marché.
Pablo Castro, Software Architect chez Microsoft (chargé de SQL Server) a d'ores et déjà laissé entendre que ce projet lui semblait une excellente idée.
Un premier bon signe ?
Source : Les propositions du W3C pour IndexedDB, Web Storage, Web SQL DataBase et la réponse de Pablo Castro
Lire aussi
:fleche: Débat Développement Web : Les normes W3C sont-elles utiles ?
:fleche: Le W3C se penche sur l'avenir du HTML 5 du SVG et de l'IPv4
:fleche: [ame="http://www.developpez.net/forums/showthread.php?t=833089"]Formulaire Web : XForms 1.1 devient une recommandation du W3C[/ame]
:fleche: OWL 2 : le nouveau standard du W3C veut faciliter l'intégration d'informations. S'imposera-t-il avec le Web Sémantique ?
:fleche: Les Rubriques Développement Web et SGBD (news, tutos, forums) de Developpez.com
Et vous ?
:fleche: Allez-vous tester ces APIs du W3C (et pourquoi) ?
:fleche: N'hésitez pas à nous faire part de vos impressions et de vos retours d'expérience
Une base de données n'a pas à être stockée localement
Hello,
Une base de données contient des tas de choses qui ne sont pas utiles toutes en même temps. En fonction de la situation, on émet une requête pour sélectionner des données et les afficher.
Si on veut stocker la base de données localement, on va télécharger la totalité de la base, au cas où... donc une quantité énorme de données pour une utilisation qui sera forcément partielle voir tout à fait minime.
=> Où est l'économie de bande passante ?
Que dire d'informations "sensibles" stockées dans la base de données ? Si les coordonnées de connexion d'un membre de site sont stockées dans la base, celles des autres membres aussi non ? et quand bien même elles seraient cryptées, une fois la base téléchargée, on a tout le temps...
=> Où est la confidentialité ?
Le principe d'une base de données est aussi d'être évoluable, en fonction d'actions des utilisateurs, tant en front-office qu'en back-office. Si je télécharge une base à 8h00, que vaut-elle à 12h00 ? Vous allez me dire qu'on les mettra à jour à 12h00 ? D'accord. Mais alors à 10h00, elles valaient quoi les données ? Je la fais courte, la solution est donc bien la connexion persistante.
=> Quelle validité ont les données une fois téléchargées ?
Si je suis à côté de la plaque dîtes-le moi, ne ma laissez pas dans l'ignorance.
Utilité d'un stockage local ?
Avant le présent message, la somme des informations "variables et spécifiques de cette page" pesaient 8.761 octets.
Cependant le réseau web a transporté 518.203 octets … pour l'afficher.
Heu … n'y a t-il pas un peu de gaspillage ?
(rentabilité inférieure à 2%)
- NON pour un visiteur de hasard ou très occasionnel.
- NON (quoique ?) pour ceux dont le terminal a déjà à peine assez de mémoire pour stocker ses applications permanentes et les faire tourner … (mais que coûte aujourd'hui 1 Go de mémoire ?)
- OUI dans tous les autres cas.
Ceci est le fruit de la politique actuelle de l' « illimité ».
(analogue à l'époque où ni l'eau, ni la qualité de l'air n'étaient des ressources rares)
Dans le cas présent et pour les usagers habituels d'une telle structure de page (la majorité des membres inscrits … et des visiteurs), ne serait-il pas plus rentable en économie globale de n'utiliser les serveurs que comme pourvoyeurs des dernières informations éphémères …
… et de laisser le navigateur local faire la mise en page avec ses ressources stockées localement.
Combien de fois par an « www.developpez.net/forums/ » modifie sa structure de page ?
La règle serait simple :
- Tout block d'information envoyé par un serveur contiendrait son « horizon de validité ».
- L'initiative serait restituée à l'outil local (client) pour appeler les ressources qu'il n'aurait pas (ou plus) stocké localement (et pas seulement en mémoire volatile).
- Décharger les serveurs de la mise en page client (mais pas de son ou ses savoir-faire par défaut) … pour en charger exclusivement le terminal client.
Une telle révolution conceptuelle est conforme à la philosophie du Net :
« Le client se voit restituer le droit d'être le "centre de son univers" ».
Et dans son univers, le client choisit pour des raisons de confidentialité, de sécurité et de coût … ce qu'il stocke en local (serveur interne avec des copies et des originaux), ce qu'il stocke dans un serveur 100% privé et personnel sur la toile … et ce qu'il va chercher chez des « fournisseurs "serveurs d'informations" » choisis par lui (gracieusement ou avec abonnement et/ou avec publicité).
J'en ai déjà assez dit … pour que chacun mesure :
- le changement de philosophie,
- la modification de répartition des pouvoirs entre clients et serveurs,
- le bouleversement de la façon dont la plus part "développent",
- etc …
« Cloud Computing » n'est qu'un mot marketing …en concurrence avec d'autres.
Chaque acteur sur le Net tente de tirer la couverture à soi (normal, non ?).
"In fine", c'est le client qui l'emportera toujours …mais quand ?
Peut-être quand tout individu sur terre pourra correctement se connecter …où qu'il soit ponctuellement et quand il le voudrait ?
La période actuelle, celle du déploiement géographique de cette nouvelle industrie, n'est que transitoire : jusqu'à ce qu'au moins 80% ( ? ) de la population humaine y ait accès (il y aura toujours des irréductibles).
Aujourd'hui, c'est le droit à être connecté que chacun paye et surpaye (abonnements illimités) …et non pas l'usage réel qu'il en fait (transport d'informations) … d'où ce gaspillage monstre (dont bénéficie les "spammeurs" sauvages et les institutionnels : "Google", …).
Tant que le marché se développe … les FAI (transporteurs) laissent faire … jusqu'à quand ?
NON, il n'investiront pas dans de nouvelles infrastructures …qui après cette période se retrouveraient largement excédentaires … donc suicidaires dans un marché saturé et concurrentiel.
Lequel osera faire le premier pas ? … et quand ? … vers de tels réseaux "low-cost" de transport d'informations numérisées ?
Les réseaux mobiles (3G et suivants) ne révèlent-ils pas déjà la tendance ?