Quatre années après sa première publication par la DGFiP, j'ai le plaisir d'annoncer que le code source permettant de calculer l'impôt sur le revenu (IR) est finalement réutilisable !
Il nous aura fallu 1 an et demi avec mon co-auteur Raphaël Monat pour identifier ce qui manquait au code publié pour être réutilisable, et pallier à cette situation.
Désormais, grâce à notre projet Mlang, on peut simuler le calcul de l'IR sans passer par la DGFiP !
La difficulté est venu d'une contrainte de la DGFiP qui ne souhaitait pas publier, pour raisons de sécurité, une partie de la logique du calcul correspondant au mécanisme des "multiples liquidations". Raphaël et moi avons recréé cette partie non-publiée dans un nouveau DSL.
La DGFiP ne souhaitait également pas publier ses jeux de test internes. Nous avons donc procéder à la création d'un jeu de test complètement aléatoire, à partir du contenu non-publié, afin de pouvoir reproduire la validation de Mlang à l'extérieur de la DGFiP.
Un peu moins d'un an après la publication de blog.merigoux.ovh/en/2019/12/20/…, nous avons donc trouvé un compromis permettant de respecter à la fois l'obligation de publication du code source, et les contraintes de sécurité de la DGFiP.
En nous permettant d'aller sur son site d'exploitation et d'accéder de manière confidentielle au code source qu'elle ne souhaitait pas publier, la DGFiP nous a permis de trouver des solutions alternatives qui rendent concrète et opérationnelle la publication du code source.
Ce compromis permet à toute les parties de sortir par le haut, contrairement à une affaire comme celle du code source de la CNAF cada.fr/20181891 où l'administration a simplement argué d'une difficulté trop importante, et repoussé la publication aux calendes grecques.
Permettre à ceux qui demandent le code source d'aller le voir après signature d'une charte de confidentialité apparaît donc comme une solution possible lorsque la publication est délicate pour des raisons techniques. Cette piste pourrait être utile pour le rapport d'@ebothorel?
• • •
Missing some Tweet in this thread? You can try to
force a refresh