Portabilité des données d`un site Web
Transcription
Portabilité des données d`un site Web
Portabilité des données d’un site Web ? Stéphane Bortzmeyer <[email protected]> Première rédaction de cet article le 25 octobre 2008 http://www.bortzmeyer.org/portabilite-cms-blog.html —————————Aujourd’hui, un grand nombre de sites Web sont techniquement gérés par un CMS ou un moteur de blog. Cela présente bien des avantages, notamment la séparation du contenu (placé dans la base de données) et de la présentation. Mais cela pose le problème de la portabilité des données. Si j’ai passé trois ans à remplir mon blog avec Wordpress, puis-je passer sur Dotclear ? Si j’ai tout mis dans SPIP, que se passe t-il si je migre vers un site à base de Drupal ? Avec les premiers sites Web, faits en HTML (à la main ou via un logiciel d’édition HTML comme nvu), c’était simple, HTML étant un format standard et ouvert <http://www.bortzmeyer.org/ formats-ouverts.html>, la portabilité des pages était automatiquement assuré. Mais HTML souffre d’autres inconvénients, notamment parce que la structure de la page (titre, menu, case pour le moteur de recherche, etc) et son contenu (spécifique à chaque page) sont mélangés. Si on veut mettre à gauche le menu qui était à droite, on n’a pas de solution simple, il faut reprendre toutes les pages. Donc, il est logique que des outils comme les CMS ou les moteurs de blog se soient imposés. Mais, à l’occasion, on a perdu la portabilité. Désormais, changer de logiciel devient difficile. Dans tous les cas, les gabarits sont perdus, parfois les informations sur les auteurs (qui peut écrire, qui peut modifier) mais peut-on au moins récupérer le contenu, ces articles qu’on a passé tant de temps à taper ? A priori, cela ne marchera pas : le schéma de la base de données est différent et le langage dans lequel sont décrites les données est également différent. Cela a mené à la prise de conscience du problème de la portabilité des données, sous-ensemble du problème général de la préservation des ressources numériques. À l’heure actuelle, les utilisateurs sont, trop souvent, prisonniers d’un logiciel particulier <http://www.mattcutts.com/blog/not-trapping-users-data > car en changer signifierait la perte d’un contenu significatif. Commençons par les langages. La plupart des CMS ou moteurs de blog n’utilisent pas du tout HTML mais un langage de ”formatage” spécifique. Quels langages existent ? Textile, par exemple (Textpattern l’utilise), le langage de MediaWiki, rendu populaire par Wikipédia, des nouveaux formats normalisés comme Atom (RFC 4287 1 ), etc. Il n’y a rien qu’on puisse appeler standard dans ce domaine. Rien 1. Pour voir le RFC de numéro NNN, https://www.ietf.org/rfc/rfcNNN.txt, par exemple https://www.ietf. org/rfc/rfc4287.txt 1 2 que dans le monde du wiki, il existe de nombreux langages différents. Heureusement, ces langages sont en général plutôt simples, ce qui facilite l’écriture de programmes de conversion. Ensuite, il y a la structure des données dans la base, différente d’un logiciel à l’autre, souvent mal documentée et toujours changeante. Y a t-il des programmes tout faits ? Oui, souvent, dès que le format qu’on veut importer est utilisé par un logiciel populaire. Par exemple, Wordpress dispose d’importeurs pour beaucoup de ses concurrents <http://codex.wordpress.org/Importing_Content>. On peut les trouver sous l’onglet ”Import” de l’interface d’administration. On peut lire de nombreux récits d’importation <http: //alexbrie.net/1504/how-to-import-textpattern-into-wordpress/> de données... plus ou moins réussies. Wordpress lui-même dit prudemment que ces importeurs permettent de récupérer la plupart des informations associées aux articles de l’ancien blog. En sens inverse, l’importance de Wordpress fait que beaucoup de moteurs de blog ont un moyen d’importer du Wordpress. Par exemple, pour Textpattern, on peut voir <http://forum.textpattern. com/viewtopic.php?id=23243> qui explique que ”Click on administration-¿import, enter the databaseinformation for the wordpress installation and click button. That will import the content.”. De tels programmes d’importation ”ad hoc” doivent être écrits pour chaque couple de CMS entre lesquels on veut échanger des données et il n’est donc pas étonnant qu’ils soient fragiles et ne respectent pas toujours toutes les données. Et cela laisse ouvert le cas des logiciels disponibles. rares , pour lesquels de tels programmes ne sont pas Plusieurs personnes ont donc réfléchi à ce problème de portabilité des données. Ainsi, la création, en janvier 2008, du consortium DataPortability.org <http://dataportability.org/> par quelques acteurs de poids comme LinkedIn, Six Apart ou Flickr a suscité beaucoup d’intérêt (mais il semble qu’il n’y ai pas encore grand’chose de produit). Quelques conseils pratiques, pour finir : — Avant d’écrire des milliers de pages ou d’articles, demandez-vous comment vous les récupérerez en cas de changement de logiciel ? — Si un programme de conversion semble disponible, testez-le d’abord, de preférence sur des données réelles. Beaucoup de ces programmes de conversion sont très sommaires et ne gèrent pas certains cas. J’ai rassemblé quelques ressources Web sur ce thème en <http://del.icio.us/bortzmeyer/ dataportability>. —————————http://www.bortzmeyer.org/portabilite-cms-blog.html