[Interview] Steeve Morin nous explique pourquoi il a mis le Code civil dans GitHub

[Interview] Steeve Morin nous explique pourquoi il a mis le Code civil dans GitHub

Code is law

Avatar de l'auteur
Guénaël Pépin

Publié dans

Droit

02/04/2015 11 minutes
47

[Interview] Steeve Morin nous explique pourquoi il a mis le Code civil dans GitHub

Mardi, un internaute a mis en ligne l’intégralité du Code civil dans un dépôt GitHub. L’initiative permet d’avoir un historique complet et lisible des modifications de la législation, comme s’il s’agissait de code informatique, avec l’idée de la rendre plus accessible. Nous avons discuté avec Steeve Morin, à l’origine de ce projet, sur sa méthode et ses motivations.

Et si nos lois pouvaient être traitées comme du code informatique ? L'idée n'est pas nouvelle, puisqu'elle avait déjà été prophétisée notamment par Clay Shirky lors d'une conférence TED diffusée en juin 2012 (voir ci-dessous). Un allemand avait d'ailleurs déjà mis en place un dépôt GitHub qui allait dans ce sens quelques mois plus tard.

De son côté, Steeve Morin a décidé de mettre en ligne mardi le Code civil sur GitHub, extrait à partir du site Legifrance. Désormais, l’ensemble de ses articles sont lisibles comme du code, avec la possibilité de comparer les différentes versions depuis Napoléon. Le Code pénal et le Code de procédure pénale ont suivi hier. S'il connaissait l'initiative allemande, il nous a indiqué ne pas s'en être inspiré directement. Il a néanmoins exploité l'idée de l'un de ses amis d'utiliser le service de partage de code source pour retracer sa vie, en antidatant les publications.

Concrètement, ce travail permet de discerner facilement les conséquences de chaque loi sur nos codes. Notre interlocuteur prend pour exemple la loi sur le mariage pour tous, dont les changements sont listés clairement en une page dans le dépôt GitHub. Une forme plus claire que les pages de projet de loi sur les sites officiels. L’initiative a fait le tour de Twitter, étant même remarquée par la secrétaire d’État au numérique, Axelle Lemaire.

Ancien patron de start-up, Steeve Morin est devenu consultant « en innovation » pour d’autres entreprises, les aidant autant sur les produits, la gestion que le développement. Il contribue également à des projets libres, comme le plugin BitTorrent Pulsar pour le lecteur multimédia Kodi. Pour lui, ce type d’initiative peut vraiment modifier notre rapport à la loi, en la démystifiant. Nous avons voulu en savoir plus.

Comment vous y êtes-vous pris exactement pour transposer ces textes de Legifrance à GitHub ?

J’y ai passé l’après-midi de lundi et une petite soirée. J’ai codé un script qui récupère les documents sur Legifrance. Un autre script récupère les données en local et les publie sur GitHub. Mardi à 3h du matin c’était bouclé.

Je pensais que Legifrance me mettrait sur liste noire, mais pas du tout. Je ne vais pas dire que je l’ai épargné, même si j’aurais pu « tartiner » beaucoup plus. Je n’ai pas créé de requête pour être le plus rapide possible par exemple, ça s’est fait une connexion à la fois, je n’ai pas parallélisé. Les scripts ont mis 10 minutes pour récupérer le Code civil, 15 minutes pour le Code pénal.

Pourquoi avoir décidé de mettre des textes de lois sur une plateforme de code informatique ?

Ça fait un moment que ça me trotte dans la tête. Ma copine est juriste, j’ai regardé un peu par-dessus son épaule le fonctionnement des documents, des contrats, etc. En les lisant, je me suis rendu compte que les documents légaux étaient du code source ! Ce que je fais avec du Go, du Python, ils le font avec du français.

Nous les geeks, vu qu’on maitrise bien l’informatique, on a créé des outils très efficaces pour travailler de manière asynchrone, parfois décentralisée. L’analogie avec le code légal était trop forte. Je voulais attendre un hackaton pour le faire. Mardi, j’ai rendu une release plus tôt que prévu, donc je m’y suis mis.

Quand tu parcours du code source, quand tu vois le code, c’est difficile à lire. C’est plus facile une fois que tu vois les commit [les modifications successives du code]. C’est bien plus simple de l’aborder comme une succession de changements. Ça m’intéresse de savoir quand les lois ont été changées et comment. Legifrance fournit un instantané des codes et Git [le système sur lequel repose GitHub] est très bon pour faire le suivi des changements. Je peux donc suivre dans Git les changements dans la loi.

Qu’est-ce que ce projet vous apporte ?

J’avais pris en exemple le mariage pour tous. Ça a été des mois de débats, d’allers retours, de manifestations, de sittings, un truc colossal... Dans la loi, c’est à 90 % trois mots changés pour « ou de même sexe » ou « parents » dans différents articles. Tu te rends compte que ces trois mots ont un impact fou sur la vie de tout le monde.

En tant que citoyen j’ai l’impression de comprendre. C’est ce que les gens m’ont dit, c’est quelque chose auquel ils ne pensaient pas. La république n’est pas une grosse machine qui se nourrit des larmes des enfants, c’est quelque chose qui change de telle ou telle manière. Quand tu prends le Code civil en un bloc, c’est décourageant. Une fois découpé, on se rend compte que ce sont des préceptes et des principes formalisés qui font consensus. C’est très fort d’en prendre conscience, je pense.

Je peux voir le code du pays qui m’entoure, y compris pour pouvoir l’améliorer s’il y a quelque chose qui ne me plait pas ! On m’a envoyé des commits sur le Code civil à propos d’articles des années 40, où on dit que l’homme est le maitre du foyer. Ils demandaient : « Et mai 68 ça sert à quoi ? ». Quelque part, ça fait plaisir. Quelqu’un a aussi pointé des amendements qui n’ont rien à voir avec la loi dans laquelle ils sont insérés.

On n’est tout de même pas à l’abri d’un bug. Il y a le numéro de la loi, les gens peuvent vérifier. Je ne suis pas Legifrance, je n’ai pas de prétention d’autorité.

Qu’est-ce qui vous y a amené ?

Les geeks ont un sens du bien commun développé. C’est la philosophie open source par exemple. J’ai toujours eu envie de faire quelque chose qui serve, comme beaucoup de développeurs. Quand un bon développeur travaille pour l’État, on se dit qu’on y gagne tous, parce que le bien commun y gagne.

C’est un hack marrant. Mais j’ai toujours eu cette envie que l’état connaisse GitHub, connaisse Markdown... Ma copine écrit des documents légaux sous Word, avec « contrat_v1 », « contrat_v2 », « contrat_v3 », avec des mails dans tous les sens. Ils se rendent ensuite compte qu’il y a un problème, avec telle personne en vacances... Il faut décorréler le contenu et la forme.

Quelles sont les convictions qui animent ce type d’initiative ?

J’aime entre autres l’idée de décentraliser les systèmes, pour obtenir un système qui n’est pas corruptible, dont chaque nœud est redondant avec les autres. Il est viable, vertueux par nature. C’est un processus global. Bitcoin, BitTorrent, DHT [table de hachage distribuée] ne sont pas attaquables car décentralisés.

La République parlementaire est une forme de décentralisation, avec des députés de chaque coin de la France, contrairement à la monarchie qui centralise le pouvoir en une personne. Bien sûr il y a un nombre fini de députés, mais c’est une autre question.

Je n’ai pas la prétention d’écrire une constitution. L’idée est de pouvoir donner aux gens les moyens de décentraliser le débat, sur la création et la décentralisation de la loi. Aujourd’hui, si on croit qu’il y a un débat, il n’est pas avec le public. Il y a bien les manifestations, mais ça revient à une guerre des chiffres. J’aimerais qu’on arrête d’écouter le discours, le fantasme, pouvoir dire aux gens « Voyez, le mariage pour tous, c’est trois mots modifiés dans la loi ».

Quelle forme concrète cela pourrait-il prendre ?

Imagine que la loi Macron soit une « pull request » [un changement poussé publiquement dans la loi, commentable par d’autres]. Ou alors que le gouvernement ait un dépôt « /gouvernement/github » sur lequel ils travaillent au quotidien. Un outil vraiment réel auquel on ait tous accès. Contrairement au débat télévisé, il est asynchrone, textuel et public.

Tu recentres les débats sur les faits et non plus sur le fantasme, au lieu du débat TV où on a trois minutes pour convaincre. Là, si tu dis n’importe quoi, il y a le côté public. Vu que c’est asynchrone et textuel, c’est sourcé, avec étude à l’appui par exemple. Ce sont des choses qui comptent pour moi, en tant que citoyen et geek. Quand tu modifies mal du code, les gens te le font remarquer.

Si les modifications dans la loi étaient des « pull requests », ça donne au citoyen une fenêtre sur les décisions. Je n’aurais pas à suivre tous les débats, à lire les rapports de centaines de pages... Là, je le visualise sous la forme que je vois tous les jours. Par exemple, je peux voir un changement, me demander pourquoi et constater dans la presse qu’ils ont eu une réunion avec les partenaires sociaux. Git gère des choses infiniment plus complexes que le code civil, comme le noyau Linux qui fait des millions de lignes.

Pour l’instant, c’est la version actuelle des codes qui sont sur GitHub. Avez-vous prévu de suivre les changements à venir ?

Il va falloir que je m’y mette, il y a une demande. Ça deviendra quelque chose d’utilisable surtout quand ça suivra les changements sur Legifrance. L’important, c’est de pouvoir dire « Regarde ce commit qui change tel élément de loi ».

J’étais fasciné, halluciné. Des gens ont découvert des amendements cachés, perdus ! Je vais monter un dépôt /france avec tous les codes, les changements. On revient à l’essentiel, les faits. Le plus important est de réussir à apprivoiser l’idée, de rendre ça transparent. Les points se relient entre eux après je pense. Ma copine veut que je fasse le code des marchés publics, vu que c’est ce sur quoi elle travaille.

Y a-t-il eu beaucoup de retours depuis la mise en ligne ?

Un ami vient de montrer le Code pénal sur GitHub à son beau-frère policier, il trouve ça super pratique ! Ça n’arrête pas depuis hier. Ce qui m’a fait vraiment plaisir, c’est que le civisme marche, que ça rassemble tout le monde. Les quelques commentaires négatifs que j’ai eu, c’est que « Legifrance le fait déjà », dans une marée de soutiens. On a l’impression que la politique divise les gens, qu’il n’y a pas un débat très sain.

C’est une philosophie apolitique, qui appelle à décentraliser le débat. Du coup, elle résonne avec beaucoup de gens. C’était le dépôt GitHub qui a fait le plus d’abonnements mardi. Il y a déjà 73 forks [versions dérivées]. En voyant des gens qui me pointent des erreurs dans le code, tu as un sentiment de pouvoir. Je ne veux pas que ça devienne un bon souvenir, mais que ça devienne un peu plus grand. C’est vraiment plaisant et c’est tout ce que je retiens. Il faut que les institutions reconnaissent ça, pas pour que GitHub remplace Legifrance, mais qu’ils laissent au moins faire, à défaut de le torpiller.

La prochaine étape, j’espère, ce sera une « pull request » d’un politique. Si tu veux envoyer un message aux geeks, c’est idéal. Imagine qu’Emmanuel Macron en fasse une, ou Taubira sur le Code pénal !

Merci Steeve Morin.

Écrit par Guénaël Pépin

Tiens, en parlant de ça :

Sommaire de l'article

Introduction

Comment vous y êtes-vous pris exactement pour transposer ces textes de Legifrance à GitHub ?

Pourquoi avoir décidé de mettre des textes de lois sur une plateforme de code informatique ?

Qu’est-ce que ce projet vous apporte ?

Qu’est-ce qui vous y a amené ?

Quelles sont les convictions qui animent ce type d’initiative ?

Quelle forme concrète cela pourrait-il prendre ?

Pour l’instant, c’est la version actuelle des codes qui sont sur GitHub. Avez-vous prévu de suivre les changements à venir ?

Y a-t-il eu beaucoup de retours depuis la mise en ligne ?

Le brief de ce matin n'est pas encore là

Partez acheter vos croissants
Et faites chauffer votre bouilloire,
Le brief arrive dans un instant,
Tout frais du matin, gardez espoir.

Fermer

Commentaires (47)


C’est simplement génial !


Pas Bête du tout.<img data-src=" />


Incroyablement simple, mais tellement utile!!


Très très intéressant! Je sens que je vais m’en servir.&nbsp;<img data-src=" />


Les amendements qui n’ont rien à voir avec la loi, c’est classique: ça s’appelle un cavalier législatif. Très pratique pour faire passer des mesures en douce, genre au milieu d’une loi technique sur la pêche… Bon, en principe c’est interdit, mais ça n’empêche que ça existe.&nbsp;


Stupéfiant ! La législation participative ? Quand on croise avec l’autre article http://www.nextinpact.com/news/93605-comment-l-etat-s-est-ouvert-a-l-open-source-avec-openfisca-et-mes-aides.htm

Je me dit&nbsp;que la mise en place d’une solution nationale ouverte peut être une très bonne&nbsp;évolution démocratique …


Ca parait tellement naturel qu’on se demande pourquoi ça n’a pas été fait avant… Il faudrait vraiment pas que ça devienne un vieux souvenir, comme il dit …


Vivement le code du travail (et le code de l’environnement) <img data-src=" />

<img data-src=" /><img data-src=" />




La prochaine étape, j’espère, ce sera une « pull request » d’un politique.



Et celle d’après c’est from scratch.


Génial :) Par contre, ce serait bien de distinguer Git et Github, parce que bien que Github soit la plateforme la plus populaire (et c’est mérité), n’importe quelle personne qualifiée peut héberger un dépôt Git en ligne ou localement.


J’adorerais voir les députés vraiment utiliser un outil semblable, avec les des pull requests que presque tout le monde puisse consulter et commenter. Je pense qu’on aurait un débat plus sain et plus fluide.



Sinon, félicitations !&nbsp;<img data-src=" />


Ce qui est incompréhensible eu égard aux ressources nécessaires pour faire ce travail c’est que ce ne soit pas déjà en place sur Legifrance <img data-src=" />

Autre truc pas stupide à faire au niveau du processus de législation c’est dès lors qu’il est fait référence à un décret/arrêté dans un texte (projet/proposition de loi ou amendement), c’est de lui attribuer un numéro unique même s’il n’est pas promulgué ou si l’amendement est repoussé.

De cette façon la lecture d’une disposition législative serait beaucoup plus facile en pouvant faire le lien immédiatement&nbsp; avec l’état du réglementaire.



Mais bon c’est presque utopique, néanmoins la démonstration de&nbsp; Steeve est brillante ; pourvu que cela conduise l’état à réagir rapidement dans ce sens.


C’est assez intriguant. Je me demande si ça peut être utile professionnellement parlant. Il ne m’arrive pas souvent de jongler avec les versions d’un même texte mais je demande à voir.



Bonne initiative.


C’est vraiment une idée géniale! Hâte de voir la suite, avec si possible la mise à jour auto du dépôt en fonction des changements de ces codes !


Il dit ne pas aimer cette remarque, mais c’est pourtant vrai que toutes ces informations (code actuel et modifications passées) sont déjà sur Légifrance. D’ailleurs c’est bien là qu’il les a trouvées…

Simplement elles sont organisées différement, accessible à partir de chaque article et non pas regroupées par loi modificative.


Pour info, Clark Shirky avait déjà évoqué la transposition d’outils utilisé pour gérer du code open source à la gestion&nbsp; d’un gouvernement.

Bravo à Steeve pour avoir concrétisé! :)


Versionner le code sur Git, c’est aussi le rendre lisible et compréhensible a autre chose qu’une élite et donc priver d’une partie de ses pouvoir abusif un gouvernement déjà trop bien loti en la matière…



J’applaudie !


C’est pas comme si c’était indiqué dans le premier paragraphe de l’actu et que la vidéo de la conférence TED est intégrée hein <img data-src=" />


TOTALEMENT.



Une idée simple, des conséquences INCALCULABLE.



Merci Steeve.



bon là :

“La République parlementaire est une forme de décentralisation, avec des députés de chaque coin de la France, contrairement à la monarchie qui centralise le pouvoir en une personne. Bien sûr il y a un nombre fini de députés, mais c’est une autre question.”



Mouaih .



Et puis sur le fonds le mariage pour tous … bien sure que si c’est justement trois mots qui ont tout changé : dans 50 ans on en reparlera, j’en suis sure. C’est mon avis.


Toi, tu n’as pas lu l’article <img data-src=" />








David_L a écrit :



C’est pas comme si c’était indiqué dans le premier paragraphe de l’actu et que la vidéo de la conférence TED est intégrée hein <img data-src=" />











Brouck a écrit :



Toi, tu n’as pas lu l’article <img data-src=" />






 Arf lecture du chapeau en diagonale et vidéo bloquée par le proxy du taf, my bad <img data-src=">  



(j’avais fait un ctrl + F avec Clark Shirky mais visiblement ça n’a pas suffit <img data-src=" /> )



C’est un très bon article.<img data-src=" />








Sheepux a écrit :



Stupéfiant ! La législation participative ? Quand on croise avec l’autre article http://www.nextinpact.com/news/93605-comment-l-etat-s-est-ouvert-a-l-open-source-avec-openfisca-et-mes-aides.htm

Je me dit&nbsp;que la mise en place d’une solution nationale ouverte peut être une très bonne&nbsp;évolution démocratique …





+1, les propositions faites directement par &nbsp;les citoyens, et validées ensuite si elles sont pertinentes.

Bon après c’est un peu le bordel si 3 000 000 de personnes s’y mettent, mais au moins ça pourrait faire avancer des choses…



Normal, c’est Clay Shirky <img data-src=" />


Ceci explique cela :p


Heuuu…

Perso, je trouve ça encore plus imbitable que la version légifrance. <img data-src=" />



On passe d’une version “juridique” à une version “codeur informatique”, c’est franchement pas mieux.

La présentation, l’ergonomie, l’arborescence des fichiers font que c’est encore plus illisible que sur le site de légifrance.



Tu recherches un texte, un mot clé, une modification particulière, c’est pas avec ce github que t’es prêt de la trouver. Avec ça, tu peux certes faire mumuse, procrastiner mais ça n’a rien d’utile ni de fonctionnel dans la travail de tous les jours.



C’est marrant mais j’ai l’impression de faire les mêmes remarques que je faisais au temps des premiers linux.

Ça avait beau être “super puissant”, c’était juste inutilisable par le commun des mortels.

J’ai l’impression que l’histoire ne cesse de se répéter encore et encore et encore…


GitHub sert pour la publication, pas tellement pour la consultation.

Il faut juste imaginer un outil de visualisation plus adapté, ce qui n’est pas si compliqué !



Après l’intérêt évident c’est le diff, on peut facilement voir les modifications apportées par chaque loi. Pour la lecture de la dernière version en date, je ne pense pas que ça soit effectivement plus simple.


je dis juste très très très bon comme idée !


C’est tellement évident qu’on se demande comment personne n’y a pensé plus tôt ! Comme toutes les idées géniales, je suppose.


agréable de relire des vrais news et interview post 104 !


http://www.lafabriquedelaloi.fr/



À regarder aussi… le processus parlementaire modélisé.


Non mais on sait faire la différence entre Git et GitHub hein. Après, la tout le projet est géré et diffusé via GitHub, je ne vois pas pourquoi on devrait évoquer Git (Puis après tout si quelqu’un veut récupérer via SVN,il peut hein).


Emacs.



Interface parfaite pour lire du texte législatif <img data-src=" />



<img data-src=" />


Un détail amusant:





Les dates Git étant basées sur l’epoch Unix (01/01/1970), les changements avant cette date sont tous datés au 01/01/1970, avec secondes incrémentales; Le message du commit donne la vraie date.





Je n’aurais pas pensé que Git avait cette limitation.


Je me doute bien que vous le savez, mais je ne sais pas si c’est le cas de l’ensemble de votre lectorat.



C’est peut-être moi, mais j’ai un peu suivi la communication autour de cette excellente initiative, et j’avais le sentiment que GitHub était présenté comme si c’était ce qui permettait ce genre de publication. “Grâce à GitHub on peut suivre les différences entre chaque modification, le Parlement pourrait utiliser GitHub”.



Ce qui est vrai, mais réducteur. Après, si les plus curieux verront de quoi il retourne et seront agréablement surpris de ne pas être nécessairement lié à GitHub <img data-src=" /> (même si je le répète je n’ai rien contre eux, bien au contraire).


Comme tu dis, c’est vrai. Après tu peux effectivement te taper les diffs via git et ta console après avoir récupéré le dépôt en local, m’enfin comment te dire… <img data-src=" />&nbsp;


T’as un problème avec la console ? Ils ont mis des jolis couleurs ! <img data-src=" />



Bon sinon y’a BitBucket, GitLab et d’autres moins connus qui proposent ce genre d’interface. Bref, je pense qu’on s’est compris <img data-src=" />


Oui, c’est juste que je nous voyais mal rajouter “mais vous pouvez aussi le faire sur Gitlab si ça vous amuse parce que Git is freedom mes frères” <img data-src=" /> Surtout que les “clients” de ce genre de sujets ici savent très bien de quoi on parle ;)


Pfff : allez juste un peu d’imagination …



Un frontal sur son github (cela se trouve cela existe déjà en mode web en opensource) ????


… sur la loi macron : mais là moi je sais qu’il y a une phrase qui a été changé et qui change beaucoup de chose pour le code du travail , prud’homme tout ça …


Champion <img data-src=" />





Finalement, le Code civil, c’est une partie du code source de la France.





J’aime cette phrase <img data-src=" />


gné ?


Ben c’est ce que je dis, avec un outil de visionnage de dépôt git plus adapté, ça pourrait tout à fait le faire.


C’est le boulot d’une GED (Gestion Electronique de Document) çà.


Si ça facilite le fameux “choc de simplification” par la même occasion <img data-src=" />








David_L a écrit :



Oui, c’est juste que je nous voyais mal rajouter “mais vous pouvez aussi le faire sur Gitlab si ça vous amuse parce que Git is freedom mes frères” <img data-src=" /> Surtout que les “clients” de ce genre de sujets ici savent très bien de quoi on parle ;)





Euuuhhhhh…. Non, pas tous.

On peut être très intéressé par le code info, en faire un peu soi même dans son coin, mais ne jamais avoir utilisé SVN ou git même si on sait en gros ce que c’est et comment ca marche; mais ne pas être dev et ne pas avoir l’habitude d’utiliser ces outils, etc.

Je le précise parce que c’est mon cas, dès que je m’intéresse à regarder du code des softs que j’aime bien, même si c’est très logique, on s’y perd rapidement, ou plutôt on a du mal à trouver facilement ce qu’on y cherche. C’est AMHA une habitude à prendre, qui ne se prend que quand on le fait souvent.



Ce genre d’initiative est assez sympa, et a vocation a devenir un peu plus universelle que de rester dans le milieu des geeks / codeurs, et AMHA vocation aussi à être utilisée de manière ponctuelle sur des sujets très précis. Une interface claire pour les diffs, immediatement accessible à tous et clairement user friendly, ce ne serait vraiment pas du luxe et ca rendrait de grands services…



Sinon j’aurais apprécié une petite analyse à décharge mais aussi à charge de l’outil.



C’est très bien, vu rapidement et en première analyse. Mais ca comporte surement des effets secondaires un peu moins réjouissants, ou disons des “biais”, comme tout outil. C’est dommage de ne pas y reflechir en première instance.



L’avis d’un juriste ici (ou de plusieurs), pas trop geek quand même (ou disons : pas très technique) serait intéressante…