La première démonstration de MyPads est disponible !

Framapad — un de nos services Libre, Éthique, Décentralisé et Solidaire les plus utilisés — permet de rédiger des documents collaborativement et en temps réel.

Basé sur le logiciel libre Etherpad, Framapad héberge aujourd’hui plus de 300 000 documents, grâce à vos dons qui nous permettent de maintenir le service.

Malheureusement, ce service souffre de deux manques importants :

  • l’impossibilité de regrouper les pads créés (par exemple par thèmes, ou tout simplement pour les retrouver facilement plus tard) ;
  • l’impossibilité de protéger ses pads (pour protéger des données confidentielles, des travaux scolaires, etc.).

Le crowdfunding de MyPads

Framasoft avait donc lancé un appel à financement participatif, afin de collecter une somme qui permettrait de développer un module comblant ces deux lacunes.
La somme fut récoltée en quelques semaines, et nous avions donc pu nous lancer à la recherche d’un prestataire pour effectuer ce développement.

Débuté en janvier 2015, le développement a pris un peu de retard, mais l’adage du libre ne dit-il pas : « Ça sortira quand ça sera prêt » ?

Eh bien, bonne nouvelle : une première démo est disponible !

Un exemple de groupe dans MyPads
Un exemple de groupe dans MyPads

Ceci est une première démonstration.

Alors attention, hein : dans « première démonstration », il y a « première » et « démonstration » !

« Première » car le plugin n’est pas terminé. Il devrait l’être pour l’anniversaire de la clôture de l’appel à participation, c’est-à-dire le 30 juillet prochain.
Cela signifie que beaucoup de choses vont encore évoluer dans les 50 prochains jours. Et surtout qu’il est encore loin d’être complet. Donc, ne vous étonnez pas si certaines choses ne fonctionnent pas comme vous vous y attendriez. Et inutile de nous rapporter que les couleurs ne vous plaisent pas : elles sont tout sauf définitives 😉

« Démonstration » car les comptes et les documents créés sur la démo seront régulièrement effacés. Il ne faut donc surtout pas vous en servir pour créer des documents dans un cadre professionnel, car vos contenus peuvent être effacés d’une heure sur l’autre.

Prendre le temps de bien faire

Alors, les esprits chagrins se plaindront sans doute du délai de développement d’un tel plugin. Cela s’explique principalement par le fait que le développement a réellement commencé au début de l’année 2015, et que le prestataire ne pouvait consacrer 100% de son temps à ce projet (ce qui était convenu et accepté par Framasoft).

Par ailleurs, le développement d’un tel plugin est loin d’être trivial. Plus de 60 000 lignes de codes auront été écrites lors de 200 commits.

Enfin, nous aurons fait le maximum pour vous tenir au courant de l’avancement du projet, avec plus de 20 billets blog, qui ont aujourd’hui pris un rythme hebdomadaire.

Bref, nous vous encourageons à tester le plugin, tout en gardant à l’esprit qu’il reste encore pas mal de travaux à effectuer d’ici fin juillet.

Mypads - Contenu
Exemple de contenu dans un pad protégé

D’ici là, vous pouvez aussi :

  • installer votre plugin sur votre instance d’etherpad (il faudra cloner le dépot et faire un npm install à la main, car MyPads ne sera poussé sur npmjs qu’une fois le développement considéré comme stable) ;
  • nous remonter vos remarques sur le dépôt du GitLab Framasoft (qui, rappelons le, est ouvert à tous).

 

> Tester le plugin MyPads <

 

 




MyPads : point de la semaine 23

img-mypads-ulule2Ce qui a été fait

Un certain nombre de tâches ont pu être travaillées en semaine 23, et notamment :

  • un premier jet du module de partage d’administration et d’invitation d’utilisateurs (en mode visibilité restreinte) pour les groupes
    • pour le moment, il est limité aux seuls inscrits et demande de saisir l’identifiant utilisateur ;
    • mais il sera rapidement possible de saisir une adresse mail en plus de l’identifiant et d’inviter des utilisateurs externes, y compris en mode restreint ;
    • il y est possible de révoquer les droits concédés à d’autres administrateurs ou aux utilisateurs.
  • le module d’affichage des pads avec
    • la création automatique du pad sous etherpad au premier affichage ;
    • sa suppression effective en cas d’effacement sous MyPads ;
    • le filtrage des accès en modes restreint ou privé ;
    • l’accès au pad sans restriction en mode public ;
    • la prise en charge du mot de passe, à saisir en cas de visibilité fixée à privée.
  • le partage, par le biais du lien direct etherpad, de l’accès aux pads publics ou privés (avec mot de passe). L’interface est pour le moment sommaire et évoluera vers une meilleure intégration ;
  • le mode archive des groupes, qui affiche pour le moment l’export HTML des pads qui en font partie ;
  • des corrections d’anomalies ;
  • les tests unitaires et fonctionnels des modules développés ;
  • enfin la correction du bug gênant décrit lors de la semaine 17, par un changement du moment où MyPads est configuré quand l’instance etherpad est lancée, ce qui ne permet plus à YAJSML de venir perturber son fonctionnement.

Ce qui est prévu pour cette nouvelle semaine

Pour la semaine 24, il reste un certain nombre de courtes tâches et de petites améliorations à faire. De plus, il est prévu de travailler sur :

  • un module de gestion des favoris par utilisateur : groupes et pads;
  • la mise en place de la gestion de la localisation au niveau du client Web (choisir sa langue pour l’interface) et la traduction vers le français;
  • une prise en charge correcte des permissions avec une véritable séparation entre utilisateurs et administrateurs de groupes et l’apparition du statut d’administrateurs du plugin MyPads.

img-mypads-ulule2

MyPads, week 23

What have been done

A little bunch of things have been worked this week, especially :

  • a first draft of the admin sharing and user invitation module (restricted visibility) for groups
    • at the moment, it only supports existing accounts and needs you to enter user login;
    • but it will soon evolve to also allow email addresses and external users invitation, including in restricted mode;
    • it’s possible into this module to dismiss permissions given to other administrators or users.
  • pad view module with
    • automatic creation of etherpad pad at the first display;
    • effective removal when you delete the pad from MyPads;
    • access filtering for restricted and private modes;
    • free access for public mode;
    • password handling, to be entered when visibility has been set up to private.
  • private, with password, and public pads sharing, through the etherpad direct URL. The user interface is for now basic and will evolve to a better integration;
  • archive mode for groups, that display the HTML export for linked pads;
  • a few bugs fixes;
  • unit and functional testing of worked modules;
  • finally, the resolution of the problem described during week 17, by means of a change when MyPads is configured, after the etherpad instance has been launched. This doesn’t allow YAJSML middleware to conflict with MyPads proper functioning anymore.

What to expect from this new week

About week 24, there are number of short tasks and little improvements to do. Moreover, work is planned on :

  • bookmarks management module per user : groups and pads;
  • setup of Web client localization handling (be able to select the user interface language) and translation to French;
  • a correct support for permissions with a true separation between users and admins of groups and the arrival of MyPads plugin administrators.



MyPads : point de la semaine 22

img-mypads-ulule2Travaux effectués

La semaine dernière a été mise à profit pour :

  • la réalisation de la page de détails des groupes, laquelle comprend :
    • toutes les propriétés du groupes affichées ;
    • la liste des administrateurs et utilisateurs du groupe ;
    • la liste des pads attachés à ce groupe.
  • une gestion sommaire des pads depuis cette page, avec :
    • la création d’un nouveau pad, en saisissant son intitulé ;
    • sa modification, en fait son renommage ;
    • l’effacement de celui-ci ;
    • enfin, l’ajout de pad en favori.
  • les tests fonctionnels liés à cette page.

La gestion des pads n’est pas pleinement terminée puisque le client ne propose pas encore d’écraser les options de visibilité du groupe, c’est à dire que par exemple si le groupe est défini comme public, tous les pads attachés le seront également. Ce comportement sera rapidement amélioré.

Pour la semaine 23

Quelques tâches importantes devraient être effectuées cette semaine avec en priorité l’invitation d’utilisateurs déjà inscrits, le partage d’administration du groupe. Selon le temps disponible, une page regroupant tous les favoris sera également créée ou encore sera effectuée la traduction de MyPads vers le français.

MyPads, week 22

img-mypads-ulule2

Achieved tasks

Last week has been used for :

  • the group’s details module, that includes
    • the display of all group properties;
    • group administrators and users lists;
    • list of linked pads.
  • a basic pads management from this page, with
    • new pad creation, by entering its title;
    • its edition, actually its renaming;
    • the deletion of the pad;
    • finally, pad bookmarking.
  • functional testing of this page.

Pads management is not entirely finished because the Web client does not offer yet to overwrite group visibility options at the level of the pad. In other words, for example, if a group is defined as public, all linked pads will inherit. This behavior will be improved soon.

About the week 23

Some important tasks should be done this week. As a priority, user invitation, administration sharing of the group. In accordance to available time left, a webpage grouping all bookmarked elements will be created. MyPads translation to French may be done too.




PIQO : quand on peut faire simple…

Des ordis moins énergivores (mais aussi efficaces) pour les institutions françaises. Libres. assemblés en France ? C’est le pari osé d’une association de Nevers, qui a besoin de sous pour démarrer.
Nous avons voulu en savoir plus avant, peut-être, de mettre la main au portefeuille, et nous sommes allés interroger Émilien Court, l’un des responsables du projet PIQO.

Bonjour, Émilien. Ça vient d’où, ce projet ? Qui êtes-vous ? Comme dirait Isaac : comment justifiez-vous votre existence ?

Je vois qu’on a les mêmes références ! PIQO est le fruit d’un constat : le parc informatique des administrations, entreprises, écoles ou universités est très largement surdimensionné en termes de puissance compte tenu de l’usage qui en est fait. Cela entraîne un coût financier non négligeable en investissement ou consommation électrique. L’impact écologique est également considérable en traitement des déchets électroniques, transport ou production d’énergie. Enfin, tous les équipements informatiques sont actuellement produits en Asie, et il apparaît indispensable de mettre en place un « circuit court » de l’informatique en localisant l’assemblage en France.

PIQO est un projet de synthèse. Ça n’est pas que de l’informatique, c’est aussi un projet social et environnemental.

Je suis tombé dans l’informatique quand j’étais petit, j’en ai même fait mon métier à une époque. Parce que je suis aussi quelqu’un d’engagé et préoccupé par les questions de société, il m’apparaissait normal, dès lors que la technologie le permettait, de la sortir du seul champ de l’informatique pour la mettre au service de l’éducation, de l’économie, de l’environnement ou de l’emploi de façon constructive.

Il n’a pas été difficile de constituer une équipe de personnes issues d’horizons très divers : éducation, économie sociale et solidaire, environnement, industrie, design…

Aujourd’hui, PIQO compte une quinzaine de membres, qui tous voient derrière l’ordinateur un projet de société.

Pourquoi avoir créé une association et faire un crowdfunding ? Vous auriez pu monter une entreprise et démarrer avec un emprunt bancaire…

La question de créer une entreprise ne s’est même pas posée, à vrai dire. PIQO repose sur des technologies libres ou à but non lucratif, et c’est cette philosophie que nous souhaitons porter à grande échelle.

PIQO est aussi un laboratoire. Notre objectif est de démontrer qu’il n’existe pas qu’un seul modèle économique basé sur l’exploitation de l’humain et de la nature. On peut créer de l’activité économique, de l’innovation et des emplois sans recourir au modèle économique libéral. Notre démarche s’inscrit dans l’économie sociale et solidaire, et ce qui peut être fait dans l’informatique peut s’appliquer partout ailleurs.

Dans cette optique de sortie du schéma « capital, dividendes », l’association était la meilleure solution pour garantir l’indépendance et l’autonomie du projet. PIQO n’appartient à personne … ou à tout le monde !

Pourriez vous, nous en dire plus sur les membres de votre association, et ce qui vous a amenés à vous unir ?

Nous sommes issus d’horizons très divers : éducation, santé, technologie, environnement ou encore social. La plupart des membres ne sont pas des pointures en informatique, mais sont cependant tout à fait conscients des enjeux d’un tel projet et de l’impact potentiel sur la société. C’est cette convergence de valeurs qui est la base de notre collaboration, parce que nous avons tous à cœur de proposer une alternative technique, environnementale et sociale.

On a l’impression que le fait que vous êtes tou(te)s Nivernais a une incidence sur la création de PIQO…

La Nièvre, comme beaucoup de départements ruraux, souffre d’une situation économique difficile, d’une baisse de sa population au profit de régions plus prospères, et d’un déficit d’image. La pauvreté de l’offre en matière d’éducation supérieure conduit notamment les bacheliers à quitter le département pour étudier dans les grandes villes, mais peu reviennent finalement sur leur territoire d’origine. La Nièvre offre cependant une excellente qualité de vie et Nevers est une ville à taille humaine dotée de bonnes infrastructures. Parmi les voies de développement, il y a évidemment le numérique. Toutes les villes aujourd’hui essaient de s’équiper pour attirer les entreprises du secteur et cela conduira à une mise en concurrence acharnée des territoires. Je pense que pour être efficaces, ces stratégies doivent tendre à se spécialiser faute de pouvoir affronter les métropoles française ou européennes. L’exemple de Lannion en Bretagne est à suivre. Cette ville de 20 000 habitants a développé son économie autour des technologies de télécommunication, notamment en proposant une offre éducative adaptée.

La Nièvre a ses propres atouts et problématiques. Il serait pertinent de s’appuyer dessus pour développer le numérique : la santé, la prise en charge des personnes âgées ou dépendantes, le tourisme, la compétition automobile et pourquoi pas le logiciel libre. C’est là que PIQO a un rôle à jouer parce que notre volonté est d’offrir au territoire une opportunité de développement qui réponde à des exigences environnementales, éthiques, sociales, et locales.

Je me dis souvent qu’on n’a pas besoin de 4Gio de Ram pour faire de la bureautique. C’est ça, votre postulat de départ ?

Je n’irai pas, comme Bill Gates en 1981, jusqu’à dire que « 640 Ko de mémoire devraient suffire à tout le monde », mais effectivement 4Gio de RAM pour faire de la bureautique c’est trop !

L’informatique a connu une croissance technologique et économique fulgurante. Les ordinateurs sont beaucoup plus puissants qu’hier et beaucoup moins que demain. Pour autant, il faut en mesurer l’impact sur notre civilisation.

Regardons ce qui se passe dans un autre secteur industriel : l’automobile. La notion d’efficience est devenue une nécessité en raison des conséquences environnementales et de l’explosion du coût de l’énergie. La voiture s’adapte de plus en plus aux besoins de l’utilisateur. Il est désormais difficilement concevable d’acheter un véhicule qui consomme 15 litres aux 100km pour faire de petits trajets urbains. Alors que les industriels se livraient par le passé une guerre sur le terrain de la puissance, aujourd’hui ils communiquent sur le confort, la sécurité ou la consommation. Les V8, les V10 ou les V12 disparaissent peu à peu des concessions.

On doit se poser les mêmes questions dans l’informatique. Lorsque j’achète un ordinateur, quelles sont les conséquences sur l’environnement, sur mon portefeuille, sur les ouvriers qui l’ont fabriqué ?

piqo

Certains commentateurs émettent des doutes en se référant au prix du Raspberry Pi 2, qui est le socle de votre solution. Que leur répondez-vous ?

Effectivement, de façon très surprenante nous sommes la cible d’attaques en règle sur ce point. Il nous est souvent opposé que le prix d’un Raspberry Pi 2 n’est que de 35-40€, ce qui est totalement vrai !

Restons pragmatiques. Le coût global d’un produit ne dépend malheureusement pas que du prix d’un seul de ses composants, fut-il aussi essentiel. Si nous pouvions vendre PIQO sous les 50€ nous le ferions avec plaisir, notre objectif n’étant pas le profit. Nous envisageons par ailleurs la possibilité d’une version moins chère dotée d’une mémoire de 8Gio.

Il faut bien comprendre que le Raspberry PI 2 est le socle de notre solution, mais c’est une carte inerte et pour en faire un ordinateur fonctionnel et plug and play pour tout le monde, nous devons lui ajouter d’autres éléments : 32 Gio de mémoire, une alimentation électrique, un boîtier, un OS, un conditionnement etc. Le prix de revient double presque au passage.

Ensuite, il y a des charges liées à la production et à la commercialisation de PIQO : les locaux, le matériel, la logistique ou le service après-vente pour en citer quelques-unes. Les contraintes économiques ne sont pas les mêmes que lorsqu’on bricole à la maison.

Comme toute activité économique, PIQO est soumis à la TVA, ça représente 16,5 € par exemplaire, ainsi qu’à l’IS et à la CFE.

Enfin, « but non lucratif » ne signifie pas « bénévole ». Les dirigeants de l’association ne sont pas rémunérés, mais pour assembler et distribuer PIQO, il faut créer des emplois, et c’est même l’une de nos missions en favorisant l’insertion et la formation des plus précaires.

Nous mettons un point d’honneur à être transparents sur l’activité économique de PIQO, et les coûts liés à sa production sont détaillés sur notre site. Nous poursuivrons cette transparence à l’avenir.

Par ailleurs, PIQO est une association ouverte à laquelle tout le monde peut adhérer pour prendre part aux décisions ou élire le conseil d’administration.

Ce qui est évident, c’est que notre solution ne convient pas aux besoins des technophiles, il leur suffit d’acheter un Rasperry Pi et de bidouiller. On retrouve le même principe chez ceux qui préfèrent montent leur PC et ceux qui l’achètent assemblé au supermarché du coin. Mais le grand public, les administrations ou les entreprises ont besoin de solutions clés en main, d’un service après-vente et de conseils. C’est ce que nous proposons.

D’accord, mais il a quelle valeur ajoutée, le PIQO, par rapport à des solutions qui existent déjà, comme le Linutop et le Cubox ? Qu’est-ce qu’on y trouve de plus ?

Linutop est deux à trois fois plus cher pour des performances similaires voire moindres. Cubox est un beau produit et affiche des prix nettement plus proches, mais sous Android, un OS peu adapté à l’usage desktop auquel nous destinons PIQO, sans parler de l’ingérence de Google dans cet environnement.

Notre objectif est clairement de proposer un ordinateur bureautique, qui prenne en compte les questions sociales, environnementales, et qui soit proche de ses utilisateurs particuliers, professionnels ou institutionnels.

PIQO sera un ordinateur déjà rempli de logiciels… libres. Ce choix du logiciel libre (outre son avantage financier), c’est aussi un choix éthique ? Et du coup, allez-vous mettre votre distribution maison à disposition des bidouilleurs et bidouilleuses qui veulent faire leur PIQO de leurs propres mimines ?

Le choix du logiciel libre est effectivement éthique. La contrainte financière est réelle aussi puisqu’il serait impossible de proposer PIQO à un tel prix avec des logiciels propriétaires. Nous aimons particulièrement l’idée que des milliers de personnes à travers le monde ont travaillé pendant toutes ces années pour aboutir à cet éventail de logiciels, sans rien attendre en retour que la satisfaction d’avoir été utiles à la collectivité. Nous travaillons avec la même philosophie et notre distribution basée sur Xubuntu sera évidemment disponible en téléchargement (c’est déjà le cas de la pre-alpha).

Par ailleurs, il n’y a pas de LUG actif dans la Nièvre, est ce que le projet PIQO, ou des membres de votre association, prévoient de développer des actions autour du Logiciel Libre ?

Nevers comme capitale française du logiciel libre, l’idée est séduisante ! Certains membres de l’association utilisent le Libre depuis longtemps, d’autres le découvrent et sont surpris de voir qu’il est en fait tout à fait possible de s’extraire des systèmes propriétaires. La vocation de PIQO est de faire cette démonstration à grande échelle, et cela passe par des actions de terrain. J’aimerais personnellement beaucoup pouvoir organiser des install-parties ou des conférences dans la Nièvre pour expliquer ce qu’est la philosophie du libre et sensibiliser les utilisateurs aux risques des logiciels propriétaires. On a de la place pour accueillir du monde et le cadre est sympa !

En fait en soutenant PIQO, on soutient indirectement des actions en faveur du logiciel libre et de l’open hardware dans la Nièvre ?

On peut dire ça. Le principe de réciprocité est selon moi indissociable du Libre. Si PIQO rencontre le succès, il est normal qu’à son tour l’association se fasse le porte-voix de cette philosophie et fédère autours d’elle d’autres utilisateurs, acteurs ou curieux.

Émilien, du projet PIQO. Photo Jérémie Nestel - CC by-sa
Émilien, du projet PIQO.
Photo Jérémie Nestel – Licences Art Libre


Supposons que la Mairie de Paris, qui vient d’adhérer à l’APRIL, vous passe commande pour 20.000 PIQO. Vous pouvez fournir ?

Vous me l’apprenez, c’est une grande nouvelle ! Nous sommes déjà en discussion avec des collectivités pour des volumes de 1500 pièces par an. 20 000 pièces d’un coup c’est une commande énorme, et un investissement considérable. Mais avec l’appui de nos partenaires institutionnels, et un délai raisonnable, nous serions en mesure de relever le défi.

Un dernier mot pour nous convaincre de participer à votre financement participatif ?

Le Libre est mûr pour faire son entrée dans la cour des grands ! Nous tâchons modestement à notre échelle d’œuvrer dans ce sens, tout en développant une activité économique qui soit socialement et moralement responsable.
Ça demande parfois un petit effort d’imagination pour certains, mais c’est possible !

En savoir plus et contribuer :

* Le site du projet PIQO : http://www.piqo.fr/
* Le financement participatif : http://www.kisskissbankbank.com/piqo
* Contacter l’équipe : http://www.piqo.fr/contact/

 


 

Merci à Jérémie Nestel d’être allé enquêter sur place.




MyPads point de la semaine 21

img-mypads-ulule2Tâches réalisées

Le prestataire a été à l’arrêt pour raison médicale la semaine 20 ainsi qu’une partie de la semaine 21. Les avancées n’ont donc couru que sur quelques journées et se sont focalisées sur la page de liste des groupes avec :

  • une séparation claire entre les groupes mis en favoris, ceux en lecture seule et les autres ;
  • un léger remodelage de la vision des éléments principaux pour chaque groupe directement sur cette page ;
  • une recherche par mot clé, insensible à la casse, qui parcourt les noms et labels associés à chaque groupe ;
  • des filtres pré-définis : les groupes dont je suis administrateur, ceux dont je suis simple utilisateur, les groupes restreints, privés ou publics ;
  • des filtres par labels (tags) : la liste de tous les labels employés pour les groupes affichés est disponible dans la barre de filtres et il est possible d’en sélectionner un ou plusieurs ;
  • chaque filtre est cumulable : il est par exemple possible de rechercher les groupes dont le mot « informatique » apparaît dans le titre, qui ont pour labels « astuce » et « programmation » et qui sont publics ;
  • le test fonctionnel de cette page.

Cette semaine

La gestion des pads sur le client Web va enfin démarrer et devrait pouvoir être terminée dès cette semaine. Il est également prévu la prise en charge des invitations pour les groupes et pads restreints ainsi que le partage d’administration avec d’autres utilisateurs.

 

MyPads, week 21

img-mypads-ulule2Tasks done

The contractor has paused the development for medical reason during week 20 and for part of week 21. So progress has been focused around group list page with :

  • a clear separation between bookmarked groups, archived ones and others;
  • a light redesign of visible elements per group into this page;
  • search by keyword, case-insensitive, processing group names and tags;
  • ready-made filters : groups I am administrator, those I am just user, restricted, private or public groups;
  • tags filters : a list of all tags used for displayed groups is available into the filters sidebar and it’s possible to select one or more;
  • each filter is cumulative : for example you can search for groups with the word « computer », which have tags « tooltip » and « development » and are public;
  • functional testing of this module.

This week

Pads management, into the Web client, will finally begin and should be done this week. It’s also planned to start user invitation for groups and pads and administration sharing with other.




Nous voulons (aussi) du matériel libre !

…nous dit Richard Stallman. Le logiciel a ses licences libres, la culture et la création artistique ont aussi leurs licences libres. Mais depuis quelques années les créations physiques libres se multiplient, ce qui rend urgent de poser les questions des libertés associées aux objets, comme aux modèles de conception qui permettent de les réaliser. Avec beaucoup d’acuité et de précision, Richard Stallman examine ces nouveaux problèmes et évalue la possibilité d’adapter à ce nouveau domaine les principes libristes employés pour les logiciels.

La version originale en anglais de cet article a été publiée en deux parties dans wired.com en mars 2015 :

  1. Pourquoi nous avons besoin de plans libres pour le matériel
  2. Les plans du matériel doivent être libres, voici comment procéder

L’article ci-dessous reprend le texte publié sur le site gnu.org. C’est le fruit d’une traduction collaborative entre Sébastien Poher et Framalang (Thérèse Godefroy, aziliz, Omegax, Piup, r0u, sebastienc, goofy) – Révision : trad-gnu@april.org.

 

Matériel libre et plans libres pour le matériel

par Richard M. Stallman

3Dprinterbot
Dans quelle mesure peut-on appliquer les idées du logiciel libre au matériel ? Est-ce une obligation morale de rendre libres les plans de notre matériel, tout comme c’en est une de rendre libre notre logiciel ? Est-ce que conserver notre liberté nous oblige à refuser le matériel construit sur des plans non libres ?

Définitions

L’expression « logiciel libre »1 se réfère à la liberté et non au prix ; en gros, elle signifie que les utilisateurs du logiciel sont libres de le faire fonctionner, de le copier et de le redistribuer, avec ou sans modification. Plus précisément, la définition repose sur les quatre libertés essentielles. Pour bien faire ressortir que free fait référence à la liberté et non au prix, nous accolons souvent le mot français ou espagnol « libre » à free.

Si l’on transpose directement ce concept au matériel, matériel libre signifie que l’utilisateur est libre de l’utiliser, de le copier
et de le redistribuer, avec ou sans modification. Toutefois, il n’y a pas de système de copie pour les objets matériels, à part la reproduction des clefs, de l’ADN et de la forme extérieure d’objets plastiques. La plupart des composants matériels sont fabriqués sur plan. Le plan précède le matériel.

Par conséquent, le concept dont nous avons vraiment besoin est celui de plan libre pour le matériel. C’est simple, il s’agit d’un plan dont l’utilisateur peut se servir (c’est-à-dire à partir duquel il peut fabriquer le matériel) et qu’il peut copier et redistribuer, avec ou sans modification. Un tel plan doit offrir les quatre libertés, évoquées plus haut, qui définissent le logiciel libre. Le terme « matériel libre » désigne alors un matériel pour lequel un plan libre est disponible.

Lorsque les gens découvrent le concept de logiciel libre pour la première fois, ils l’assimilent souvent à « possibilité d’en obtenir gratuitement un exemplaire ». Il est vrai que beaucoup de programmes libres sont disponibles à prix nul, puisque cela ne vous coûte rien de télécharger votre propre copie, mais ce n’est pas le sens de free dans free software (de fait, certains programmes espions tels que Flash Player ou Angry Birds sont gratuits, bien qu’ils ne soient pas libres). Accoler le mot « libre » à free aide à clarifier ce point.

Pour le matériel, cette confusion tend à aller dans l’autre direction ; les composants matériels ont un coût de production, donc ceux qui sont produits dans un but commercial ne peuvent être gratuits (à moins qu’il ne s’agisse de produits d’appel ou de vente liée), mais cela n’empêche pas leurs plans d’être libres. Les objets que vous fabriquez avec votre imprimante 3D peuvent être très bon marché, mais ils ne seront pas totalement gratuits car vous devez payer pour le matériau brut. D’un point de vue éthique, l’enjeu de la liberté prime absolument sur l’enjeu du prix, car un appareil qui refuse la liberté à ses utilisateurs vaut moins que rien.

Les expressions « matériel ouvert » et « matériel open source » sont utilisées par certains avec la même signification que « matériel libre », mais elles minimisent la problématique de la liberté. Elles sont dérivées de l’expression « logiciel open source », qui correspond plus ou moins au logiciel libre, mais passe sous silence la liberté et ne présente pas la problématique en termes d’opposition bien-mal. Pour souligner l’importance de la liberté, nous ne manquons pas d’y faire référence chaque fois que cela est pertinent ; puisqu’« open » ne permet pas cette distinction, ne le substituons pas à « libre ».

Matériel et logiciel

Le matériel et le logiciel sont fondamentalement différents. Un programme,même sous sa forme compilée exécutable, est une collection de données qui peut être interprétée comme instructions par un ordinateur. Comme toute autre création numérique, on peut le copier et le modifier en se servant d’un ordinateur. Un exemplaire de programme n’a pas de forme physique ni matérielle intrinsèque.

Au contraire, le matériel est une structure physique et sa nature physique est cruciale. Alors que le plan du matériel peut être représenté par des données, même par un programme dans certains cas, le plan n’est pas le matériel. Le plan d’un CPU ne peut pas exécuter un programme. Vous n’irez pas très loin en essayant de taper sur le plan d’un clavier ni en affichant des pixels sur le plan d’un écran.

De plus, alors que vous pouvez vous servir d’un ordinateur pour modifier ou copier le plan d’un composant matériel, un ordinateur ne peut pas convertir ce plan dans la structure physique qu’il décrit. Cela demande un équipement de fabrication.

La frontière entre matériel et logiciel

Où se situe la frontière, dans un appareil numérique, entre matériel et logiciel ? Nous pouvons la déterminer en appliquant les définitions suivantes : le logiciel est la partie opérante d’un appareil qui peut être copiée et modifiée dans un ordinateur ; le matériel est la partie opérante qui ne peut pas l’être. C’est le meilleur moyen de faire la distinction car cela renvoie à des conséquences pratiques.

Entre le matériel et le logiciel, il existe une zone grise occupée par les micrologiciels [firmware] qui peuvent être mis à jour ou remplacés, mais ne sont pas conçus pour être mis à jour ou remplacés une fois le produit vendu. En termes conceptuels, la zone grise est plutôt mince. En pratique, ceci est important car de nombreux produits sont concernés. Nous pouvons donc presque considérer ces micrologiciels comme du matériel.

Certaines personnes ont prétendu que préinstaller des micrologiciels et des circuits logiques programmables de type « FPGA » (réseau de portes programmables in situ) « effacerait la frontière entre matériel et logiciel », mais je pense qu’il s’agit là d’une mauvaise interprétation des faits. Un micrologiciel installé lors de l’utilisation est un logiciel ordinaire ; un micrologiciel intégré à un appareil et non modifiable est un logiciel par nature, mais nous pouvons le traiter comme si c’était un circuit. Dans le cas des FPGA, le circuit FPGA lui-même est du matériel, mais le schéma logique de portes chargé dans ce circuit FPGA est une sorte de micrologiciel.

Faire fonctionner des schémas de portes libres sur des FPGA pourrait être une méthode utile pour créer des appareils numériques libres au niveau des circuits. Toutefois, pour rendre ces FPGA utilisables dans le monde du libre, nous avons besoin d’outils de développement libres adaptés. L’obstacle à cela est que le format du fichier de schéma logique de portes chargé dans le FPGA est secret. Jusqu’à récemment, il n’existait aucun modèle de FPGA pour lequel ces fichiers pouvaient être reproduits sans outils non libres (privateurs).

Grâce aux efforts de rétroingénierie, il est maintenant possible de compiler des programmes écrits en C et de les exécuter sur le circuit FPGA Xilinx Spartan 6 LX9. Ces outils ne gèrent pas encore le code HDL (langage de description de matériel), cela n’offre donc pas une alternative utilisable pour de vrais circuits numériques. D’un autre côté, ce modèle de FPGA se fait vieux. Ces outils constituent une formidable avancée en comparaison de la situation d’il y a quelques années, mais la route est encore longue avant que les FPGA ne soient totalement utilisables en toute liberté.

Quant au code HDL lui-même, il peut agir en tant que logiciel (lorsqu’il s’exécute dans un émulateur ou après chargement dans un FPGA) ou en tant que schéma de composant matériel (lorsqu’il est mis en œuvre dans des semiconducteurs inamovibles ou dans un circuit imprimé).

La question éthique posée par les imprimantes 3D

Sur le plan éthique, le logiciel doit être libre, car un programme non libre est source d’injustice. Faut-il avoir la même optique en ce qui concerne la conception de matériel ?

Il le faut, sans aucun doute, dans les domaines concernés par l’impression 3D (ou plus généralement par toute fabrication personnelle). Les modèles servant à imprimer des objets utiles, pratiques (c’est-à-dire fonctionnels plutôt que décoratifs) doivent être libres parce qu’ils sont réalisés dans un but utilitaire. Les utilisateurs doivent en avoir le contrôle, tout comme ils doivent avoir le contrôle des logiciels qu’ils utilisent. Diffuser un modèle non libre pour un objet fonctionnel est aussi mal que de diffuser un programme non libre.

Soyez attentifs à choisir des imprimantes 3D fonctionnant avec du logiciel exclusivement libre ; la Free Software Foundation homologue de telles imprimantes. Certaines imprimantes 3D sont conçues à partir de plans libres mais la Makerbot est de conception non libre.

Devons-nous refuser le matériel numérique non libre ?

La conception non libre d’un matériel numérique (*) engendre-t-elle une injustice ? Devons-nous, au nom de nos libertés, rejeter tous les matériels numériques créés à partir de plans non libres, tout comme nous devons rejeter le logiciel non libre ?

Étant donné qu’il y a un parallèle conceptuel entre les plans du matériel et le code source du logiciel, beaucoup de bidouilleurs de matériel informatique sont prompts à condamner les plans non libres au même titre que le logiciel non libre. Je ne suis pas d’accord, car la situation est différente pour le matériel et le logiciel.

De nos jours, les technologies de fabrication des puces et des circuits ont beaucoup de similitudes avec la presse à imprimer : elles se prêtent parfaitement à une production de masse dans une usine. Cela ressemble plus à la façon dont on copiait des livres en 1950 qu’à la façon dont on copie du logiciel aujourd’hui.

La liberté de copier et de modifier le logiciel est un impératif éthique car ces activités sont à la portée de ceux qui utilisent le logiciel : l’équipement qui vous permet d’utiliser le logiciel (un ordinateur) est suffisant pour le recopier et le modifier. Les ordinateurs mobiles d’aujourd’hui sont trop peu puissants pour être adaptés à cet usage, mais n’importe qui peut se procurer un ordinateur assez puissant.

De plus, même si vous-même n’êtes pas programmeur, il vous suffit d’un ordinateur pour télécharger et exécuter la version modifiée par une personne capable d’effectuer cette modification. Et de fait les non-programmeurs téléchargent des logiciels et en font tourner tous les jours. C’est pourquoi le logiciel libre change véritablement les choses pour eux.

Dans quelle mesure cela est-il transposable au matériel ? Ceux qui utilisent du matériel numérique ne savent pas toujours modifier le schéma d’un circuit ou d’une puce, mais tous ceux qui possèdent un ordinateur ont l’équipement nécessaire pour le faire. Jusque-là, le matériel et le logiciel sont similaires, mais ensuite vient la grande différence.

Vous ne pouvez pas compiler et exécuter les plans d’un circuit ou d’une puce sur votre ordinateur. Construire un circuit complexe représente beaucoup de travail méticuleux et cela suppose que vous disposiez de la carte. Fabriquer une puce n’est pas faisable par une personne isolée aujourd’hui ; seule la production de masse permet de réduire suffisamment les coûts. Avec la technologie actuelle, les utilisateurs ne peuvent pas télécharger et faire tourner le plan d’un composant numérique modifié par Amélie la bricoleuse, alors qu’ils peuvent le faire avec un logiciel modifié par Amélie la programmeuse. Ainsi, les quatre libertés ne donnent pas aux utilisateurs le même contrôle collectif sur un plan de matériel que sur un logiciel. C’est à partir de là que le raisonnement démontrant que tout logiciel doit être libre cesse de s’appliquer aux technologies actuelles de fabrication du matériel.

En 1983, il n’y avait pas de système d’exploitation libre mais il était clair que si nous en disposions, nous pourrions l’utiliser immédiatement et accéder à la liberté du logiciel. Tout ce qui manquait était le code d’un système de ce type.

En 2015, même si nous avions des plans libres pour un processeur de PC, les puces produites en série à partir de ces plans ne nous donneraient pas la même liberté dans le domaine du matériel. Si nous achetons un produit fabriqué en série dans une usine, cette dépendance envers l’usine cause la plupart des problèmes rencontrés avec les plans non libres. Pour que des plans libres nous donnent la liberté du matériel, nous avons besoin de technologies de fabrication nouvelles.

Nous pouvons envisager un avenir dans lequel nos « fabricateurs » personnels pourront fabriquer des puces et nos robots pourront les assembler et les souder avec les transformateurs, interrupteurs, touches, écrans, ventilateurs, etc. Dans ce monde futur, nous fabriquerons tous nos propres ordinateurs (ainsi que nos fabricateurs et nos robots) et nous serons en mesure d’utiliser à notre avantage les plans modifiés par ceux qui maîtrisent la conception du matériel. Les arguments pour rejeter le logiciel non libre s’appliqueront alors aussi aux plans du matériel.

Ce monde futur se situe à plusieurs années de distance, au moins. En attendant, il n’est pas nécessaire de rejeter par principe le matériel dont les plans ne sont pas libres.


* Ici, « matériel numérique » recouvre également le matériel utilisant quelques circuits et composants analogiques en plus des circuits et composants numériques.

Nous avons besoin de plans libres pour le matériel numérique

Bien que dans la situation actuelle nous n’ayons pas besoin de rejeter le matériel numérique issu de plans non libres, nous avons besoin de développer des plans libres et nous devons les utiliser quand c’est faisable. Ils procurent des avantages aujourd’hui, et à l’avenir ils pourraient être la seule façon d’utiliser du logiciel libre.

La disponibilité de plans libres pour le matériel offre des avantages pratiques. De nombreuses entreprises peuvent fabriquer le même, ce qui réduit la dépendance à un fournisseur unique. Des groupes peuvent s’organiser pour les fabriquer en grande quantité. Lorsqu’on possède les schémas ou le code HDL des circuits, on peut étudier les plans des composants pour y déceler d’éventuelles erreurs ou fonctionnalités malveillantes (il est connu que la NSA a introduit des faiblesses intentionnelles dans certains matériels informatiques). En outre, ces plans libres pourraient servir de modules élémentaires dans la conception d’ordinateurs et autres appareils complexes, dont les spécifications seraient publiées et dont moins de composants pourraient être utilisés contre nous.

Il nous sera peut-être possible d’utiliser des schémas libres pour certains composants de nos ordinateurs et de nos réseaux, ainsi que pour les systèmes embarqués, avant de pouvoir nous en servir pour fabriquer des ordinateurs complets.

Les plans libres pour le matériel pourraient même devenir essentiels avant que nous puissions fabriquer le matériel nous-mêmes, s’ils deviennent la seule façon d’éviter le logiciel non libre. Comme le matériel commercial le plus courant est de plus en plus conçu pour assujettir les utilisateurs, il devient de moins en moins compatible avec le logiciel libre, car ses spécifications sont confidentielles et il oblige le code à être certifié par quelqu’un d’autre que vous. Les puces des modems de téléphones mobiles et même certains accélérateurs graphiques exigent déjà un micrologiciel certifié par le fabricant. Tout programme, tournant sur votre ordinateur, que quelqu’un d’autre a le droit de modifier mais pas vous, est un instrument de pouvoir injuste envers vous ; du matériel qui impose cette exigence est du matériel malveillant. En ce qui concerne les puces des modems de téléphones mobiles, tous les modèles actuellement disponibles sont malveillants.

Un jour, le matériel numérique de conception libre pourrait être l’unique plateforme permettant de faire tourner du logiciel libre. Ayons pour but d’avoir à notre disposition d’ici là les plans numériques libres requis, et espérons que nous aurons les moyens de fabriquer le matériel correspondant à des coûts suffisamment bas pour tous les utilisateurs.

Si vous concevez du matériel, veuillez s’il vous plaît libérer vos plans. Si vous utilisez du matériel, rejoignez notre effort en insistant auprès des entreprises, en faisant pression sur elles, pour qu’elles rendent libres les plans de leur matériel.

Niveaux de conception

Le logiciel a plusieurs niveaux de conception ; par exemple, un paquet peut inclure des bibliothèques, des commandes et des scripts. Mais du point de vue de la liberté du logiciel, ces niveaux ne présentent pas de différence significative parce qu’il est possible de rendre libre chacun d’entre eux. La conception des composants d’un programme est de même nature que la conception du code qui les combine ; de même, compiler les composants à partir de leur code source est de même nature que compiler le programme à partir de son code source. Rendre l’ensemble libre nécessite simplement de poursuivre le travail jusqu’à ce qu’il soit terminé.

Par conséquent, nous insistons pour que les programmes soient libres à tous les niveaux. Pour qu’un programme puisse être considéré comme libre, chaque ligne de code qui le compose doit être libre, de sorte qu’on puisse le compiler à partir du seul code source libre.

Les objets physiques, en revanche, sont souvent construits à partir de composants qui eux-mêmes sont conçus et construits dans différentes sortes d’usines. Par exemple, un ordinateur est constitué de puces, mais la conception (ou la fabrication) des puces est très différente de la conception (ou de la fabrication) de l’ordinateur à partir de ces puces.

Ainsi, nous avons besoin de distinguer des niveaux dans les plans d’un produit numérique (et peut-être de certains autres types de produits). Le circuit qui connecte les puces est l’un de ces niveaux ; le plan de chaque puce en est un autre. Dans un FPGA, l’interconnexion des cellules primitives constitue un niveau, tandis que les cellules primitives elles-mêmes en sont un autre. Dans un avenir idéal, nous voudrions que le plan soit libre à tous les niveaux. Dans les circonstances actuelles, le simple fait de rendre libre un niveau est une amélioration significative.

Cependant, si à l’un des niveaux le plan fait appel à des parties libres et à des parties non libres – par exemple un circuit HDL « libre » qui incorpore des processeurs softcore privateurs – nous devons conclure que le plan dans son ensemble est non libre à ce niveau. De même pour les « assistants » ou les « macros » non libres, s’ils définissent une partie des interconnexions des puces ou bien les parties des puces dont les connexions sont programmables. Les parties libres peuvent constituer une étape vers notre objectif futur de liberté des plans, mais pour atteindre cet objectif il faudra remplacer les parties non libres. Elles ne pourront jamais être acceptables dans le monde du libre.

Licences et copyright adaptés aux plans libres pour le matériel

Pour rendre libre le plan d’un matériel, il faut le publier sous une licence libre. Nous recommandons la licence publique générale GNU, version 3 ou ultérieure. Nous avons conçu la version 3 de la GPL en envisageant cet usage.

Placer des circuits ou des formes d’objets non décoratifs sous copyleft ne va pas aussi loin que l’on pourrait le supposer. Le copyright sur ces plans s’applique uniquement à la manière dont le plan est dessiné ou écrit. Le copyleft étant une façon d’utiliser le droit du copyright, son effet ne se fait sentir que dans la mesure où le copyright s’applique.

Par exemple, un circuit, en tant que topologie, ne peut pas faire l’objet d’un copyright (et par conséquent ne peut pas être placé sous copyleft). Les définitions de circuits écrit en HDL peuvent être placées sous copyright (et donc sous copyleft), mais le copyleft ne régit que les détails de l’expression du code HDL, pas la topologie du circuit qu’il génère. De même, un dessin ou le diagramme d’un circuit peut être placé sous copyright, donc sous copyleft, mais cela ne couvre que le dessin ou le diagramme, pas la topologie du circuit. N’importe qui peut légalement dessiner le même circuit d’une façon apparemment différente, ou écrire une définition différente en code HDL qui produise le même circuit.

Étant donné que le copyright ne régit pas les circuits physiques, lorsque des gens construiront des exemplaires du circuit, la licence des plans n’aura aucune incidence juridique sur ce qu’ils feront avec les appareils qu’ils auront construits.

En ce qui concerne les dessins d’objets et les modèles pour imprimantes 3D, le copyright ne s’applique pas à un dessin différent de la forme du même objet purement fonctionnel. Il ne couvre pas non plus les objets physiques utilitaires fabriqués à partir du dessin. Sous le régime du copyright, chacun est libre de les fabriquer et de les utiliser (et c’est une liberté dont nous avons grand besoin). Aux États-Unis, le copyright ne régit pas les aspects fonctionnels de ce que décrit le plan, mais en revanche il couvre les aspects décoratifs. Quand un objet a des aspects décoratifs et des aspects fonctionnels, on se trouve en situation délicate (*).

Tout ceci est peut-être vrai également dans votre pays, ou non. Avant de produire des objets pour un usage commercial ou en grande quantité, vous devriez consulter un juriste local. Le copyright n’est pas le seul problème qu’il vous soit nécessaire de prendre en compte. Vous pourriez être attaqué au plan des brevets, très probablement détenus par des entités qui n’avaient rien à voir avec l’élaboration des plans que vous utilisez ; et d’autres problèmes juridiques peuvent aussi se présenter.

Gardez à l’esprit que le droit du copyright et le droit des brevets sont radicalement différents. C’est une erreur de supposer qu’ils aient quoi que ce soit en commun. C’est pourquoi le terme « propriété intellectuelle » est source de pure confusion et doit être totalement rejeté.


* Un article de Public Knowledge donne des renseignements utiles sur cette complexité (pour ce qui est des États-Unis) bien qu’il tombe dans l’erreur commune consistant à utiliser l’expression fallacieuse « propriété intellectuelle » et le terme de propagande « protection ».

Promotion du matériel libre par le biais des dépôts

Pour favoriser la liberté des plans de matériel, le moyen le plus efficace est d’édicter des règles dans les dépôts où ils sont publiés. Les opérateurs de ces dépôts doivent mettre la liberté des personnes qui vont utiliser les plans au-dessus des préférences des personnes qui les réalisent. Cela suppose d’exiger la liberté des plans d’objets utiles comme condition préalable à leur publication.

Pour les objets décoratifs, cet argument ne s’applique pas, aussi ne devons-nous pas insister pour qu’ils soient libres. Cependant, nous devons insister pour qu’ils puissent être partagés. Ainsi, un dépôt qui gère à la fois des objets décoratifs et des objets fonctionnels doit avoir une politique appropriée en matière de licence pour chaque catégorie.

Pour les plans d’appareils numériques, je suggère que le dépôt préconise instamment la GNU GPL v3 ou ultérieure, la licence Apache 2.0 ou la CC-0. Pour les modèles 3D d’objets fonctionnels, le dépôt doit demander à l’auteur du modèle de choisir l’une des quatre licences suivantes : GNU GPL v3 ou ultérieure, Apache 2.0, CC-SA, CC-BY ou CC-0. Pour les modèles d’objets décoratifs, le choix doit être entre la GNU GPL v3 ou ultérieure, la licence Apache 2.0, la CC-0 ou n’importe laquelle des licences Creative Commons.

image satirique, un policier armé dit à un homme qui s'enfuit effrayé qu'il n'a rien à craindre car son arme est du matériel libre créé à partir de plans libres. Le fuyard dit merci à RMS

Le dépôt doit exiger que tous les plans soient publiés en tant que code source, étant entendu que les codes sources en formats secrets utilisables uniquement par des logiciels privateurs de conception ne sont pas vraiment adéquats. Pour les modèles 3D, le format STL n’est pas le format préféré pour les modifications et par conséquent n’est pas du code source, aussi le dépôt ne doit-il pas l’accepter, sauf peut-être s’il accompagne le vrai code source.

Il n’y a aucune raison de choisir un format unique pour le code source des plans de matériel, mais les formats sources qui ne peuvent pas être reconnus par des logiciels libres doivent être acceptés avec réticence dans le meilleur des cas.

Matériel libre et garanties

En général, les auteurs de plans libres pour du matériel n’ont aucune obligation morale d’offrir une garantie à ceux qui mettent en œuvre ces plans. Il s’agit d’un problème différent de celui de la vente de matériel physique, qui doit être accompagné d’une garantie du vendeur ou du fabricant.

Conclusion

Nous avons déjà des licences appropriées pour rendre libres nos plans de matériel. Ce dont nous avons besoin est de reconnaître que c’est notre devoir en tant que communauté, et d’insister pour que nos plans soient libres lorsque nous fabriquons nous-même des objets.


Note de traduction

  1. En anglais, free software. Le mot free a deux signification : « libre » et « gratuit ».

Cette page peut être utilisée suivant les conditions de la licence Creative Commons attribution de paternité, pas de modification, 3.0 États-Unis (CC BY-ND 3.0 US). Copyright © 2015 Richard Stallman




Plus d’erreurs de grammaire ni de typographie avec Grammalecte

Si vous utilisez un traitement de texte avec des élèves, vous avez sûrement déjà entendu cette phrase « Il n’y a pas d’erreurs car ce n’est pas souligné. » En effet, trop souvent, seul le correcteur orthographique est utilisé. Et comme son nom l’indique, il ne corrige que l’orthographe. Si vous voulez que vos élèves (et même les plus grands) questionnent leurs productions, une petite, que dis-je, une grande extension deviendra vite indispensable : Grammalecte. Laissons Olivier nous en dire un peu plus.

Logo de Grammalecte

Bonjour Olivier, j’ai l’habitude de dire que Grammalecte est une extension qui permet d’apprendre de ses erreurs. Peux-tu nous la présenter ?

Grammalecte est un correcteur grammatical dédié à la langue française. Pour l’instant, il n’existe que pour LibreOffice et OpenOffice, mais j’ai lancé une campagne de financement pour porter l’application dans Firefox et Thunderbird.

Le but du programme, c’est bien sûr de signaler les erreurs grammaticales, mais selon le principe suivant : le moins de fausses alertes possible, car les faux positifs irritent et distraient inutilement les utilisateurs. Ce n’est pas facile à faire, car dans la langue française il y a beaucoup d’incertitudes et les confusions possibles sont innombrables. Songez par exemple que l’adjectif « évident » est aussi une forme verbale du verbe « évider » et vous aurez une idée du genre de difficultés auxquelles il faut faire face. J’en ai parlé dans un long billet sur LinuxFR, alors je préfère ne pas me répéter ici.

#gallery-1 { margin: auto; } #gallery-1 .gallery-item { float: left; margin-top: 10px; text-align: center; width: 50%; } #gallery-1 img { border: 2px solid #cfcfcf; } #gallery-1 .gallery-caption { margin-left: 0; } /* see gallery_shortcode() in wp-includes/media.php */

Entendre que Grammalecte permet d’apprendre de ses erreurs me fait plaisir, car il n’est pas toujours facile de faire en sorte que le message d’erreur soit instructif. La place est limitée, et parfois l’imagination fait défaut pour écrire un message à la fois simple et instructif. Par ailleurs, les explications ne sont pas toujours comprises (tout le monde ne sait pas ce qu’est un COD ou un participe passé). Les exemples, ce n’est pas toujours clair. Les messages trop longs ne sont probablement pas toujours lus. Et, pour des raisons techniques, il n’est pas toujours possible d’être explicite. Il y a encore du progrès à faire sur ce point. Si je le peux, je place un hyperlien vers une page web plus complète, mais les pages web sont parfois longues et les explications ne concernent pas toujours spécifiquement l’erreur concernée. Mais il est vrai que, contrairement à Word (qui ne fournit qu’une correction sans indication), Grammalecte tente souvent d’expliquer. Car le meilleur moyen d’éviter les erreurs grammaticales, c’est d’enseigner petit à petit à l’utilisateur à ne plus en faire. Le meilleur service que puisse rendre un correcteur grammatical, c’est de devenir de moins en moins utile. Mais il le sera toujours à cause des erreurs d’inattention que même les plus doués font.

Pour aider l’utilisateur à s’y retrouver dans la langue française, il y a deux outils :
— le « lexicographe », qui, avec un clic droit sur n’importe quel mot, renseigne sur sa nature grammaticale : un nom, un adjectif, participe passé, un verbe, un article, etc.
— le conjugueur, qui est, lui aussi, accessible avec un simple clic droit sur n’importe quel verbe.

Le conjugueur de Grammalecte

Ce n’est pas beaucoup par rapport à ce que font des logiciels comme Cordial et Antidote, mais c’est bien mieux que ce que fait Word.

Les correcteurs du Framablog et de Framabook me soufflent également que c’est un allié particulièrement efficace pour les « typo nazis »…

Oui, j’espère qu’il l’est, attendu que c’est avant tout pour des questions de typographie que j’ai commencé ce logiciel. Grammalecte est en effet assez strict sur ce chapitre. Au tout début, la décision de signaler les apostrophes droites avait beaucoup surpris certaines personnes, mais ça me semblait parfaitement normal. J’ai finalement mis cette règle en option pour ceux que ça gênait le plus. Grammalecte peut paraître pointilleux pour beaucoup de gens.
Mais pour soulager l’utilisateur des fastidieuses corrections typographiques, le logiciel possède un outil, appelé « formateur de texte », capable d’automatiser en quelques clics la correction des multitudes d’erreurs typographiques. Il peut par exemple :
— supprimer les espaces surnuméraires en fin de ligne, entre les mots, avant les virgules, etc.
— ajouter les espaces insécables là où elles sont requises,
— transformer les apostrophes droites en apostrophes typographiques,
— placer des tirets cadratins pour les dialogues,
et toutes sortes d’autres choses pénibles à faire manuellement, une par une.
C’est très utile quand on récupère des textes mal formatés sur le Net, car ça fait économiser un temps considérable de mise en forme.

Le formateur de texte de Grammalecte
Le formateur de texte de Grammalecte

Cela dit, Grammalecte n’intégrera pas tout à fait les mêmes règles de contrôle typographique dans Firefox, attendu que, dans ce contexte, certaines seront plus une gêne qu’une aide. Ce qui sera supprimé ou modifié reste encore à déterminer. Par exemple, il est possible que je change ou supprime certaines règles sur les espaces.

De manière générale, peux-tu nous présenter les personnes derrière Grammalecte ? Tu travailles seul ?

Alors, oui, je travaille seul sur le moteur interne de Grammalecte. Mais ça ne signifie pas que je sois le seul à avoir travaillé dessus, indirectement ou directement. Le logiciel est un dérivé de Lightproof, un correcteur grammatical minimaliste (d’où son nom, qu’on pourrait traduire par « vérificateur léger ») écrit pour LibreOffice par un Hongrois, mais qui est peu utilisé en raison du manque de ressources lexicales. Ce correcteur fait appel à Hunspell, le correcteur orthographique, mais la plupart des dictionnaires orthographiques n’étant pas grammaticalement étiquetés, son potentiel est limité et il sert surtout pour des corrections basiques ou typographiques. D’ailleurs, tel quel, il ne pouvait être d’une grande utilité pour le français, même avec un dictionnaire étiqueté, c’est pourquoi il a fallu que je triture le code pour pouvoir en faire un correcteur plus puissant (et moins léger). Mais je ne blâme pas Lightproof d’être léger et rudimentaire. Au contraire, ça m’a permis de mettre le pied à l’étrier et de constater que beaucoup de choses n’étaient pas si compliquées à faire. Ensuite, peu à peu, j’ai commencé à réfléchir à des choses plus complexes et à avoir des idées plus vastes que ce que j’avais imaginé faire en premier lieu.

Cependant il y a pas mal d’autres personnes qui ont travaillé et travaillent sur la base indispensable de Grammalecte : le dictionnaire orthographique grammaticalement étiqueté. Ça peut paraître anecdotique, mais gérer un dictionnaire c’est une tâche qui requiert un temps considérable et certains contributeurs y ont consacré une énergie qui méritent toute votre estime. Il y a quelques années, j’avais confié l’administration du dictionnaire à d’autres personnes, ce qui m’a permis d’avoir du temps pour améliorer le site web dédié à l’amélioration du dictionnaire et surtout pour concevoir les premières versions du correcteur grammatical. Gérer une base lexicale, c’est très loin d’être négligeable, c’est pourquoi Grammalecte et LanguageTool utilisent la même ressource. L’un des plus gros contributeurs au dictionnaire, c’est d’ailleurs le mainteneur de la partie française de LanguageTool. Quant aux autres, c’est une petite poignée de passionnés très investis ou de simples passants qui avaient besoin qu’on ajoute certains mots au dico. Mais je n’ai jamais demandé de comptes à quiconque, je ne sais pas qui ils sont. Un pseudo, une adresse e-mail, parfois un nom, c’est tout ce que je sais d’eux. À présent, il y a beaucoup moins de contributeurs, ce projet connaît un certain ralentissement. Il faut dire que le dictionnaire est bien plus fourni qu’autrefois, même s’il y a sans doute encore beaucoup à faire pour les domaines spécialisés comme la médecine, la biologie ou la chimie. Les nouveaux mots qu’on ajoute maintenant concernent surtout les sciences, ou bien des vieilleries peu utilisées.

4 dictionnaires orthographiques proposés
4 dictionnaires orthographiques proposés

Quant à moi, on pourrait croire que je suis un passionné d’orthographe et de grammaire, et que je m’amuse à faire des concours de dictée. Pas du tout. Pour tout dire, la grammaire ne m’intéresse que parce que je conçois un correcteur grammatical, c’est tout. Ce que j’aime avant tout, ce sont les livres, la littérature et l’informatique. Il y a une douzaine d’années, je récupérais sur le Web pas mal de textes anciens introuvables en librairie, et je les mettais en forme pour mon usage.

En 2005, quand j’ai découvert l’existence d’OpenOffice.org, j’ai immédiatement été impressionné par Writer, qui permettait de concevoir des textes de manière bien plus cohérente et propre que Word. Par ailleurs, Word me fâchait par son incapacité à relire correctement les anciens documents conçus avec lui (j’ai commencé avec Word 6). Il fallait souvent refaire certaines mises en page. Et le format binaire ne permettait guère de retrouver ses petits si le document était corrompu. La qualité de Writer et le format ouvert de documents sont les raisons pour lesquelles j’ai migré vers OOo.

Mais il y avait quand même un aspect de Writer qui était en deçà de son concurrent : le correcteur orthographique. Il était très lacunaire. C’est la raison pour laquelle j’ai commencé à m’intéresser à la question. Finalement, j’ai d’abord cherché à remplir mes besoins d’utilisateur. En 2006-2007, j’ai retroussé mes manches et j’ai d’abord amélioré le dictionnaire, j’ai repris les différentes versions disponibles sur le Net, et j’ai conçu un site web pour recevoir les propositions des utilisateurs. En 2008, j’ai fini par réécrire toutes les règles du dictionnaire pour normaliser les données (avant ça, c’était vraiment le bordel), et j’ai posé des étiquettes grammaticales dessus, avec l’idée que ça servirait un jour à celui ou celle qui aurait l’idée saugrenue de faire un correcteur grammatical, puis j’ai recréé le site web (parce que le premier était mal foutu). À l’époque, je n’avais pas du tout l’intention de concevoir un correcteur grammatical. Je ne me sentais pas assez fou pour me lancer là-dedans.

J’avais bien sûr essayé LanguageTool, mais il ne me convenait pas du tout, car il y avait vraiment trop de faux positifs. En 2010, j’ai tenté d’améliorer LanguageTool pour le français, mais j’y ai finalement renoncé à cause d’une histoire de typographie et de mon désamour pour Java et le XML. C’est alors que j’ai découvert Lightproof, capable d’interroger les dictionnaires dans Writer. Tiens, tiens, intéressant, me suis-je dit, et si je faisais un petit test ? Au commencement, j’ai pas mal galéré pour diverses raisons plus ou moins complexes, mais j’ai eu assez vite un correcteur typographique auquel j’ai ajouté quelques règles simples concernant la grammaire. Encore une fois, je ne faisais que satisfaire mes propres exigences d’utilisateur. Puis, comme ça a plu, j’ai continué à améliorer le moteur interne du correcteur, peu à peu, en ajoutant des mécanismes plus complexes et en polissant peu à peu les rugosités du logiciel.

Cela dit, cela va vous paraître bizarre, mais j’éprouve un doute de nature philosophique sur la pertinence de concevoir un correcteur grammatical. Je ne juge pas qu’un correcteur grammatical soit inutile, mais à force de plancher sur la question, la grammaire française a commencé à me paraître inutilement compliquée et incohérente. On écrit par exemple : Je commence, tu commences, il commence. Mais on écrit : Je finis, tu finis, il finit. Il est étonnant qu’on juge utile de distinguer la deuxième personne du singulier au premier groupe, mais au deuxième groupe on préfère distinguer la troisième personne du singulier. À l’impératif, dans le deuxième groupe, la graphie de la deuxième personne du singulier est la même que celle à l’indicatif (« finis »), mais au premier groupe la graphie de la deuxième personne du singulier est différente à l’indicatif (« commences ») et à l’impératif (« commence »), ce qui trompe d’ailleurs beaucoup de monde. Pire : au deuxième groupe, la première et la deuxième personnes du singulier (« finis ») ont la même graphie qu’un participe passé. Encore une belle occasion de semer la confusion.

On va me rétorquer que c’est notre « héritage », que ça vient des origines de la langue, que l’étymologie, c’est important. Oui, mais c’est un argument creux. D’abord, qui connaît l’origine de la variation des graphies des conjugaisons ? Pas grand-monde, je parie. Un coup d’œil sur la question sur Wikisource. Les anciens étaient-ils parfaitement logiques et cohérents ? C’est très discutable. La langue n’a pas évolué de manière uniforme. Un autre exemple : habiter vient du latin habitare, c’est pour ça qu’il y a un h au début du mot. Habitare dérive lui-même du mot habere, qui signifie avoir. Ah, tiens, le h a disparu sur avoir. Autrement dit, l’histoire préserve et altère les graphies très diversement. Pourtant, préserver le h sur avoir aurait été bien utile, car ça éviterait que certaines formes verbales de avoir soient identiques ou semblables à d’autres mots sans rapport avec ce verbe, comme a, as, avions, aura, ais (qui n’est pas une forme conjuguée de avoir). Absurde de rajouter h à avoir, pensez-vous ? Pourtant, on a autrefois ajouté des lettres aux graphies des mots pour mieux les distinguer. On a ajouté un d à pied (parce que ça vient de pedis), un g à doigt (parce que ça vient de digitus), etc. Personnellement, j’aimerais bien que avoir retrouve son h…

Le français est plein de confusions, d’ambiguïtés et de bizarreries. Il y a tellement de choses à retenir. Savez-vous à quoi ressemble la somme de la connaissance sur la grammaire française ? À un pavé de 1600 pages écrit en petites lettres qui s’appelle Le Bon Usage de Grevisse (au format poche, ça ferait plus de 3500 pages, je pense). Et encore, on n’y trouve pas tout.

Couverture de la 15ᵉ édition du Bon usage
Couverture de la 15ᵉ édition du Bon usage

Récemment, une de mes amies s’indignait que ses enfants dussent apprendre par cœur les pluriels irréguliers de caillou, genou, hibou, etc. Pourtant ces mots ne dérivent pas de mots plus anciens contenant des x. Ce x n’est dû qu’à une écriture abrégée employée il y a longtemps, où un X remplaçait “us”. Au lieu d’écrire chous, certains écrivaient choX. (référence sur Wikipédia). Personnellement, il me paraît bien plus grave de confondre “on” et “ont”, “à” et “a”, “se” et “ce”, que de se tromper sur le pluriel de caillou ou d’écrire “tu commence”. Mais le français est si plein de choses à retenir qu’on voit régulièrement des gens ne pas se tromper sur des questions accessoires et écrire des phrases dont la syntaxe fait mal aux yeux.

Voilà pourquoi j’éprouve un doute sur la pertinence de concevoir un correcteur grammatical en l’état des choses. Je crains d’aider à figer une langue dans toutes ses incohérences et ambiguïtés. (Mais ceux qui vendent des correcteurs y trouvent probablement leur compte.) Il me semblerait plus utile que les experts se réunissent pour concevoir un français avec le moins possible d’incohérences, d’ambiguïtés et d’irrégularités. Je comprends que c’est pour certains un scandale de toucher à la langue. C’est pourtant ce que font souvent ceux qui créent des langages de programmation, quand ils veulent les améliorer. Ils modifient la syntaxe, ils ajoutent du vocabulaire, font les modifications qu’ils jugent utiles. Résultat : un langage plus lisible, moins ambigu et plus cohérent.
De toute façon, si l’on ne fait rien, le français évoluera. De manière incohérente probablement, comme jusqu’à présent. Et on appellera ça notre culture.

Mais rassurez-vous, je n’ai aucunement l’intention d’imposer mes idées, et le correcteur grammatical essayera de faire respecter les règles actuelles. 🙂
Actuellement, Grammalecte est disponible pour les suites bureautiques libres (LibreOffice, Apache OpenOffice, OOo4kids et OOoLight), j’ai cru comprendre que la prochaine étape était de couper le cordon et de l’adapter pour d’autres logiciels.

Avant de répondre à cette question, une remarque sur les suites bureautiques : je ne sais pas du tout ce qui se passe du côté d’OOo4Kids et OOoLight. Je pensais que le développement de ces logiciels avait cessé. Je crois savoir qu’ils utilisent Python 2.6, et je ne fournis plus de nouvelles extensions pour cette version de Python depuis assez longtemps. C’est déjà assez contrariant de fournir une version utilisable par OpenOffice (qui n’intègre que la version 2.7 de Python). Le problème, ce n’est pas OpenOffice, c’est cette version de Python dont le module d’expressions régulières est un peu bogué, ce qui rend Grammalecte moins efficace et génère parfois des faux positifs indépendants de mon contrôle. En fait, je teste tout avec LibreOffice, puis l’extension est convertie pour OpenOffice.

Mais, oui, la prochaine étape, c’est de désimbriquer Grammalecte de l’écosystème LibreOffice/OpenOffice, notamment pour pouvoir greffer le correcteur grammatical sur Firefox et Thunderbird. Ça fait longtemps que j’y songe, mais il y a pas mal de prérequis à cela. Il faut refondre et réorganiser une très grosse partie du code, transformer toutes les données, optimiser pas mal de choses, écrire les fonctionnalités qui manqueront après s’être détaché de LibreOffice/OpenOffice, améliorer certains points de la correction grammaticale, convertir en JavaScript (le langage de programmation des navigateurs), concevoir une interface adaptée, et j’en oublie certainement. En bref, il y a des eaux tumultueuses à traverser avant de pouvoir reprendre une navigation sereine. C’est pourquoi j’ai monté une campagne de financement participatif pour pouvoir m’y consacrer sereinement.

Campagne de dons sur le site Ulule

Et tu ne comptes pas t’arrêter aux logiciels mozilliens. Quel est ton objectif ultime ?

Produire une extension pour Firefox et Thunderbird fait déjà partie de mon but « ultime », c’est déjà à mes yeux une très importante finalité en elle-même, mais en effet ce n’est pas tout.

Séparer Grammalecte de Writer a aussi pour dessein de bâtir une application autonome, un serveur capable de renvoyer les erreurs à toute autre application qui lui transmettrait du texte, ce qui permettrait à ces applications de proposer des corrections grammaticales. Charge à elles de concevoir l’interface. Après, idéalement, j’aurais aimé revoir complètement la gestion des ressources lexicales, refaire le site web du dictionnaire de fond en comble, mais ce n’est pas indispensable et ça demanderait beaucoup de travail. Alors j’ai préféré être plus raisonnable en proposant de concevoir divers outils annexes.

Parmi ceux-ci, il y a notamment un assistant pour proposer de nouveaux mots à la base de données en ligne, pour simplifier toute la procédure. Il y a aussi un outil pour détecter les répétitions et compter les mots en les regroupant par lemme. Je prévois aussi d’améliorer le « lexicographe » afin de fournir sur les mots toutes les données dans la base, comme le champ sémantique auxquels ils appartiennent, leur indice de fréquence, leur origine étymologique et toute information potentiellement utile.

En fait, toutes ces choses (les extensions, le serveur et les outils annexes) sont plus liées qu’il n’y paraît. Elles ne sont séparées dans la campagne de financement que pour que celle-ci ait plus de chances d’aboutir. La véritable finalité, c’est de bâtir un écosystème grammatical libre.

Nous pouvons donc soutenir le développement financièrement. Si certains de nos lecteurs souhaitent t’aider d’une autre manière, comment peuvent-ils faire ?

Le point sur lequel il est possible d’aider, c’est la gestion du dictionnaire qui sert de base lexicale au correcteur. Ce n’est malheureusement pas une tâche très enthousiasmante, car c’est répétitif. Mais ajouter les mots qui manquent, les étiqueter, c’est pourtant indispensable. Quand un mot n’est pas identifié, le correcteur est aveugle. Plusieurs fois, j’ai laissé le rôle d’administrateur à des personnes motivées qui ont fait du très bon boulot. Tout le monde peut participer, et si quelqu’un se sent motivé pour administrer, il suffit d’apprendre comment ça fonctionne, se faire la main sur le système et de savoir grosso modo quelle est la politique suivie.

Quant au code, je préfère travailler seul, question de tempérament, mais quand j’aurai fini la réorganisation du projet et que les tests seront mis en place pour éviter les régressions, je serai plus ouvert à la collaboration.

Traditionnellement, nous laissons le mot de la fin à l’interviewé. Y a-t-il une question que tu aurais souhaité qu’on te pose ?

On ne m’a pas encore posé de questions sur le potentiel futur du correcteur, s’il peut encore beaucoup progresser dans la détection des erreurs.

La réponse est oui, il peut encore progresser de manière significative. Il est difficile de faire des prédictions avec une grande fiabilité, mais je suis optimiste sur la distance que celui-ci peut parcourir avant d’arriver au point où il sera difficile d’améliorer les choses sans revoir de fond en comble son fonctionnement.

Pour l’instant, il existe 929 règles de contrôle (qui recherchent les erreurs) et 535 règles de transformation (qui aident les premières à s’y retrouver dans le texte). Ces règles font énormément de choses, mais je n’ai pas encore implémenté nombre de vérifications, parce que c’est parfois compliqué à faire (il faut tester, refaire, vérifier, refaire, revérifier), mais aussi parce qu’il existe nombre d’erreurs auxquelles je n’ai pas pensé. Concevoir les règles de détection, c’est parfois simple, mais ça requiert parfois aussi de l’inventivité.

Pour l’instant, j’ai assez peu travaillé sur certaines erreurs grossières, comme les confusions entre “sa” et “ça”, “on” et “ont”, “a” et “à”, etc. parce que j’en vois peu dans les textes sur LibreOffice. Ce n’est pas le genre d’erreurs qui me vient automatiquement à l’esprit. En revanche, sur le web, ces erreurs sont bien plus fréquentes, et il faudra que je veille à renforcer les contrôles sur ces confusions qui trahissent une méconnaissance assez grave de la grammaire française. Il existe bien sûr déjà des règles pour signaler ces confusions, mais c’est encore à améliorer.

Sans rien changer aux mécanismes internes, il y a encore beaucoup de choses faisables. Mais j’avance prudemment, car la difficulté ce n’est pas de trouver de nouvelles erreurs à signaler, c’est d’en détecter sans se tromper trop souvent. Comme la « devise » de Grammalecte, c’est d’éviter autant que possible les faux positifs, la montée en puissance se fait à un rythme raisonnable, afin de corriger ce qui peut l’être au fur et à mesure et d’éviter d’être submergé par des signalements intempestifs.

Par ailleurs, à l’avenir, va être mis en place un système de désambiguïsation (cf. l’article sur LinuxFR) qui va rendre l’analyse du texte plus sûre et mécaniquement augmenter le taux de détection.

Ensuite, il n’est pas exclu de créer des mécanismes plus complexes, mais c’est une autre affaire. Grammalecte n’en est pas encore arrivé à ce stade.




MyPads point de la semaine 19

img-mypads-ulule2Travaux effectués

Comme prévu, le travail a été poursuivi du côté des groupes de pads. Plus en détail :

  • la modification des groupes existants, avec la conservation du mot de passe en mode privé (pas besoin de le saisir à nouveau) ;
  • la suppression des groupes ;
  • la gestion d’étiquettes par groupe : créées et supprimées à la volée pendant la modification ou la création de groupe ;
  • un début de gestion des favoris par utilisateur avec le marquage des groupes souhaités ;
  • les tests fonctionnels allant de pair avec ces développements.

Suite

Il y aura peu d’avancées cette semaine, le programmeur étant indisponible quelques jours pour des raisons médicales. Le prochain point concernera donc la semaine 21 avec au programme la recherche par filtres, étiquettes et texte brut sur les groupes et, enfin, le début de la gestion des pads privés.

MyPads, week 19

img-mypads-ulule2

Work done

As expected, tasks have covered groups of pads management. In detail :

  • edition of existing groups, with password keeping where in private visibility (no need to fill it again);
  • group removal;
  • tags management per group : created on the fly and removed during group creation or edition;
  • beginning of bookmarks management per user with group marking;
  • functional testing around these developments.

Suite

There won’t be much progress this week because the developer is absent for a few days for medical reason. Next point will be done week 21. We expect search by filters, tags and plain text over the groups. Also, finally, private pads management start.