ROUGH DRAFT authorea.com/116771
Main Data History
Export
Show Index Toggle 0 comments
  •  Quick Edit
  • Documents interactifs : les Jupyter Notebooks

    Aujourd'hui, les documents sont statiques

    Dans la plupart des domaines, les documents numériques fleurissent. Mais au fond qu'apportent-ils de plus que leurs congénères en papier?

    Au cours de ces deux dernières décennies, l'accès aux ressources est devenu indéniablement plus rapide: en Suisse, chercheurs et citoyens peuvent généralement obtenir un document sans se déplacer. Les premiers consultent leurs articles en quelques clics (grâce aux abonnements gérés par leur bibliothèque, lorsque la publication n'est pas en libre accès). Les seconds bénéficient de pléthore d'e-books, disponibles sur des plateformes commerciales (Payot, Fnac...), dans les e-collections des bibliothèques (Bibliothèque Cantonale et Universitaire de Lausanne, etc.) ou encore via des sites en libre accès (Project Gutenberg ou Wikibooks).

    Cependant, facilité de diffusion mise à part, la vaste majorité des documents numériques n'apporte que très peu de plus-value au lecteur par rapport au papier. Il y a certes la possibilité de rechercher dans le texte. Mais au fond, le format PDF est essentiellement utilisé comme du papier virtuel. En ce qui concerne les livres numériques, la situation est fort semblable avec d'autres formats spécialisés (tel que le EPUB).

    Ainsi, l'on reproduit les limitations du support papier dans les formats électroniques. Mais quelles sont les nouvelles possibilités offertes par le numérique?

    L'interactivité offre de nouvelles possibilités

    Aujourd'hui, des fonctionalités intéressantes sont offertes par les documents numériques interactifs. Elles sont difficiles à circonscrire, les applications étant quasiment infinies. Je vous propose de faire appel a votre imagination: imaginez un roman policier dont l'histoire s'adapte en fonction des choix du lecteur. Imaginez un guide de voyage qui se tient à jour (horaires d'ouvertures, prix, etc. ). Imaginez encore un livre de nutrition, offrant la possibilité de comparer graphiquement les qualités de plusieurs mets de son choix. Imaginez des livres de cours permettant de tester pratiquement ou de simuler les théories qu'ils présentent. Imaginez finalement une analyse scientifique qui affine ses résultats à mesure que les données disponibles sur le phénomène étudié s'étoffent.

    Tout cela est d'ores et déjà possible. Et ce n'est pas nouveau. Déjà dans les années 1980, les logiciels Maple et Mathematica proposent un format de Notebook interactif. Cependant, ces logiciels ne sont pas libres, sont fortement orientés mathématiques et ne présentent donc que peu d'intérêt pour le majorité des utilisateurs.

    Les Notebooks discutés dans cet article sont issus du projet IPython datant de 2001. Il s'agit d'un terminal interactif construit autour du langage Python et facilitant le travail interactif avec celui-ci. De fil en aiguille, une interface web a été développée pour IPython: les IPython Notebooks. Vu la flexibilité de l'outil, des communautés travaillant sur d'autres langages de programmation ont été attirées par cette interface, et des noyaux pour supporter plus de 50 langages ont été créés, y compris Maple et Mathematica. En 2014, la communauté de développement s'est séparée en deux: une équipe se focalise sur le développement du noyau IPython et une autre sur l'interface renommée Jupyter.

    Les Jupyter Notebooks, des documents interactifs et libres

    Du point de vue de l'utilisateur, les Jupyter Notebooks se consultent et s'utilisent à l'aide d'un simple navigateur web. Rien de sorcier. De plus, le rendu s'adapte à tout type de périphérique: des ordinateurs de bureau aux smartphones en passant par les tablettes.

    Les notebooks sont composés de cellules. On distingue d'une part les cellules de texte, permettant de rédiger de façon classique et de combiner titres, sous-titres, paragraphes, liens web, listes à points, tableaux, images, vidéos et formules mathématiques. D'autre part, il y a les cellules de code informatique vivant. C'est-à-dire que ce code est interprété et qu'il peut générer du contenu dynamique: graphiques interactifs, sons, vidéos, cartes interactives, tables de données. De manière à présenter une interface conviviale, divers widgets sont prévus: boutons, listes déroulantes, curseurs (manipulables à la souris), formulaires classiques, etc.

    Côté auteur, pour créer ou éditer un notebook, on travaille également dans le navigateur. Dans ce cas, le logiciel Jupyter doit aussi être installé sur sa machine ou sur un serveur (voir le site officiel). Il s'agit d'un logiciel libre, disponible sous Mac, Windows et GNU/Linux.