Érudit, un savoir à cultiver… librement

Premier diffuseur de ressources francophones en sciences humaines et sociales en Amérique du Nord, Érudit s’est refait une beauté en 2017. Fruit d’un travail d’un an et demi, cette refonte technique et visuelle offre de nouvelles fonctionnalités, auxquelles notre expert Python Morgan Aubert s’est fait un grand plaisir de contribuer.

En accès libre
Avant d’aborder cette refonte, revenons un petit peu en arrière. En 1998, les Presses de l’Université de Montréal lancent Érudit, plateforme de ressources pour les sciences humaines et sociales. Six ans plus tard, en 2004, elle bénéficie du soutien d’un consortium unissant l’Université de Montréal, l’Université Laval et l’Université du Québec à Montréal. Cette union renforce Érudit dans sa mission de diffuser en accès libre du contenu de haut niveau dans plus de 30 disciplines : des revues savantes et culturelles, des livres, des actes, des mémoires, des thèses ainsi que des rapports de recherche.

Ce volume conséquent de plus de 200 000 documents fait de la plateforme un acteur de référence pour la recherche francophone, contribuant au partage du savoir et encourageant par là même la publication scientifique en français sur le territoire nord-américain. En 2016, le compteur des consultations est monté 21 millions !

Par ailleurs, Érudit s’est engagé dès sa création envers l’utilisation des logiciels libres : son environnement de travail, son infrastructure et ses services reposent sur des logiciels libres. Directeur des technologies du consortium, Davin Baragiotta insiste sur le fait d’avoir «la capacité d’utiliser des technologies développées/maintenues par des tiers, d’y contribuer au besoin -comme on a pu le faire- et de mettre à disposition notre propre code en vue d’une réutilisation complète ou partielle par des tiers. C’est une culture technique de partage et de collaboration qui permet d’avoir une meilleure capacité de développement et de maintenance de nos TI. Aussi, d’un point de vue organisationnel, cette approche technique s’inscrit dans une culture plus large d’ouverture, de collaboration et de partenariat. Essentiellement, Érudit met en valeur des contenus scientifiques et culturels que l’on veut voir d’avantage diffusés en Open Access. »

Lors des travaux préliminaires de la refonte, le projet visait à doter Érudit d’une plateforme moderne qui permettra une évolution continue et une extension des fonctionnalités. Il s’agissait donc de réécrire la plateforme en Python/Django en remplacement de Cocoon/Drupal/WordPress, mais en gardant la même couverture fonctionnelle. C’est dans ce contexte que notre expert Morgan Aubert a travaillé en tant consultant développeur Python. Il y a fait du développement back end et front end, en utilisant le framework web Django, alors que les développements front end impliquaient Javascript et Sass.

Bonjour Morgan, quels ont été les défis techniques auxquels tu as confronté pour cette plateforme ?
L’un des principaux défis technologiques était lié au gros volume de données à importer, traiter, présenter et servir sur la plateforme. En effet, la plateforme Érudit met à disposition plus de 200 000 documents savants et culturels. Avant d’être visibles sur la plateforme Erudit.org, ces documents doivent être importés depuis différentes sources de données – ce qui implique plusieurs protocoles sous-jacents (par exemple Fedora Commons, un système de gestion de bibliothèques numériques, ou encore OAI-PMH, Open Archive Initiative Protocol for Metadata Harvesting, un protocole permettant l’échange de métadonnées provenant de sources diverses). Gérer un tel volume de document impliquait également d’anticiper les différents usages de la plateforme afin d’assurer une navigation fluide et performante pour les utilisateur d’ Erudit.org.

Il y avait également d’autres défis : assurer une certaine rétro-compatibilité entre l’ancienne plateforme et la nouvelle, qu’il s’agisse de redirections entres les anciennes URLs et les nouvelles, ou des techniques de conservation de l’indexation des documents Érudit dans Google et Google Scholar (https://scholar.google.ca/). Un autre défi consistait à permettre la collecte de métriques de consultations de documents en vue de produire des statistiques dans divers formats, et ainsi représenter ces statistiques de consultation de documents savants ou culturels avec des outils tel que COUNTER, ou des webservices, qui implémentent plusieurs normes de webservices liés à la récupération de données de consultation de documents savants ou culturels tel que Schemas for the Standardized Usage Statistics Harvesting Initiative (SUSHI).

Et quelle fut la partie de ton travail la plus intéressante ?
L’objectif de la plateforme Erudit.org s’inscrit dans une dynamique très vertueuse; le fait d’effectuer des travaux de conception et de développement sur la nouvelle version de cette plateforme était ainsi très valorisant. Outre les travaux liés à la mise en place de cette nouvelle application avec le cadriciel Django, l’un des aspects les plus intéressants de cette mission de plusieurs mois était lié aux spécificités mêmes de la plateforme : le fait de découvrir les spécificités techniques et exigences du milieu universitaire/bibliothécaire était particulièrement intéressant. Qu’il s’agisse de protocoles d’échange de métadonnées, de technologies de gestion de bibliothèques numériques ou de normes de présentation de citations, c’est un milieu qui vient avec son lot de problématiques techniques, d’enjeux technologiques… et de solutions libres. J’ai d’ailleurs été amené à réaliser plusieurs contributions lors de mon mandat, notamment dans le cadre de l’utilisation d’outils Python proposant des mécanismes d’interactions avec des technologies de gestion de bibliothèques numériques tels que eulfedora pour Fedora Commons .

Christophe Villemer, vice-président de Savoir-faire Linux, rebondit sur ces contributions : «en apportant notre expertise Python/Django à ce projet d’envergure, nous avons pu à la fois participer au développement d’un moteur de recherche important pour la communauté scientifique et offrir de nouvelles ressources à celle des technologies open source destinées à la gestion documentaire. Ce qui correspond parfaitement à la philosophie de notre entreprise».


Une version bêta

Complété à l’interne, le nouvel Érudit est encore en version bêta, et au cours de l’année de nouvelles fonctionnalités seront graduellement intégrées au site. Dans l’esprit des technologies ouvertes, vous pouvez contribuer à l’amélioration de la plateforme en signalant tout bogue à l’adresse bogue@erudit.org, et vous pouvez aller consulter le projet sur github, où Érudit a même son propre dépôt.

En attendant ces améliorations, libre à vous d’aller consulter la plateforme de recherches et trouver une multitude de ressources sur le logiciel libre, entre les thèses, les mémoires de maîtrise, les articles de revue savante ou culturelle, vous aurez l’embarras du choix…

Ring parmi les projets hautement prioritaires de la Free Software Foundation

 

Intégré dans le projet GNU depuis l’automne dernier, Ring fait désormais partie des projets prioritaires de la FSF dans sa liste de High Priority Projects List (HPPL) mise à jour en janvier dernier.

En mettant l’accent sur ces projets open source, la Free Software Foundation répond à sa vocation : accroître la notoriété et l’usage des logiciels libres parmi les utilisateurs des outils informatiques quels qu’ils soient. Depuis 2005, elle dresse une liste d’applications en développement à destination des contributeurs, bénévoles, compagnies et autres militants du Logiciel Libre. Sans leur aide précieuse, ces projets ne pourraient atteindre leur plein potentiel.

De nombreux enjeux des technologies libres sont abordés : la décentralisation, l’accessibilité, la sécurité, les applications mobiles et les technologies liées aux clavardages en direct avec messageries. C’est dans cette catégorie que Ring a été placé.

Aux yeux de la Free Software Foundation, le contexte actuel de surveillance généralisée exige que l’on s’attelle à une tâche fondamentale : trouver des solutions alternatives et sécuritaires à des logiciels propriétaires.

La présence de Ring dans cette liste est très importante pour nous. Libre, décentralisé, sécurisé et universel, c’est un logiciel qui s’intègre parfaitement à la philosophie de la Free Software Foundation. Basé sur un développement collaboratif, il veille à offrir une meilleure protection de la confidentialité et de la vie privée des utilisateurs lors de communication à distance (clavardage, messagerie, appel audio et vidéo).

Un code partagé et enseigné

En effet, notre équipe de développement travaille de concert avec des contributeurs extérieurs ainsi que les universités partenaires. Déjà objet d’étude pour les étudiants de premier cycle à l’École Polytechnique de Montréal, Ring sera au programme des élèves de 3e année, autour de nouvelles fonctionnalités.

Dans le même esprit, il faut rappeler l’implication des étudiants de maîtrise de l’Université du Québec à Montréal dans la sécurisation des protocoles Distributed Hashed Table.

Dès lors, l’appui de la Free Software Foundation nous encourage à faire partager nos avancements sur ce projet de logiciel libre, universel, distribué pair à pair et sûr, constituant une pierre dans l’édification d’un Internet décentralisé et libre.

Hommage à Ian Murdock, le fondateur de Debian

Photo de Ian Murdock
Crédit Ilya Schurov , Computerra Weekly — CC

Il y a un an disparaissait Ian Murdock et avec lui, une partie du cœur des défenseurs du logiciel libre. Nous souhaitons rendre hommage au fondateur de Debian, car chez Savoir-faire Linux, nous utilisons son héritage tous les jours.

Le libre avant tout

Étudiant à l’université Purdue, Ian Murdock découvre Linux au début des années 90. Fasciné par son éthique et sa vision, il plonge dedans avec passion.  En 1993, à seulement 20 ans, Ian Murock amorce son projet Debian, dont le nom trouve son origine dans la contraction du prénom de sa femme Debra Lynn et de Ian, son propre prénom. Développé initialement avec la collaboration d’un petit groupe de Hacker du Libre, Debian devient rapidement l’une des premières distributions Linux, ouverte et gratuite à connaître le succès et à rassembler une communauté croissante de développeurs et d’utilisateurs du Libre. La même année, Ian Murdock publie le Manifeste Debian, qui scelle la philosophie humaniste en arrière-plan du projet informatique. Elle s’inscrit dans la ligne droite de l’esprit du projet GNU et de Linux :

1. Debian restera un projet entièrement libre.
2. Tous les nouveaux développements reviendront à la communauté.
3. La transparence est un bien acquis.
4. Les utilisateurs et le logiciel libre sont les priorités du projet.
5. Exceptions aux principes du logiciel libre prévus pour répondre à tous les besoins.

À cela s’ajoutent plusieurs principes enchâssés dans un contrat social, une constitution et une série d’instructions, démontrant une vision axée sur la diversité et la non-discrimination que ce soit des utilisateurs ou des logiciels et une distribution libre et gratuite, principes clés de Debian.

Un projet communautaire aux ramifications infinies

Logo DebianAujourd’hui, le projet Debian compte plus d’un millier de développeurs officiels sans oublier plusieurs centaines de contributeurs occasionnels et contient pas moins de 43 500 paquets logiciels. Chaque version de Debian dont la sortie varie en fonction du degré de stabilité porte le nom d’un personnage du film d’animation Toy Story des studios Pixar – ma préférence va à Monsieur Patate et vous?
Comme dans toute organisation basée sur le libre, les développeurs peuvent entreprendre des forks, une branche du projet qui aura sa propre continuité. Et les forks du projet Debian sont nombreuses. Sans les nommer de manière exhaustive, on peut citer Ubuntu que nous utilisons chez Savoir-faire Linux, Xubuntu ou encore SteamOS.

Un autre caractère distinctif de Debian est son mode organisationnel. Lors de sa découverte de Linux et du modèle du logiciel libre, Ian Murdock reste profondément marqué par l’aspect communautaire du projet. À son tour, il a voulu donner au suivant. Le projet Debian est dès lors chapeauté par une fondation à but non lucratif, la Software in Public Interest (SPI), au sein de laquelle une communauté de développeurs bénévoles décide des orientations et des développements futurs. Un chef du projet est élu chaque année par les membres. Ian Murdock passe naturellement le relais à d’autres chefs, mais gardera un œil dessus, notamment par le biais de son poste de secrétaire de la fondation.

Ring sur Debian

Grâce au travail d’Alexandre Viau, Debian Developer et développeur chez Savoir-faire Linux, notre projet Ring est accepté depuis le 30 juin 2016 sur Debian testing, les dépôts de développement de Strech, la prochaine version de Debian. Une formidable reconnaissance pour l’équipe Ring de Savoir-faire Linux et une bonne nouvelle pour les utilisateurs qui peuvent désormais installer Ring à partir des dépôts de leur distribution Debian sans avoir à ajouter ceux de ring.cx.

Afin de présenter Ring à la communauté Debian, Alexandre et son collègue Simon Désaulniers ont participé à la DebConf 2016, dans la ville du Cap, en Afrique du Sud. Ils ont également profité de cet événement international du Libre  pour présenter de l’OpenDHT, notre système de table de hachage distribué, au cœur du projet Ring. Le paquet libopendht a par ailleurs fait son apparition sur Debian experimental pendant la DebConf.

Au regard de Gabriela Coleman, professeure et chercheure à l’Université McGill, outre la communauté créée autour du projet, l’héritage de Ian Murdock repose sur le fait qu’il y ait insufflé une culture de la collaboration issue de GNU et Linux, ce qui fait du projet Debian une réussite bien plus large que le développement technique d’un produit informatique de bonne facture.

Ring sur UWP : genèse d’un défi technique

illustration-wup-rinLa version beta 2 de Ring est maintenant disponible sur la plateforme universelle Windows (Universal Windows Platform, UWP). Il s’agit non seulement d’un nouveau jalon pour Ring, récemment devenu un projet GNU, mais aussi d’une prouesse technique de la part de notre équipe de développeurs.

La sortie de cette version beta 2 est le fruit d’un développement collaboratif entre notre équipe dédiée chez Savoir-faire Linux et la communauté de contributeurs à travers le monde. En développement continu, Ring rappelons-le, une plate-forme inédite de communication texte, audio et vidéo sécurisée et distribué a besoin d’utilisateurs, passionnés ou simplement curieux pour tester sa dernière version et contribuer à son amélioration.  Testez Ring, un projet libre et universel et faites-nous part de vos impressions !

Devenu paquet GNU depuis novembre 2016, Ring s’est toujours inscrit dans la philosophie du libre, tant dans sa finalité, un accès pour tous, que dans son développement, où chaque contribution compte. Cette dimension universelle, avec les aspects distinctifs de Ring comme la décentralisation via l’OpenDHT continue à faire son chemin dans les logiciels de communication et se devait naturellement d’être disponible sur la plateforme UWP.
Avec la mise en place de cette plateforme, l’objectif de Microsoft est simple : unifier le développement d’applications sur tous les types de terminaux que ce soient des PC, tablettes, mobiles, consoles de jeux ou encore objets connectés. Notre équipe responsable du développement de Ring y a vu une aubaine en touchant un maximum d’utilisateurs. « Les possibilités sont immenses. Ring pourrait être utilisé sur les téléphones Windows, les ordinateurs portables Surfaces, les tablettes et les consoles de jeu comme la Xbox », confirme Guillaume Roguez, directeur du développement Ring au sein de Savoir-faire Linux.

D’un système fermé vers une ingénierie logicielle ouverte
N’étant pas habitué des environnements Windows, le défi fut de taille pour notre équipe Ring. C’est ici qu’entrent en scène les développeurs Andréas Traczyk et Nicolas Jäger, qui ont tous deux ont mené le projet Ring sur UWP, de la phase d’idéation jusqu’au lancement actuel.
Tout commence au premier trimestre 2016, avec une première étape de prospection et d’étude de faisabilité. Andréas Traczyk s’est attelé à cette tâche, en portant le code de Ring déjà existant sur Windows natif.
Au fur et à mesure, une idée a germé : pourquoi ne pas utiliser la version native win32 déjà créée pour l’adapter de manière significative à l’UWP ?

_mg_9963

Coder en C++/CX
Le défi est de taille. Alors que la majorité des développeurs Windows travaille en C#, nos deux développeurs ont choisi le C++/ CX. Et ce pour une première raison, le daemon est en C++ : « il faudrait wrapper pour le passer en C# » explique Andréas Traczy. La seconde raison est d’ordre pragmatique selon Nicolas Jäger : « Ring est avant tout un logiciel multimédia, qui offre de la vidéo, de l’audio, avec un réseau en temps réel, et le langage C++ permet une optimisation des ressources ». Un choix pratique appuyé par Cyrille Béraud, président de Savoir-faire Linux, soucieux « de maintenir la performance de l’application ».
Pour des développeurs dont le cœur de métier est le code sous Linux, il a fallu aller hors des sentiers battus, sortir de leur zone de confort. « Il faut aimer les choses compliquées » sourit Nicolas Jäger, « d’autant que l’on ne s’est pas seulement occupé d’UI (User Interface), mais aussi de parties plus fondamentales en matière de développement, tout simplement parce qu’elles n’existaient pas avant ».
Aux yeux de Guillaume Roguez, qui chapeaute le projet Ring, l’expérience est positive, car « on a surmonté les obstacles, dont le premier fut colossal : partir quasiment de zéro. On a démontré avec succès qu’on peut faire du libre dans l’univers Windows ».

Faire du libre, c’est ce que nous attachons à faire à travers Ring. Ce projet bénéficie des contributions d’universités montréalaises, comme Polytechnique Montréal, l’École de Technologie Supérieure (ÉTS) ou encore l’Université du Québec à Montréal (UQAM). D’ailleurs, au sein de cette dernière, le professeur Alexandre Blondin Massé, entouré de ses étudiants de 2e et 3e cycle, planche sur la consolidation des données ainsi que sur la table de hachage distribuée OpenDHT. Cette question de sécurité et de confidentialité présente dans Ring a suscité par ailleurs un intérêt croissant chez les spécialistes de la cybersécurité, et ce à l’échelle mondiale.
Partenaire de la Free Software Foundation et la Linux Foundation, Savoir-faire Linux est un membre actif de la communauté du libre, et travaille à rendre plus accessibles les ressources, à créer et à diffuser les valeurs d’usage. En tant que producteurs de biens communs, nous revendiquons le droit de chacun à avoir un accès libre au savoir, ainsi qu’à des ressources libres et universelles.
Aussi l’arrivée de Ring sur UWP est-elle importante, car elle participe de cet esprit libre.

La Blockchain, un outil révolutionnaire pour Ring

social-network-sphereLa blockchain, un instrument que d’aucuns qualifient de révolutionnaire, risque bien de changer profondément les structures d’une société verticale. Ring s’en sert pour développer son annuaire de manière sécurisée et décentralisée.

La blockchain, ou chaîne de bloc, est la technologie qui sous-tend le Bitcoin, cette crypto-monnaie digitale, qui attise autant les inquiétudes que les convoitises du secteur financier.

Mais, au-delà du Bitcoin, le blockchain recouvre d’autres possibilités grâce à son fonctionnement décentralisé, anonyme et sécurisé. Et il soulève des enjeux de gouvernance à même de bousculer la conception des organisations. C’est d’ailleurs l’un des thèmes abordés lors de l’Open Source Summit de Paris les 16 et 17 novembre prochains.

Une société décentralisée, sans tiers de confiance

Ses promoteurs n’en ont aucun doute : la technologie blockchain sera un changement aussi important que l’invention du World Wide Web. Car elle porte en elle un projet d’une société décentralisée, où la notion même des tiers de confiance sera bouleversée, voire vouée à disparaître.

La blockchain fonctionne comme un grand livre comptable public, qui enregistre toutes les transactions passées entre les acteurs, constituant ainsi une base de données que partagent tous les utilisateurs. Leurs identités sont systématiquement vérifiées par une combinaison de clés publiques et privées. Les transactions sont regroupées en un bloc, qui sera crypté et certifié par les nœuds du réseau – les autres utilisateurs appelés mineurs- puis ce bloc sera ajouté à la chaîne de blocs, distribuée à tous les acteurs.

Trois notions fondent les principes de la blockchain : la désintermédiation, la traçabilité et le consensus distribué. Les utilisateurs organisés en nœuds décentralisés agissent comme autorité de validation, d’autant que les transactions sont retraçables dans le registre public et partagé. Le consensus distribué réside dans le fait que chaque nœud reçoit la même chaîne d’informations horodatées via ce grand livre de compte, et chaque modification doit être approuvée par la majorité des participants.

Née de la rencontre entre la cryptographie et les réseaux décentralisés, la blockchain a poussé sur le terreau politique et économique de la crise de confiance envers le système bancaire en 2008. Outre le Bitcoin, fondé par le très mystérieux Satoshi Nakamoto, plusieurs architectures dites trustless se mettent en place, dont celle d’Ethereum. Cette fondation à but non lucratif, reprend les mécanismes de la blockchain, le registre de comptes identifiés et l’historique infalsifiable pour faire exécuter n’importe quel type de code, appelé «smart contract».

La blockchain, maillon essentiel de l’annuaire de Ring

À partir de cette technologie Ethereum, l’équipe de Savoir-faire Linux a fait appel à la blockchain pour constituer sa base de données avec des garanties cryptographiques. Le smart contract est alors le registre de noms publics, associant ceux-ci aux RingID, originellement créées par l’application. Comme dans toute blockchain, «chaque maillon dépend des éléments précédents pour garantir l’infalsifiabilité de la base de données» nous explique Adrien Béraud, ingénieur système, responsable de la bibliothèque de table de hachage distribué OpenDHT.

L’utilisation de la blockchain dans la création d’un annuaire de clés publiques répond ainsi à plusieurs objectifs de Savoir-faire Linux : préserver l’aspect de réseau distribué que représente Ring, garantir la sécurité avec les clés cryptographiques et de laisser à l’utilisateur la liberté de s’inscrire sur ce bottin. «Cette option passe par la possibilité de ne pas s’enregistrer sur la base de données et conserver seulement son RingID pour communiquer sur le réseau » détaille Adrien Béraud.

L’écriture du contrat est la clé du succès. L’utilisation de l’annuaire décentralisé sera toujours optionnel, il sera donc possible de garder le pseudo-anonymat d’un RingID non-associé à un username ». Après avoir analysé les erreurs ou les failles des contrats antérieurs, l’équipe de développement de Ring chez Savoir-faire Linux s’applique à «écrire un code au design simple, avec une grande minutie». De plus, les fonctionnalités seront limitées dans un premier temps, par exemple la possibilité de changer les noms d’utilisateurs et de les échanger ne sera pas disponible à l’heure actuelle.
«Nous nous concentrons également sur une procédure d’assurance qualité rigoureuse, de la révision de code et nous comptons enfin sur les contributions extérieures» conclut-il.

Vous voulez contribuer au succès de Ring ainsi qu’au développement de la philosophie blockchain, venez faire du code avec nous!

Références

Comprendre la blockchain, Livre blanc, licence Creative Commons, U, janvier 2016
Privacy on the Blockchain, Vitalik Buterin, Ethereum Blog, 15 janvier 2016
Les smart contracts pour les non développeurs, Blogue Ecan, 23 juin 2016
The Revolution will (not) decentralised: Blockchains, Rachel O’Dwyer, Commons Transitions, 11 juin 2016
Thinking through Law and Code – The future of State and Blockchain, Julian Feder, Backfeed magazine, 17 janvier 2016
Code is Law, Lawrence Lessing, Harvard Magazine, 1er janvier 2000
Blockchain reaction, tech companies plan for critical mass, Ernst & Young Report, 2016
Lexique de la blockchain, Blockchain France