[Interview] Steeve Morin nous explique pourquoi il a mis le Code civil dans GitHub
Code is law
Le 02 avril 2015 à 13h20
11 min
Droit
Droit
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 à 3 h du matin c’était bouclé.
Le Code civil français a été le repository @github le plus suivi hier, merci citoyens https://t.co/0mZQdrb3oB pic.twitter.com/cNjY1eRSiB
— Steeve Morin (@steeve) 1 Avril 2015
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.
Le code civil sur GitHub, il fallait le faire, c'est fait https://t.co/0dnQTEQuLf poke @steeve
— Axelle Lemaire (@axellelemaire) 31 Mars 2015
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.
[Interview] Steeve Morin nous explique pourquoi il a mis le Code civil dans GitHub
-
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 ?
Commentaires (47)
Vous devez être abonné pour pouvoir commenter.
Déjà abonné ? Se connecter
Abonnez-vousLe 02/04/2015 à 13h30
C’est simplement génial !
Le 02/04/2015 à 13h31
Pas Bête du tout." />
Le 02/04/2015 à 13h32
Incroyablement simple, mais tellement utile!!
Le 02/04/2015 à 13h35
Très très intéressant! Je sens que je vais m’en servir. " />
Le 02/04/2015 à 13h38
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.
Le 02/04/2015 à 13h39
Stupéfiant ! La législation participative ? Quand on croise avec l’autre article Next INpactJe me dit que la mise en place d’une solution nationale ouverte peut être une très bonne évolution démocratique …
Le 02/04/2015 à 13h40
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 …
Le 02/04/2015 à 14h28
Normal, c’est Clay Shirky " />
Le 02/04/2015 à 14h29
Ceci explique cela :p
Le 02/04/2015 à 14h41
Heuuu…
Perso, je trouve ça encore plus imbitable que la version légifrance. " />
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…
Le 02/04/2015 à 14h56
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.
Le 02/04/2015 à 15h04
je dis juste très très très bon comme idée !
Le 02/04/2015 à 15h14
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.
Le 02/04/2015 à 15h29
agréable de relire des vrais news et interview post 1⁄04 !
Le 02/04/2015 à 15h29
http://www.lafabriquedelaloi.fr/
À regarder aussi… le processus parlementaire modélisé.
Le 02/04/2015 à 16h57
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).
Le 02/04/2015 à 17h58
Emacs.
Interface parfaite pour lire du texte législatif " />
" />
Le 02/04/2015 à 18h42
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.
Le 02/04/2015 à 18h46
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 " /> (même si je le répète je n’ai rien contre eux, bien au contraire).
Le 02/04/2015 à 18h47
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… " />
Le 02/04/2015 à 18h51
T’as un problème avec la console ? Ils ont mis des jolis couleurs ! " />
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 " />
Le 02/04/2015 à 18h53
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” " /> Surtout que les “clients” de ce genre de sujets ici savent très bien de quoi on parle ;)
Le 02/04/2015 à 19h26
Pfff : allez juste un peu d’imagination …
Un frontal sur son github (cela se trouve cela existe déjà en mode web en opensource) ????
Le 02/04/2015 à 20h06
… 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 …
Le 02/04/2015 à 20h16
Champion " />
Finalement, le Code civil, c’est une partie du code source de la France.
J’aime cette phrase " />
Le 02/04/2015 à 20h21
gné ?
Le 03/04/2015 à 06h32
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.
Le 03/04/2015 à 08h39
C’est le boulot d’une GED (Gestion Electronique de Document) çà.
Le 03/04/2015 à 16h10
Si ça facilite le fameux “choc de simplification” par la même occasion " />
Le 04/04/2015 à 06h10
Le 04/04/2015 à 06h14
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…
Le 02/04/2015 à 13h43
Vivement le code du travail (et le code de l’environnement) " />
" />" />
Le 02/04/2015 à 13h48
La prochaine étape, j’espère, ce sera une « pull request » d’un politique.
Et celle d’après c’est from scratch.
Le 02/04/2015 à 13h49
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.
Le 02/04/2015 à 13h49
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 ! " />
Le 02/04/2015 à 14h08
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 " />
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 avec l’état du réglementaire.
Mais bon c’est presque utopique, néanmoins la démonstration de Steeve est brillante ; pourvu que cela conduise l’état à réagir rapidement dans ce sens.
Le 02/04/2015 à 14h11
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.
Le 02/04/2015 à 14h18
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 !
Le 02/04/2015 à 14h18
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.
Le 02/04/2015 à 14h21
Pour info, Clark Shirky avait déjà évoqué la transposition d’outils utilisé pour gérer du code open source à la gestion d’un gouvernement.
Bravo à Steeve pour avoir concrétisé! :)
Le 02/04/2015 à 14h24
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 !
Le 02/04/2015 à 14h25
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 " />
Le 02/04/2015 à 14h27
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.
Le 02/04/2015 à 14h27
Toi, tu n’as pas lu l’article " />
Le 02/04/2015 à 14h27
Le 02/04/2015 à 14h27
C’est un très bon article." />
Le 02/04/2015 à 14h28