Le citoyen qui réclamait depuis près de deux ans que le fisc lui communique le code source de son logiciel de calcul de l’impôt sur les revenus a finalement obtenu gain de cause devant la justice. Le ministère des Finances a décidé de mettre en ligne ce fichier à compter du 1er avril.
Espérons qu’il ne s’agisse pas d’un poisson d’avril ! La mission Etalab, l’organisme gouvernemental en charge de l’ouverture des données publiques, a annoncé aujourd’hui que la Direction générale des finances publiques (DGFiP) allait – enfin – mettre à la disposition de tous le code source de son calculateur d’impôts : « Acte de transparence et de gouvernement ouvert, cette ouverture permettra d’expliciter les modalités de calcul des impôts, dans l’esprit de l’article 2 du projet de loi numérique. Elle est aussi un gage d’innovation car de nouveaux usages pourraient en découler, à l’image du micro-simulateur ouvert OpenFisca, que ce code enrichira. »
Ce que l’exécutif oublie de dire, c’est que la libération de ce fichier fait suite à un bras de fer d’un an et huit mois entre Bercy et un citoyen qui réclamait la communication de ce document administratif – sur la base de la loi « CADA » de 1978... L’intéressé a d’ailleurs raconté son parcours d’obstacles dans un récent billet (voir ici). Le dénouement fut heureux, puisque la DGFiP a décidé fin janvier de lui transmettre le fameux code source. Quelques jours plus tard, le 18 février, la justice administrative confirmait symboliquement que la décision implicite de rejet opposée jusqu’ici par le fisc était illégale. Le ministère des Finances et des comptes publics fut officiellement enjoint à communiquer « le code source en cause, dans sa version la plus récente », sous deux mois.
Un code source qui sera ouvert lors d’un hackathon #CodeImpot
La mission Etalab indique que « ce code source sera présenté dans sa version 2014 », c’est-à-dire celle « qui a permis de calculer le montant d’imposition de 37 millions de foyers fiscaux » (uniquement des personnes). « Développé par la DGFiP dans un langage dédié, le langage M », ce fichier sera en outre transformé en vue d’un hackathon « en arbre syntaxique abstrait qui sert de base à une compilation en langage Python ». Ces deux déclinaisons seront mises à la disposition du public lors de cet événement de deux jours, qui aura lieu le vendredi 1er et le samedi 2 avril à la fondation Mozilla (16 bis Boulevard Montmartre, à Paris).
Ce cas assez emblématique pourrait dorénavant faire tache d’huile, incitant d’autres citoyens à réclamer l’ouverture de code source de logiciels développés par l’administration. Ce mouvement devrait d’ailleurs être amplifié par le projet de loi numérique d’Axelle Lemaire. Suite aux débats à l’Assemblée nationale, le texte vient tout d’abord confirmer la jurisprudence de la Commission d’accès aux documents administratifs en gravant dans le marbre que les « codes sources » doivent être considérés comme des fichiers communicables par principe au citoyen, sur demande. Deuxièmement, les députés ont souhaité – contre l’avis du gouvernement – que les administrations soient tenues de mettre systématiquement en ligne « les règles définissant les principaux traitements algorithmiques » utilisés afin de prendre des décisions individuelles (prestations sociales, impôts, affectations...). Restera maintenant à voir si ces dispositions sont maintenues en l’état jusqu’à l’adoption définitive du projet de loi Lemaire.
Commentaires (63)
#1
Ils ont le sens de l’humour, le 1er avril….
#2
heuu ça sent la carpe d’avril ça " />
#3
« Développé par la DGFiP dans un langage dédié, le langage M », ce fichier sera en outre transformé en vue d’un hackathon « en arbre syntaxique abstrait qui sert de base à une compilation en langage Python ».
Même dans le code on sent la lourdeur de l’administration française… pourquoi faire simple quand on peut faire compliquer.
#4
On pourra faire un fork ?
#5
pensais que c’était un langage créer pour l’occasion, mais non, c’est un langage fait pour de la modélisation en utilisant du texte :
The Microsoft code name “M” Modeling Language, hereinafter referred to as M, is a language for modeling domains using text. A domain is any collection of related concepts or objects. Modeling domain consists of selecting certain characteristics to include in the model and implicitly excluding others deemed irrelevant. Modeling using text has some advantages and disadvantages over modeling using other media such as diagrams or clay. A goal of the M language is to exploit these advantages and mitigate the disadvantages.
Comme quoi, on en apprends tous les jours
#6
if \(revenu >= 1 ; then
ir\_annuel = \)salaire_mensuel ;
fi
" />
Ne me remerciez pas, je laisse le code sous GPL v2… " />
#7
Est-ce qu’il y a un rapport avec le fait que cette année la feuille d’imposition (enfin, le pdf) sera immédiatement disponible après avoir remplis la déclaration, au lieu de plusieurs mois après ? Il est tentant de voir un lien de cause à effet.
#8
le sous titre " />
#9
D’un langage propriétaire, ils mettent à disposition leur code dans un format compilable via un langage standard.
" />
#10
Ah ben en fait c’est pas propriétaire (merci @jaffalibre). Mais visiblement, pas très connu " />
#11
+1
#12
Espérons qu’ils ne découvrent pas un bug majeur montrant des erreurs de calcul…
#13
#14
#15
j’espere qu’il y aura un commentaire
//fonction dédiée pour Mr
//fonction pour entuber des gens qui savent pas regarder les détails
//personne ne comprends ce bout de code donc ne pas toucher (it’s magic)
#16
pas besoin d’IHM, pense qu’il dois y avoir des sorties standard qui dois écrire dans un fichier texte qui sera reparser par une autre applis derriere qui remplira la fiche final (enfin je vois ca comme ca, les mec qui ont pondu les algo ne savent pas coder dans des langage objet et ils ont choisis cette option qui est la plus naturel pour eux car langage proche d’un algo fait par des mathématicien)
edit: l’algo en lui même est écrit en M apparament tu peux aussi faire des calculs
#17
Franchement le sous-titre, fallait oser, mais ça passe! ^^ " />
#18
Moi je dis bravo à ce citoyen tenace. Il a réussit.
#19
#JeSuisCarbalas" />
" />
#20
y’en a qui vont avoir un coup de stress dans les prochains jours " />
#21
J’ai bossé dans un truc proche, en quelque sorte pour l’administration française. Et ils utilisaient Jrules, un moteur de règles. Donc on écrivait les règles en français, par dessus un modèle JAVA. En théorie, oui, ceux qui n’y connaissent rien en dev peuvent modifier les règles avec ce système et nous on devrait modifier uniquement le côté java et la surcouche de trad java/français. Mais en réalité ce n’était jamais le cas. Donc on faisait tout, on générait des “paquets de règles jrules” (ruleset si ma mémoire est bonne). Après t’as plus qu’à brancher ce ruleset à ton serveur, t’envoie tes paramètres en entrée et tu récupère les autre en sortie (enfin je simplifie).
Donc c’est très lourd pour faire des contrôles donnés (entre dev l’ihm, le côté serveur, les paquets de règles etc). Par contre, quand vous avez des règles très complexes, ça devient vraiment pratique. On peut créer les règles en graph/tableau/phrases etc, vraiment très lisible, même si il y a du turnover dans ceux qui doivent gérer la maintenance.
#22
Le rapport que je vois, c’est la publication du code source -> le citoyen peut contrôler directement comment est calculé son impôt à partir des chiffres qu’il déclare, et du coup autant publier directement l’avis d’imposition immédiatement après la déclaration, puisque le citoyen connait la formule, autant lui donner directement le résultat définitif. Auparavant on lui donnait une estimation de l’impôt à payer, qui n’avait pas de valeur autre qu’indicative, maintenant on lui donne directement l’impôt définitif sans changement possible par l’administration fiscale.
#23
Ça peut leu couter cher cette année car si il y a des erreurs de calcule et il va surement y en avoir. Les règles sont particulièrement nombreuses et parfois compliqués et je ne connais pas un informaticien qui code sans Bug ;)
Si les erreurs sont à l’avantage de l’administration ils devront rembourser les gens en plus de passer pour des escrocs. Si les erreurs sont à l’avantage des gens, ils pourront surement rien faire cette année et passeront pour des cons. Mais au moins l’année prochaine çà rapportera de l’argent.
C’est juste un mauvais moment à passer et ça rend l’imposition beaucoup plus transparente.
#24
cet argument n’était plus valable à partir des impots 2016 sur les revenus 2015, publication du code source ou pas :https://www.nextinpact.com/news/98953-impot-2016-avis-dimposition-immediatement-…
avec l’avis d’impot disponible tout de suite après la déclaration, le chiffre donné après la déclaration est forcément le chiffre définitif.
#25
Je ne connais pas le soft, mais après recherche je pense que c’est plutôt ce langage là : https://en.wikipedia.org/wiki/MUMPS
#26
oui, c’est vrai, c’est pas impossible que ça tourne au vinaigre pour le fisc, ce truc " />
#27
Lois de finance 2026, autoriser la fusion de la branche #3255 avec la branche principale du moteur d’imposition.
#28
Ben… c’est justement ce que je dis, la déclaration d ‘impot 2016 sur les revenus 2015 semble coïncider pile poil avec le moment ou l’etat publie le code source du calcul de l’impot. Les deux arrivent en avril 2015.
Les années précédentes le contribuable n’avait ni le code source, ni l’avis d’imposition définitif immédiatement après la déclaration. Du coup je ne vois pas trop ce que tu penses contredire :)
#29
désolé, j’ai loupé ton commentaire précédent, et vu seulement celui auquel j’ai répondu en fait " />
et du coup, je n’avais pas percuté que tu avais déjà fait le lien " />
#30
La prochaine étape est d’avoir accès aux données anonymisées. On pourra
alors voir dans quelles proportions les règles s’appliquent et combien
elle coutent ou rapportent. Le type de population impacté etc…
#31
#32
#33
ddfip ;)
Tu as :
DG-Fip
DR-Fip
DD-Fip
:)
#34
#35
À partir du moment où tu rentres dans la tranche à 40%, ça grimpe vite, donc le x2 n’est pas déconnant !
Disons que si tu touches 50k€ brut, soit 40k net (3300€ mensuel), ça donne 36k après abbatement des 10%. Tu prends à la louche 9k à 30%, soit 2700€ rien que sur cette tranche. Sur les précédentes, tu as 2400€ d’impôt. Soit un total de 5100€, environ 1,5 fois le salaire mensuel net…
#36
Pour relativiser :
Paliers au Québec
Salaire moyen
Donc pour 50K\( Brut : 37% d'impôts sur le revenu. Pas mal plus que x2 mois.
En plus, ce n'est pas progressif : quand on franchi un palier, c'est le total brut qui est imposé, pas la partie qui franchi le palier.
Exemple pour 50K\)
Calcul à la française : 28.525x42390 + 32.525x(45282-42391) + 37.118x(50000-45283)=\(14766.64
Calcul à la canadienne : 37.118x50000=\)18559
#37
#38
ça inclus les impots locaux + taxe d’habitation ?
D’autant plus que j’ai jamais vu du progressif dans les calculs français .. les palier j’ai l’impression que c’est un mythe en France
#39
Oui c’est très certainement ce langage M là et pas celui de Microsoft comme proposé plus haut. Celui de Microsoft n’est jamais vraiment sorti et à été finalement transformé puis renommé en Power Query.
De plus, le MUMPS est d’après Wikipedia largement utilisé dans des applications financières.
#40
Il manque des zéros ou autre chose dans tes calculs, sinon, je suppose que ta calculette bugge sévèrement.
#41
#42
perso. : j’y crois pas = fake !!! " />" />" />
#43
Ca sert plus à rien, Hollande a promis la retenue à la source.
#44
#45
#46
Non ce n’est pas le langage M de modélisation de Microsoft, c’est bien un langage dédié.
#47
#48
ah ? j’ai pas lu une seul ligne de code donc je sais pas. Aurais tu des précisions à apporter ?
#49
#50
#51
Non, c’est juste l’IR (on paie au Provincial=National et au Fédéral=Européen)
#52
Exemple pour 50K\(
Calcul à la française : 28.525%x42390 + 32.525%x(45282-42391) + 37.118%x(50000-45283)=\)14766.64
Calcul à la canadienne : 37.118%x50000=$18559
" />
#53
J’espère qu’ils ont pris le temps de corriger les éventuelles erreurs sinon il y aura un retour de baton monstrueux. Sinon dans l’absolu c’est une bonne chose.
#54
#55
Ça paraît complètement absurde. Tu es vraiment certain de cet effet “palier” ?
Pour le calcul en France, cette page simple : http://www.leparticulier.fr/jcms/c_57196/impot-sur-le-revenu-formule-de-calcul
Le résultat est une ligne brisée mais continue, avec une pente plus marquée à chaque palier, les 2 formules autour de chaque palier donne la même valeur bien sûr (ici par exemple pour 26 791) :
De 9 700 à 26 79114%(R x 0,14) - (1358 x N)De 26 791 à 71 82630%(R x 0,3) - (5644,56 x N)
Autre façon de calculer (moins immédiate) :http://www.impots.gouv.fr/portal/dgi/public/popup?espId=0&typePage=cpr02…
#56
Je la refais pour le tableau (R=Revenu, N=Nombre de part) :
#57
#58
#59
" /> je paye pour le moment pas d’impot, donc je m’étonnais que ce soit inclus dans les deux (pas fait le calcul)
#60
là…je comprends mieux ! " />
#61
14% !
#62
aaah merci ça change tout ! " />
En fait j’avais rien compris.
#63