Git Product home page Git Product logo

france.code-civil's Introduction

Le Code civil français, sous Git

« Nul n'est censé ignorer la loi. »

Et pourtant nous autres citoyens (moi y compris) ne connaissons pas les lois qui construisent et gouvernent notre République. Peut-être parce que les outils existants sont trop opaques et complexes.

Notre République c'est un work in progress (travail en cours). Elle n'est pas fixe, elle bouge, elle évolue, grace a nos parlementaires: ceux qu'on déteste, ceux qu'on ne connait pas, et ceux qu'on aime. Mais aussi et surtout grace a nous tous, les citoyens. Pouvoir suivre son évolution, c'est une façon de nous ré-approprier ce qui fait de nous ce que nous sommes, et ne pas se perdre dans des querelles passagères.

Notre République est la représentation de nous tous, a nous d'y contribuer a la hauteur de nos compétences.

Aux armes, citoyens.

Git ?

Ce petit hack, résultat d'une après-midi de code, transpose le Code civil sous Git/Github.

Si l'on considère les lois comme un ensemble de textes modifiés par les différentes assemblées de l'Etat, on peut les considérer comme un ensemble de fichiers texte créé de manière collaborative.

Les membres du gouvernement, et des différentes assemblées, travaillent en collaboration sur ces fichiers, qui, une fois votés, sont inscrits dans le Code (ici Code civil).

Mais il y a une autre catégorie de gens qui, depuis plus de 50 ans, travaillent sur des fichiers texte de façon collaborative, et excellent à cela : les développeurs. Ils ont créé des outils extrêmement efficaces de collaboration et de tracking pour travailler sur du code source. Le plus populaire en date étant Git.

Git permet non seulement de visionner les sources à un instant T (snapshot), mais surtout de visualiser facilement les changements dans ces sources (commits). Dans l'analogie du Code civil, cela permet de repérer très rapidement les changements apportés par une loi.

Combinons tout cela à la philosophie Open Source, et la seconde partie de l'analogie est faite : modification de code source de façon ouverte et publique.

Finalement, le Code civil, c'est une partie du code source de la France. Et le code source, ça va sur un source control. Point.

Exemple

Voici par exemple le commit qui autorise le mariage pour tous : b805ecf05a86162d149d3d182e04074ecf72c066

C'est quand même plus lisible que, par exemple (cf http://www.assemblee-nationale.fr/14/ta/ta0120.asp) :

À l’article 165 du même code, le mot : « devant » est remplacé par les mots : « lors d’une cérémonie républicaine par ».

Note technique

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.

LICENCE

Tous les fichiers sont sous licence Creative Commons.

france.code-civil's People

Contributors

kcchouette avatar steeve avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

france.code-civil's Issues

Some commits combine two different laws

e.g.

commit e57b0ad
Author: République Française [email protected]
Date: Thu Jan 1 01:01:49 1970 +0100

Créé par Loi 1804-01-31 promulguée le 10 février 1804 Modifié par Loi n°67-1253 du 30 décembre 1967 - art. 35 JORF 3 janvier 1968 rectificatif JORF 12 janvier 1968

Shouldn't we get two separate commits for this, one for the creation and one for the modification?

git blame

Super projet !

Une autre information intéressante serait d'associer les noms des auteurs aux commits, histoire d'avoir facilement une vue d'ensemble des modifications apportées par une personne au code civil.

Bon, je ne sais pas trop comment ces documents sont rédigés, mais je suppose qu'il doit au moins y avoir des groupes de travail, non ?

Si c'est le cas, les noms des auteurs pourraient apparaitre dans le message du commit, ca ferait un premier moyen de recherche.

Weird first commits

Looking at the first commit in the repository (7da16c9) there is just one file named "Article 102".
This is weird. I doubt the code started with an article numbered 102...

Even if I look at a later commit such as 3071c31 there is "Livre Ier/Titre Ier bis" but no "Livre Ier/Titre Ier"

Maybe Legifrance doesn't track renames correctly?

Static website

Je me suis amusé à faire un site statique lisant le contenu du repo. Il est accessible à cette adresse : http://codecivil.bytevortex.net/#/

Pour l'instant, il n'y a que la lecture de l'arbre, mais je compte bien ajouter des fonctionnalités supplémentaires comme les dernières modifications apportées au Code Civil à travers des commits, liste de lecture, champ de recherche etc.

Si vous avez des remarques et autres suggestions, n'hésitez pas ! :)

Opensource the scraper used to generate this repo

Hi @steeve,
Thanks for this awesome work. As a developer, I feel like the Code civil is really more accessible to me now.
Although, I couldn't find anywhere the tool you used to create this repo (not in the README, in your repos, ...), I think this should be the cornerstone of this project because it generates the whole thing. You have to trust it if you want to trust the text you're reading here.
Maybe I just didn't see it, in that case, feel free to close this issue.

"Nul n'est censé ignorer la loi."

README.md : "Nul n'est censé ignorer la loi."
A titre informatif cette phrase ne signifie pas que tout citoyen doit connaitre toutes les lois.

Pourquoi avoir choisi de "hard-wrapper" le texte ?

Cela provoque des "diff" plus longs que nécessaire, comme par exemple pour le fichier Livre III/Titre VIII/Article 1728.md dans dfd5918. On a un diff qui prend trois lignes quand seule l'expression "en bon père de famille" a été remplacée par "raisonnablement". Cela uniquement dû au hard-wrapping.

Ouvert au monde ?

Je trouve l'idée excellente !

Mais n'est-ce pas étrange de rendre collaboratif le code civil français au monde entier ?

Code source du projet

Il serait intéressant d'avoir le code source du projet pour faire un fork. Car actuellement il n'y a pas eu de mise à jour depuis 2 ans et il n'y a que les textes dans le git.

Ou du moins d'indiquer dans le readme comment les commits ont été généré pour passer les main aux autres dev.

Merci !

Missing changes!

Cool project!

A small issue, that might hide a bigger problem:

The example in the README claims commit b805ecf05a86162d149d3d182e04074ecf72c066 corresponds to this, however the change in "Article 143" is missing in the commit.

It seems the change is missing because the initial import already contains the full text according to the history of Article 143.md

Est-ce que ce repo est toujours à jour ?

Je vois que la date de la dernière modification date d'il y a 2 ans. Est-ce que ce repo est toujours maintenu ?
Ça m'attriste, je trouvais ça une excellente initiative.

Code de génération du code civil ?

Un peu meta comme demande mais ça serait intéressant d'avoir le code qui a permis de générer les fichiers/commits, voir si c'est reproductible pour d'autres usages et si c'est automatisable pour rester à jour :)

Description des Livres/Titres

Bonjour !
Il serait peut-être intéressant d'ajouter un README dans chaque Livre / Titre avec la description correspondante. Par exemple, pour le Titre préliminaire : "De la publication, des effets et de l'application des lois en général".

La Fabrique de la Loi

Je trouve l'idée très bonne de versionner le code civil.
Il y a un projet avec une approche similaire de compréhension de l'évolution de la loi: La Fabrique de la Loi . Il serait peut-être intéressant de s'approcher de ce projet. Je les trouve complémentaire.

Normalisation des messages de commit

Modifié par Ordonnance n°2014-326 du 12 mars 2014 - art. 100

Modifié par ORDONNANCE n°2014-792 du 10 juillet 2014 - art. 3

Serait-il possible de normaliser les messages de commits afin que “l'auteur” soit toujours en minuscules ou en majuscules mais pas une fois l'un, une fois l'autre ?

Licence / domaine public

Je ne comprends pas l'intérêt de mettre une licence creative commons sur quelque chose qui est du domaine public.

Suivre les projets de lois & amendements dans des branches

Les commits suivent actuellement les lois une fois votées. Mais le principe de patchs sur la loi colle également très bien à un autre concept du processus législatif: les débats parlementaires. Je pense que chaque projet de loi devrait créer une branche depuis master (qui représente les lois en vigueur), et chaque amendement devrait créer une branche depuis le projet de loi. Un amendement voté est un merge de l'amendement dans la branche. Une loi votée est un merge de la branche du projet de loi dans master.

Submodule for each code (civil, pénal, etc.)

It would be interesting and more broad audience to have one repository including, as submodules, all the others. I guess it could be a pain for non-tech people to either know all the links or struggle to find them on GitHub.
On the opposite, it would be more efficient for public announcement to have one known link.
What do you think?

Crawler mon bô crawler ^^

Salut tout le monde,
super initiative :), d'ailleurs on pourrait avoir des branches pour les discussions en cours qui une fois choisie sont mergé sur le master :).

Plus sérieusement, serait-il possible d'avoir accès au Crawler? je ne pense pas qu'il soit bien compliqué mais surtout cela permettrait à tout le monde de pouvoir le vérifier et ainsi s'assurer qu'il n'y a pas de biais voir s'il est possible de l'améliorer. On parle de loi et aujourd'hui ce projet intéresse beaucoup les g33ks avec le cerveau branché sur github ^^. Mais d'autres personnes pourraient être intéressé et il pourrait par exemple y avoir des services autour de ce repository, mais il est nécessaire de "valider" le crawler.

Voiloù ;)

Publier le code du scraper

Hello,

dans un but de partage et d'amélioration (code du travail, de la route, des assurances, code général des impots, etc) je pense qu'il serait bien de publier le scraper.

A+

A quand le code du travail ?

Avez-vous déjà eu l'idée de faire ce que tu as fait avec le code civil mais avec le code du travail? Si c'était envisageable j'aimerais apporter de l'aide !

nom des lois

On pourrait mettre les noms des lois dans le nom des commits ca serait plus lisible parce qu'actuellement on voit qu'est ce qui a été modifé mais on ne sait pas ce que ca concerne.
La plupart des gens ne regarderont pas l'arborescence mais se tiendront au courant des derniers commits

Comment suivre le détails des modifs via RSS ?

Merci pour le projet, très sympa.

Par contre, le flux RSS de github ne permet de ne voir que le titre du commit (soit un numéro de loi dont je n'ai aucune idée du sujet !!!), le contenu du RSS est juste un rappel du titre. Une idée de comment on peut voir le détails des modifs en RSS ?
Ou sinon, qu'il y ai au moins le sujet de la loi dans le titre du commit !

Merci d'avance
Vincent

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.