Archive

Articles taggués ‘Actualité technologique’
un commentaire 10/12/2012

Créer un éditeur visuel pour MediaWiki : en quoi est-ce complexe ?

Ce billet, Inventing as we go: building a visual editor for MediaWiki, a été écrit par James Forrester et publié sur le blog de la Wikimedia Foundation sous licence CC-BY, et a été traduit en français par Jean-Frédéric, Ælfgar, Emeric, R et Cha_Matou.


Logo du VisualEditorLa Wikimedia Foundation et Wikia, travaillent sur un Éditeur visuel (VisualEditor), pour Wikipédia et tous les autres sites utilisant le logiciel MediaWiki. Cela prend beaucoup de temps, et on nous demande souvent ce que le travail implique, si c’est difficile, et pourquoi c’est aussi long. Il nous semble donc utile d’expliquer quelques-unes des subtilités du projet de développement logiciel le plus ambitieux de la Wikimedia Foundation.

Qu’essayons-nous de faire ?

Nous créons un logiciel qui permettra aux utilisateurs de charger, de modifier et d’enregistrer les articles Wikipédia en mode visuel, en remplacement du système actuel qui requiert l’apprentissage d’une syntaxe wiki compliquée. Avec le nouveau système, les articles qu’ils éditeront se présenteront de la même manière que ceux qu’ils lisent : les modifications qu’ils feront seront visibles avant même de sauvegarder, à la manière de l’édition d’un document dans un traitement de texte.

Personne n’avait fait cela avant ?

Oui et non. De nombreux éditeurs de texte en mode visuel existent, certains d’entre eux sont même open source et capables d’éditer de manière assez satisfaisante des pages web. Mais ils demeurent insuffisants par rapport à nos besoins, pour plusieurs raisons.

Il est particulièrement important que notre éditeur puisse fonctionner dans de nombreuses langues. Il ne s’agit pas simplement d’intégrer les langues qui s’écrivent de droite à gauche, ou avec des idéogrammes, mais bien d’être compatible avec chacune des 290 langues que nous proposons actuellement. Nous voulons également permettre l’utilisation de plusieurs langues dans un même document, de manière entièrement transparente, pour mieux servir nos communautés multilingues. Certaines des langues que nous nous sommes engagés à proposer ont un support logiciel très faible, et nous sommes souvent l’une des plus importantes, sinon l’une des seules, sources de contenu écrit pour elles.

Le développement de la syntaxe wiki au cours des douze dernières années constitue un autre problème : elle intègre désormais de nombreuses fonctionnalités riches et complexes, qui ne sont pas « du HTML simplifié ». Nous pensions que la plupart ne seraient utilisées que de manière ponctuelle, mais elles ont souvent évolué pour se retrouver au cœur de la façon dont les pages MediaWiki sont maintenant écrites, par des utilisateurs toujours plus nombreux.

Parmi ces fonctionnalités avancées : la transclusion de contenu (insérer une copie en temps réel d’une page dans une autre), les modèles (transclusion dont certaines parties sont définies dans la page de destination plutôt qu’à la source), et les parser functions (pages affichant différentes choses en fonction de centaines d’options, comme le jour de la semaine ou l’existence d’une autre page). Essayer d’adapter un éditeur existant à ces fonctionnalités aurait été extrêmement difficile, et plus compliqué que de partir de rien.

Comment l’éditeur visuel et le Parsoid fonctionnent ensemble

Qu’est-ce que le parseur ?

Au bout du compte, il ne s’agit pas seulement de modifier les pages, mais de lire et sauvegarder les pages wiki existantes dans l’ancien wikitexte, et de continuer à travailler avec en parallèle du nouvel éditeur. Nous ne pouvons mettre à la poubelle l’immense travail accompli par nos communautés durant ces douze dernières années, aussi nous faut-il réécrire ce « traducteur ». Ce qui veut dire réaliser un « parseur » (ou analyseur syntaxique) à double sens : un logiciel qui convertit le wikitexte en HTML et inversement. Jusqu’à présent, nous n’avions qu’un parseur à sens unique ; la deuxième étape, convertir ce que l’on souhaite écrire en wikitexte, c’était aux contributeurs de le faire dans leur tête.

Cela signifie que nous avons dû créer un projet à part − le Parsoid − capable de traduire dans un sens comme dans l’autre : de la syntaxe wiki aux pages web et inversement. C’est loin d’être une tâche facile : il faut être très prudent lorsque l’on change de parseur, car il est de la plus haute importance de ne rien casser ! Le vieux parseur, et la syntaxe wiki qu’il interprète, se sont développés au fil des idées des contributeurs, sans véritable idée directrice. Il y a près de deux milliards de versions des pages dans les seuls projets Wikimedia, et ce manque de vision d’ensemble a donné naissance à un très grand nombre de petites règles que le Parsoid doit suivre pour éviter des « dirty-diffs » – des cas où la syntaxe wiki ne serait pas interprétée par l’éditeur visuel.

Explication du modèle HTML+RDFa utilisé par le Parsoid

Nous utilisons du test automatique pour transformer en « aller-retour » 100 000 pages prises au hasard dans la Wikipédia en langue anglaise (soit un bon échantillon de contenu wiki en alphabet latin) : prendre le wikitexte, le convertir en HTML, puis à nouveau en wikitexte, et comparer le résultat avec le document original. Cela nous aide à identifier de nombreux problèmes à résoudre pour que l’utilisation du Parsoid ne casse pas les articles. Nous en sommes aujourd’hui à 80% d’articles transformés en « aller-retour » sans aucune différence (au lieu de 65% en octobre), 18 % supplémentaires ne présentent que des différences mineures (espaces, guillemets, etc.), et les 2 % restants présentent des différences qui restent à résoudre (15% en octobre).

En savoir plus

Comme vous pouvez le voir, créer l’éditeur visuel dont ont besoin nos utilisateurs représente beaucoup de travail. Aucune technologie existante ne peut faire ce que nous voulons, nous devons donc travailler très dur pour y arriver. Nous attendons avec impatience les prochains mois pour montrer aux contributeurs comment ils pourront utiliser l’éditeur visuel et Parsoid. Pour leur permettre une meilleure expérience, libre de l’apprentissage des syntaxes compliquées, leur permettant de se concentrer sur le contenu et non sur les outils qu’ils utilisent pour écrire.

Si vous êtes intéressé, nous avons une brève présentation sur la façon dont l’éditeur visuel et le parseur fonctionnent, et ce à quoi ils ressembleront dans Wikipédia.

James Forrester
Product Manager, VisualEditor et Parsoid


Information de droit d’auteur : “VisualEditor-logo” Public Domain, ™Wikimedia Foundation, Inc., “Parsoid HTML-RDFa content model” par Jdforrester (WMF), sous CC-BY-SA 3.0, “VisualEditor-ModuleStack” par Trevor Parscal, sous  CC-BY-SA 3.0

2 commentaires 09/11/2012

Le nouveau lecteur vidéo de Wikipédia

Un nouveau lecteur vidéo a été déployé sur Wikipédia et ses projets frères, et avec lui vient la possibilité d’apporter des vidéos pédagogiques libres à davantage de personnes, sur davantage de plate-formes, dans davantage de langues.

Le lecteur est le même que le lecteur HTML5 utilisé par la plate-forme de vidéo open-souce Kaltura. Il a été intégré à MediaWiki (le logiciel qui propulse les sites Wikimédia dont Wikipédia) via une extension nommée TimedMediaHandler. Il remplace l’ancien lecteur Ogg utilisé depuis 2007.


Le nouveau lecteur vidéo a un support pour les sous-titres en de multiples langues.
(Eben Moglen, CC-BY-SA)

Basé sur HTML5, le nouveau lecteur lit des fichiers audio et vidéo depuis les pages Wiki. Il apporte de nombreuses fonctionnalités, comme le support pour les sous-titres et le Timed Text. En permettant aux contributeurs de transcrire les vidéos, le nouveau lecteur est un pas important vers l’accessibilité aux personnes mal-entendantes. Les sous-titres peuvent être aisément traduits, élargissant ainsi leur public potentiel.

TimedMediaHandler apporte également d’autres fonctionnalités utiles, comme le support du format multimédia ouvert WebM. Le support de WebM permet de téléverser de façon transparente les vidéos encodées dans ce format, comme par exemple toutes les nombreuses vidéos sous licence libre présentes sur YouTube.

Encore davantage “sous le capot”, TimedMediaHandler supporte le transcodage côté serveur, c’est à dire la capacité à convertir une vidéo d’un format à un autre, dans le but de fournir un flux vidéo approprié à l’utilisateur, en fonction de sa bande passante et de la taille du lecteur. Par exemple, le support des formats mobiles est possible, bien qu’il ne soit pas encore activé. La fonctionnalité “Partager” du lecteur fournit un court extrait de code pour insérer directement les vidéos de Wikimedia Commons dans les pages web et les billets de blog.

La fonctionnalité “Partager” du lecteur fournit un extrait de code pour insérer directement des vidéos de Wikimedia Commons dans les pages web, comme ici.
(Vidéo par Frank Vincentz, CC-BY-SA)

Soutenus par Kaltura et Google, les développeurs Michael Dale et Jan Gerver sont les principaux architectes du déploiement réussi du nouveau lecteur. Avec le soutien de l’équipe d’ingénierie de la Wikimedia Foundation et de Kaltura, ils ont procédé à de nombreux cycles de déploiement, révision et test avant de pouvoir enfin publier le fruit d’années de travail.

Les efforts pour mieux intégrer les contenus vidéos sur Wikipédia et les projets frères remontent à 2008, lorsque Kaltura et la Wikimedia Foundation annoncent leur première expérimentation commune en matière de vidéos. Depuis, des améliorations incrémentales ont été publiées, mais le déploiement de TimedMediaHandler est le plus franc succès à ce jour.

Les utilisateurs de Wikimedia Commons avaient déjà accès à certaines des fonctionnalités de TimedMediaHandler durant le développement, sous une forme expérimentale. Les utilisateurs enregistrés pouvaient activer la beta dans leurs préférences pour disposer d’une meilleure interface et pouvoir modifier des sous-titres. Puisque le nouveau lecteur est compatible avec les sous-titres créés durant cette période, nous disposons dès à présent d’un large corpus déjà fonctionnel − par exemple ce montage d’interviews de Wikipédiens.

Wikimedia Commons est la médiathèque de Wikipédia et des projets frères. Elle constitue l’archive de tous leurs contenus multimédia. Même si une vidéo est hébergée ailleurs, les sites Wikimedia ont besoin de leur propre copie pour assurer que la ressource reste disponible même si ces sites venaient à disparaître. Du point de vue de la vie privée, cela assure aussi que les informations personnelles des utilisateurs ne sont pas transmises à des sites tiers. Le nouveau lecteur respecte également les licences libres en affichant les informations sur l’auteur à la fin de la vidéo, quel que soit le site où elle est intégrée.

Cet engagement s’accompagne d’importants défis techniques. Pour de nombreux sites, afficher une vidéo est aussi simple que de l’insérer depuis une plate-forme comme YouTube ou Vimeo. En utilisant un simple code HTML, n’importe-quel blogueur peut insérer une vidéo directement dans leurs pages web, sans se soucier de l’espace disque, des codecs, du support des navigateurs ou de la bande passante.

Bien que les sites Wikimédia soient de bien plus modestes plate-formes d’hébergement vidéo, il leur faut aussi répondre à ces questions difficiles. Par exemple, les ingénieurs de la Wikimedia Foundation se sont lancés dans la longue refonte de l’infrastructure de stockage de vidéos, afin de pouvoir suivre les besoins en stockage pour les contenus multimédia. Plus récemment, ils ont amélioré la performance des serveurs de cache pour servir des vidéos.

Le défi technique de la vidéo sur Wikipedia ne se limite pas à fournir le contenu aux lecteurs : importer ces vidéos est tout aussi important, en raison de la nature participative des sites Wikimedia. Apporter des contenus vidéos originaux de qualité à Wikipédia est plus difficile que de modifier du texte sur une page wiki.

En 2010, l’Open Video Alliance a lancé une campagne appelée « Let’s Get Video on Wikipedia » ( « mettons de la vidéo sur Wikipédia »). Ce projet avait pour but d’inciter les gens à créer du contenu vidéo et le mettre en ligne sur Wikimedia Commons. Il comportait un tutoriel et un assistant expérimental pour insérer des vidéos dans les articles de Wikipédia.

L’“UploadWizard“, un assistant de mise en ligne pas-à-pas développé par la Wikimedia Foundation en 2010-2011, a été crucial pour rendre la participation au multimédia plus accessible et intuitive. Des améliorations sont en cours de développement, qui faciliteront la contribution vidéo, comme le téléversement « par morceaux », actuellement expérimental, qui permet une meilleure fiabilité des transferts de gros fichiers.

Sur Internet, la vidéo est très statique : une fois mise en ligne, elle est rarement modifiée. À l’inverse, le succès de Wikipédia repose sur le grand nombre des bénévoles qui modifient et améliorent constamment les contributions les uns des autres.

Des outils adaptés vont heureusement réduire cette dissonance, comme le séquenceur de Kaltura, qui permet aux utilisateurs de directement remixer des vidéos en ligne. Le succès de l’adaptation de sa nature coopérative aux contenus multimédia sera crucial pour le passage de Wikipédia à l’ère de la vidéo.

Guillaume Paumier.
Technical communications manager


Ce billet, Introducing Wikipedia’s new HTML5 video player, a été écrit par Guillaume Paumier et publié sur le blog de la Wikimedia Foundation sous licence CC-BY, et a été traduit en français par Jean-Frédéric et El Caro avec l’aide de Pleclown, Mathilde et Moyg.