Pôle emploi nous ouvre le code source de son calculateur d’allocations chômage

Pôle emploi nous ouvre le code source de son calculateur d’allocations chômage

Du grand ARE

Avatar de l'auteur
Xavier Berne

Publié dans

Droit

09/04/2018 3 minutes
85

Pôle emploi nous ouvre le code source de son calculateur d’allocations chômage

Suite à une demande « CADA » de Next INpact, Pôle emploi vient d’ouvrir le code source de son calculateur d’allocations d’aide au retour à l’emploi (ARE).

Après les Allocations familiales, c’est au tour de Pôle emploi de se plier aux nouvelles exigences posées par la loi pour une République numérique de 2016. Désormais, les codes sources détenus ou produits par les administrations sont expressément considérés comme des « documents administratifs », dès lors communicables par principe au citoyen qui en fait la demande (voir notre guide pratique, pour ceux qui voudraient tenter l'aventure).

Fin janvier, afin de voir comment les acteurs publics appliquaient ces nouvelles dispositions, nous avons demandé à l’établissement public de nous transmettre le code source du logiciel utilisé pour calculer l’aide au retour à l’emploi – l’une des principales prestations versées aux chômeurs.

Après un peu plus de deux mois d’attente, Pôle emploi nous a envoyé par mail différents fichiers, en langage Java et Cobol, ainsi que la « liste des données utilisées » pour ce code source. Pris dans son ensemble, ce programme informatique est censé « déterminer le montant, la durée et le point de départ de l’allocation versée, sous certaines conditions, aux personnes inscrites comme demandeurs d'emploi ».

Un code source également mis en ligne par Pôle emploi

L’opérateur public a par ailleurs très rapidement appliqué une autre obligation, introduite également par la loi Numérique : la mise en Open Data « par défaut » de ce code source. Ce dernier est désormais proposé au téléchargement sur le site Internet de Pôle emploi, mais également au travers du portail « data.gouv.fr ». Un lien GitHub devrait prochainement suivre.

Les informations contenues dans ces fichiers « peuvent être utilisées par toute personne qui le souhaite à d'autres fins que celles de la mission de service public pour les besoins de laquelle [elles] ont été produit[e]s ou reçu[e]s ». Autrement dit, chacun peut les réutiliser librement – à condition néanmoins de respecter la licence CeCILL-C (avec obligation de réciprocité) qui encadre ce code source.

Libre maintenant à la société civile de s’emparer de ces données publiques, pour d'éventuelles vérifications entre modalités de calcul et réglementation en vigueur, etc. N’hésitez d'ailleurs pas à revenir vers nous si vous dénichiez des éléments intéressants au milieu de ces nombreuses lignes de code...

Dernière chose : la loi Numérique prévoit que les « versions mises à jour » de ce code source soient également mises en ligne, à l’avenir.

La semaine dernière, l’Agence nationale de la sécurité des systèmes d’information (ANSSI) a annoncé qu’elle ouvrirait le code source de « CLIP OS », son système d’exploitation sécurisé. Sans toutefois s’avancer sur la moindre date.

Écrit par Xavier Berne

Tiens, en parlant de ça :

Sommaire de l'article

Introduction

Un code source également mis en ligne par Pôle emploi

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.

Commentaires (85)


Bien bien :) tout doucement les choses bougent !

J’attend que les “experts” jettent un oeil et nous disent si Stéphanie de Monaco à aussi travaillé sur le code de Pole Emploi ^^


N’hésitez d’ailleurs pas à revenir vers nous si vous dénichiez des éléments intéressants au milieu de ces nombreuses lignes de code…



Il y a eu des retours sur le logiciel de la CAF ? Quelqu’un en a fait quelque chose ou vous allez le publier dans le magazine papier afin que cela serve enfin à quelque chose ?


Fred42: t’attends quoi exactement de nextinpact ? Qu’ils annalysent le code ou qu’ils financent un audit du code ? D’après ce que j’en comprends nextinpact est un site d’informations et non une boîte de dev.


facile !

 

Global \(emploi = 0

Global \)
chomeur = 3 700 000 000



Do

         \(action = Random ( 0, 1, 1 )

         if \)
action = 0 then _Stage()

         if \(action = 1 then \_Radiation()           

Until \)
emploi = 0



Func _Stage()

         _AnnonceGouvernementaleduMoisProchain (\(chomeur)

Endfunc



Func \_Radiation()

         \_AnnonceGouvernementaleduMoisProchain (\)
chomeur)

Endfunc



Func _AnnonceGouvernementaleduMoisProchain (\(chomeur)

        \)
chomeur = $chomeur - 1

Endfunc








crocodudule a écrit :



Global $chomeur = 3 700 000 000



 

Je sais qu’ils sont nombreux, mais peut-être pas autant <img data-src=" />



J’attends qu’ils laissent les personnes vraiment intéressés par le code le demander.



On a bien compris que cela était possible, on n’est pas plus cons qu’eux, donc, si on veut le code, on le demandera nous-mêmes, non ?



Ce genre d’article qui plaît beaucoup aux fans de NXI, commence à me hérisser, ça fait j’ai trouvé une combine pour faire des articles et je l’applique à fond :

demande CADA

demande de code source, qui n’est qu’une variante du précédent, d’ailleurs.



Je ne considère pas ces articles comme de l’information.








Jarodd a écrit :



&nbsp;

Je sais qu’ils sont nombreux, mais peut-être pas autant <img data-src=" />





Les algos sont pas neutres c’est du prédictif ^^









Jarodd a écrit :



Je sais qu’ils sont nombreux, mais peut-être pas autant <img data-src=" />





“La France n’a pas vocation à accueillir toute la misère du monde mais elle en prendra sa part” <img data-src=" />

50% de la population mondiale, ça fait pas mal quand même, comme part <img data-src=" />







crocodudule a écrit :



Les algos sont pas neutres c’est du prédictif ^^





donc sensible à Spectre/Meltdown ?



C’est du java, ça a l’air plutôt lisible. <img data-src=" />



public void controlerInvestigationFrauduleuse(DomLiquidationDemande dom)&nbsp; {&nbsp;&nbsp; DemandeAssuranceSpec demande = (DemandeAssuranceSpec)dom.getDemandeSpec();&nbsp;&nbsp;&nbsp; ContexteService contexteService = dom.getContexteService();&nbsp;&nbsp;&nbsp; if ((demande.getDossierExamen() instanceof OdAssuranceSpec))&nbsp;&nbsp;&nbsp; {fr.unedic.cali.asu.dom.AttributionAssuranceSpec attribution = (fr.unedic.cali.asu.dom.AttributionAssuranceSpec)demande.getDossierExamen();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (attribution.isInvestigationFraude()) {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OutilFluxSillage.declarerDemandeIF(contexteService, attribution.getDateAttribution(), demande.getFormulaire().getReferenceExterne());&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp;&nbsp; }&nbsp; }








crocodudule a écrit :



facile !

 

 

Until \(emploi = 0





Until \)
chomeur = 0



Sinon, ça s’arrête tout de suite.









fred42 a écrit :



Until $chomeur = 0



Sinon, ça s’arrête tout de suite.





Oui pas con ^^



Euh c’est normal qu’on trouve des outils/fonctions qui semblent avoir été codés spécifiquement pour des boites ? (Genre un GAEC qui a fondu les plombs en mars 2018 ? )



Xavier, je crois qu’il faut trier le ficher code ^^


Pull Request by EmmanuelMacron

Files changed: 1



File: calcul_allocation.cpp



// retourne le montant de l’allocation




  • return allocation;

  • return allocation/10;

    }




Les programmes politique d’aide à l’emploi depuis… toujours ? Résumé en 4 lignes de codes :p



Tu as oublié un truc cependant :&nbsp;



while chomeur.toucheSesARE() {



&nbsp; &nbsp; &nbsp;chomeur.envoyerOffrePourrieAvecObligationDeReponseParLettreSimple()

&nbsp; &nbsp; &nbsp;chomeur.inscrireAAtelierMoisiObligatoireSansNotifierDesChangementsHoraire()

&nbsp; &nbsp; &nbsp;chomeur.prendreRendezVousSansLeNotifierToutCourt()



}

&nbsp;


Suis-je seul à trouver que l’extraction du code COBOL a été faite à l’arrache?








PsychoQuark a écrit :



Suis-je seul à trouver que l’extraction du code COBOL a été faite à l’arrache?





On dit conformément à la norme ISO-1664!



Au prix où sont payés les Cobolistes, on leur a demandé de faire vite, surtout que le demandeur n’y verra que du feu.


Du Java, Ah, c’est donc pour ça que le traitement des dossiers est aussi lent <img data-src=" />


@PsychoQuark : ils ne se sont surtout pas embêtés : c’est la log d’un listing sur un 3270. En gros, ils capturent l’écran et ils font défiler le code source avec page-down …

C’est pour ça qu’on voit les en-tête de l’éditeur …



Pour le code java, ils sont viré tous les commentaires (le code livré est du code décompilé, pas l’original sorti du SCM)








Kevsler a écrit :



Les programmes politique d’aide à l’emploi depuis… toujours ? Résumé en 4 lignes de codes :p



Tu as oublié un truc cependant :&nbsp;



while chomeur.toucheSesARE() {



&nbsp; &nbsp; &nbsp;chomeur.envoyerOffrePourrieAvecObligationDeReponseParLettreSimple()

&nbsp; &nbsp; &nbsp;chomeur.inscrireAAtelierMoisiObligatoireSansNotifierDesChangementsHoraire()

&nbsp; &nbsp; &nbsp;chomeur.prendreRendezVousSansLeNotifierToutCourt()



}

&nbsp;





Oui mais j’ai décompilé que la beta, dans la version définitive y a plus d’options possibles, mais le réacteur de algorithme reste le même: \(chomeur = \)chomeur - 1



On peut considérer que c’est une sous-routine de _Radiation() <img data-src=" />


+1

De la même façon que l’engouement pour les décisions de justice en open date.

Ça fait des masses importantes de données, mais en l’absence de traitement derrière, l’intérêt est pas évident.








blob741 a écrit :



+1

De la même façon que l’engouement pour les décisions de justice en open date.

Ça fait des masses importantes de données, mais en l’absence de traitement derrière, l’intérêt est pas évident.





Surtout, comme je l’ai déjà dit sur une autre news, lorsqu’on découvre que la décision publiée a été totalement remaniée dans sa motivation par rapport à la décision réellement rendue ^^



Non, il s’agit du code intermédiaire généré juste avant l’assemblage. Les lignes qui se répétent indiquent le compilateur utilisé, c’était utilisé lorsqu’on imprimait telles quelles les pages comme entête de page.


Bonjour,

Ce n’est pas le code source. C’est une version décompilée du code source (signature jd-core).

Ce n’est pas du tout la même chose.

Une version décompilée n’est qu’une approximation du code source, issue du processus de décompilation.

La décompilation d’un code source ne garantit pas la restitution exacte de ce fameux code source.

Ce n’est qu’une forme déduite de la version source à partir du pseudo-code Java et expurgée de ses commentaires.

Un code source sans les commentaires, c’est un peu comme une boite de pièces détachées sans le mode d’assemblage.

Les commentaires constitue le liant dans la logique d’un code et font partie intégrante du code source.

Même si le nom des composants semblent plus clair qu’avec du COBOL, ça ne constitue nullement une recette de cuisine complète.

Sans les commentaires, le temps de retro ingénierie est beaucoup plus long, voire source d’erreurs.

La CADA pour les codes sources, c’est l’administration qui se moque de ses administrés et qui les méprise.

S’ils vous avaient envoyé les fichiers .class (les version compilées), on aurait été autant avancés.


J’attends l’extraction d’une demande CADA avec autre chose que du cobol/java histoire de rigoler un peu. <img data-src=" />


Ce n’est pas gentil de casser le moral de Xavier qui était tout content de nous montrer sa victoire sur l’Administration, qui en fin de compte s’est bien moquée de lui. <img data-src=" />


J’ajoute une précision : le cobol ici est du généré pacbase.



Faites vous plaisir pour la rétrodoc. <img data-src=" /> Encore que le programme n’est pas très gros.


Ils nous font le coup à chaque fois. Quand ce ne sont pas des sources décompilées, c’est une réécriture fantasque à base de PL/SQL.



Quel est l’intérêt du gouvernement à ouvertement se foutre de nous et ne pas publier le vrai code source des outils que nous avons financé ?


Peut-être qu’un jour je saurai pourquoi une fois ils m’ont versé des indemnités négatives. La somme était correcte, mais il y avait juste un petit “moins” devant <img data-src=" />. Ils ont fini par corriger (après m’avoir envoyé des lettres de recouvrement), mais je n’ai jamais eu d’explication.








psikobare a écrit :



Quel est l’intérêt du gouvernement à ouvertement se foutre de nous et ne pas publier le vrai code source des outils que nous avons financé ?







Manque de moyens (financiers, humains, temps, autre) pour réaliser proprement la demande ?



On ne peut pas sabrer les moyens de la fonction publique et de l’administration en permanence et lui demander d’effectuer plus de taches. Mécaniquement, à un moment, y’a des choses qui passeront à la trappe ou seront bâclées.









psikobare a écrit :



Quel est l’intérêt du gouvernement à ouvertement se foutre de nous et ne pas publier le vrai code source des outils que nous avons financé ?



D’une part, je ne vois pas ce que le gouvernement a à voir dans cette histoire.

&nbsp;Tu confonds administration et gouvernement.



D’autre part, l’administration ne se moque de personne, c’est juste qu’il faut comprendre ce qu’on demande…

Je cite NXI: “La loi CADA (pour «&nbsp;Commission d’accès aux documents administratifs&nbsp;»)”

on fait une demande pour un document administratif, certainement pas pour un code source.



Il est totalement légitime pour l’administration d’envoyer le code post-compilation (honnêtement, je suis surpris que ce ne soient pas les .class qui aient été envoyés ici), puisque c’est ça le véritable “document administratif”, et non pas le workspace de dév.



NXI vend comme une superbe avancée de tordre le principe de la loi CADA pour en sortir des codes sources.

A malin, malin et demi…

&nbsp;



Le Cobol généré par Pacbase reste encore assez ‘propre’ et lisible (linéarité et modularité …).



Le jour où ils livreront un Cobol généré par CoolGen, vous verrez la différence !


Tu crois vraiment que la demande est remontée au gouvernement qui a dit : “donnez leur la version décompilée, on va se moquer de NXI et de leurs demandes répétées” ?


Libérer le code source serait plus coûteux que de le réécrire en PL/SQL (comme pour APB) ?



Soit ils ont des choses à cacher, soit ils ont juste honte.








fred42 a écrit :



J’attends qu’ils laissent les personnes vraiment intéressés par le code le demander.



NxI était intéressé, ils ont fait la demande.



Il est où le problème?





fred42 a écrit :



On a bien compris que cela était possible, on n’est pas plus cons qu’eux, donc, si on veut le code, on le demandera nous-mêmes, non ?



Vu qu’il a déjà été demandé, tu n’as plus besoin de le redemander.

Pratique, ça t’a fait gagner plusieurs mois.

&nbsp;





fred42 a écrit :



Ce genre d’article qui plaît beaucoup aux fans de NXI, commence à me hérisser, ça fait j’ai trouvé une combine pour faire des articles et je l’applique à fond :

demande CADA

demande de code source, qui n’est qu’une variante du précédent, d’ailleurs.



Je ne considère pas ces articles comme de l’information.





Si pour toi, le code source du calculateur d’alloc de pole emploi n’est pas une info, faudra m’expliquer ce qui en est une.

D’ailleurs, est-ce que tu as déjà trouvé cette info ailleurs sinon?



Quant à prétendre que la demande CADA de ce code source a abouti au même résultat que celle des délibérations&nbsp;&nbsp; commission copie privée (par exemple) ou autre, c’est un peu&nbsp; de la mauvaise foi.

C’est un peu comme prétendre qu’une 4L c’est la même chose qu’un TGV parce qu’ils utilisent tous les deux&nbsp; de l’acier à la base.



Après si ça t’intéresse pas, personne ne t’oblige à lire.



slashdotted…








psikobare a écrit :



Libérer le code source serait plus coûteux que de le réécrire en PL/SQL (comme pour APB) ?



Soit ils ont des choses à cacher, soit ils ont juste honte.





Je pense qu’ils ont tellement honte du code qu’ils préfèrent le cacher.





Faith a écrit :



Je cite NXI: “La loi CADA (pour «&nbsp;Commission d’accès aux documents administratifs&nbsp;»)”

on fait une demande pour un document administratif, certainement pas pour un code source.





Le code source établi par l’administration EST un document administratif&nbsp; (un coup de main?).



Attention à ne pas rester enfermer dans sa vision très restrictive des termes employés.&nbsp;

&nbsp;



Peux-tu attester qu’il s’agit de code réécrit volontairement dans le but de cacher quelque chose ? Les accusations balancées sans preuves ça n’aide pas à faire avancer le débat.



Dans tous les cas, les seuls documents réellement utiles et intéressants, ce sont les spécifications détaillées utilisées pour implémenter la spécification fonctionnelle (soit les textes de loi qui définissent et réglementent l’assurance chômage dans le cas présent).

Le code source, ça sert à rien de rien sans de tels documents.



Quand j’ai un doute sur ce que fait un programme livré par un éditeur, oui je peux ouvrir le code quand c’est pas du compilé (genre PL/SQL, etc) et essayer de comprendre… Ou alors je demande à l’éditeur la documentation ou la spec.



De la même manière que le précédent article à ce sujet, vous avez les sous titres sans le film. Bravo.



Bref, si j’apprécie l’engagement de la rédaction de ce site sur certains sujets, faites-le intelligemment svp. Demandez-des documents réellement utiles (spécifications techniques, documents métier, etc) en plus des codes sources. Ces documents existent forcément, les développeurs n’ont pas eu Legifrance comme spec.

En l’état votre démarche n’a strictement aucun intérêt.


Je comprends ton “demande CADA / code source / article” mais :

&nbsp;

NextInpact est un site d’informations.

Ils publient un article annonçant la libération du code source de tel système (ici du calculateur d’allocations chômage) et la disponibilité de celui-ci ici et là.



C’est de l’information, ne t’en déplaise.



Pour ma part je n’aurai pas été au courant je pense si je ne l’avais pas lu ici. Après ça me sera pas forcément utile ça… Et je ne pense pas être uniquement dans cette situation.








js2082 a écrit :



Si pour toi, le code source du calculateur d’alloc de pole emploi n’est pas une info, faudra m’expliquer ce qui en est une.





Pour le calcul des allocations, il s’agit de règles de gestions plutôt simples et surtout toutes recensées. Avec un peu de patience, quelqu’un de consciencieux doit pouvoir refaire le calcul de sa situation. Pas besoin du code source, il y a probablement déjà des simulateurs qui permettent de calculer les droits que l’on va obtenir à partir de notre situation lors de l’arrêt du travail ou de la perte d’emploi.



Je considère qu’il s’agit ici juste de ballons d’essai pour déterminer ce qui est important dans ces demandes d’information et que l’objectif est d’obtenir les informations concernant le calcul des impôts locaux par exemple. Et encore ce sera la récupération des données en entrée de “l’algorithme” (hum la valeur locative ? <img data-src=" />) qui sera la partie la plus difficile puisque là il s’agira de comparer sa situation avec le voisin pour voir si l’un est avantagé ou l’autre est lésé et il n’y aura pas que des heureux.



Edith : correction pour précision.









psikobare a écrit :



Ils nous font le coup à chaque fois. Quand ce ne sont pas des sources décompilées, c’est une réécriture fantasque à base de PL/SQL.



Quel est l’intérêt du gouvernement à ouvertement se foutre de nous et ne pas publier le vrai code source des outils que nous avons financé ?





Car trois associations, un journal (NX) et une douzaine de personne sont capables de voir que derrière la com il n’y a rien et que les codes sources communiqués sont du vent ?



Si par malchance un jour le sujet semble préoccuper un cercle plus large, il suffira:




  1. de prétendre qu’il s’agit de gens politisés issus de la gauche radicale (ça fait toujours peur le dernier mot). Si c’est pas suffisant;

  2. tu annonces que tu vas faire une Loi (de préférence avec des types qui n’y connaissent rien). Et si ça moufte encore;

  3. tu laisses fuiter un truc gros bill qui passera jamais mais qui crispe tout le monde, puis tu annonces qu’après une phase de “concertation” (qui n’a existé que dans l’annonce faite aux matinales sur les radios), le truc grosbill n’a jamais été envisagé et qu’il s’agit d’approximation de passéistes, là où le gouvernement est à l’écoute de tous.



    Tu peux finir en disant que le gouvernement est à l’avant-garde pour soutenir les premiers de cordée. Ca veut rien dire mais Macron trouve que ça boucle bien ^^









js2082 a écrit :



Le code source établi par l’administration EST un document administratif&nbsp; (un coup de main?).





Ca, c’est ce que disent ceux qui ne connaissent pas grand chose à l’informatique.

&nbsp;

Le document administratif est “l’ensemble des opérations appliquées aux données de l’utilisateur”.

Cet ensemble est en fait le code compilé du plus bas niveau, pas le code source.



Le code source est un niveau d’abstraction trop haut pour répondre à la demande CADA, sinon les spécifications techniques, voir fonctionnelles (et donc en fait, les règles légales accessibles à tous) seraient aussi une réponse adéquate.









Zekka a écrit :



NextInpact est un site d’informations.

Ils publient un article annonçant la libération du code source de tel système (ici du calculateur d’allocations chômage) et la disponibilité de celui-ci ici et là.





Si c’est ce que tu as retenu des articles de NXI, c’est qu’ils ne font pas de l’information, mais de la désinformation.

Le code source n’a pas été libéré, et n’a aucune raison de l’être.



D’une part, il ne s’agit pas d’une libération, mais d’une diffusion.

D’autre part, il ne s’agit pas du code source mais de l’ensemble des opérations effectuées sur les données d’une personne.

&nbsp;



Pour la partie Java, c’est quand même globalement le code source…

Le plus embêtant, ça n’est pas le manque de commentaires, mais le fait que les “specs” (en l’occurence, les lois et autres accords Unedic je suppose, qui ont dû être converties en specs pour les développeurs) soient complexes…mais rien d’impossible pour quelqu’un de motivé.

Ce que je trouve marrant, c’est le mélange de conventions de nommage tirées de l’anglais avec une terminologie française…“isEnErreur” <img data-src=" />

&nbsp;

Pour le cobol par contre, j’y connais rien mais ça ressemble un peu à du foutage de gueule…


pour les sceptiques de ton genre je sors toujours l’histoire du laser :

1916 principe par albert einstein

1953 premier laser a gaz



citation de l’inventeur/créateur de l’époque : il s’agit d’une invention qui ne sert a rien. mais la théorie est validé.

&nbsp;

et oui qu’elle intérêt d’avoir de la lumière cohérente je vous le dis monsieur, je ne te fait pas la morale sur les avancé en médecine, industrie etc … que cela a permis de nos jours (près de 70 ans après)&nbsp; cette invention qui ne sert a rien, mais rome ne c’est pas faite en un jour, hein !



peut etre que dans 70 ans le logiciel sera porté en python sait t’on jamais.


heu la licence cecill ? pas libre ? sans licence c’est du domaine du droit d’auteur, toute reproduction est de la contrefaçon.&nbsp; Il ya des outils microsoft publier sur github qui ne sont pas libre.



&nbsp;publier /= licence libre.



etonné qu’en 2018 avec toutes les cluf que tu as probablement accepté, et aussi les GPL, tu biaises ton point de vue a ce point.


Sortir toujours la même histoire quel que soit le contexte n’est pas une preuve d’un jugement pertinent. Il faudrait plutôt réfléchir et sortir une histoire en rapport avec le contexte.



Nulle invention ici, on parle juste d’un logiciel qui a été fourni sous une forme peu appropriée. Mais ce n’est pas bien grave, comme le demandeur ne voulait rien en faire, ça ne va pas lui nuire.


Il n’a pas dit que la licence CeCILL-C n’était pas libre, elle l’est en effet.



Il a dit que le code n’a pas été libéré mais diffusé. Dans l’état actuel de nos informations sur ce code, il a raison.








psikobare a écrit :



Ils nous font le coup à chaque fois. Quand ce ne sont pas des sources décompilées, c’est une réécriture fantasque à base de PL/SQL.



Quel est l’intérêt du gouvernement à ouvertement se foutre de nous et ne pas publier le vrai code source des outils que nous avons financé ?





Le jour où certains feront une différence entre administration et gouvernement on aura déjà fait un grand pas <img data-src=" />







sscrit a écrit :



pour les sceptiques de ton genre je sors toujours l’histoire du laser :

1916 principe par albert einstein

1953 premier laser a gaz



citation de l’inventeur/créateur de l’époque : il s’agit d’une invention qui ne sert a rien. mais la théorie est validé.





Tu y crois vraiment ?

Comparer une invention avec un code dont les specs peuvent être remises à plat à chaque nouvelle législation ?

Je suis prêt à parier que le temps que quelqu’un se penche un peu sérieusement sur ce code et réussit à l’appréhender dans la globalité, il sera déjà obsolète.



Tant que la misère du monde vote socialiste (ils sont redevables) c’est bon, on peut tous les accueillir. On les mettras dans des quartiers pourris loin de nos hôtel particulier.








127.0.0.1 a écrit :



Pull Request by EmmanuelMacron

Files changed: 1



File: calcul_allocation.cpp



// retourne le montant de l’allocation




  • return allocation;

  • return allocation/10;

    }

    <img data-src=" />





    &nbsp;









Faith a écrit :



Ca, c’est ce que disent ceux qui ne connaissent pas grand chose à l’informatique.

&nbsp;

Le document administratif est “l’ensemble des opérations appliquées aux données de l’utilisateur”.

Cet ensemble est en fait le code compilé du plus bas niveau, pas le code source.



Le code source est un niveau d’abstraction trop haut pour répondre à la demande CADA, sinon les spécifications techniques, voir fonctionnelles (et donc en fait, les règles légales accessibles à tous) seraient aussi une réponse adéquate.





Non, tu as une interprétation beaucoup trop restreinte du document administratif.



Il faut s’en tenir à la définition juridique et non à ta définition “informatique”, basée sur tes préjugés et sur ta conception de la chose.



Et cette définition, c’est l’article L.300-2 du Code des relations entre le public et l’administration&nbsp; qui la donne.

D’ailleurs, il est bien évoqué le code source comme document administratif.



Et oui, les spécifications techniques et fonctionnelles peuvent aussi en faire partie, du moment que ça rentre dans le cadre dudit article.









js2082 a écrit :



D’ailleurs, il est bien évoqué le code source comme document administratif.&nbsp;



&nbsp;

Et je répète que “le code source” a tellement de sens qu’il permet parfaitement de renvoyer du code précompilé. &nbsp;

Un texte de loi qui utilise un mot technique dans une liste est sûr de tomber à coté, mais ici, nous sommes entre amateurs d’informatique, tout le monde doit bien comprendre que “code source” est un terme particulièrement flou !

&nbsp;

Petit exemple, présent dans n’importe quel service informatique: pour développer mon appli, j’utilise un IDE graphique payant, où je peux faire du drag&drop de composants, les relier pour indiquer les transferts à réaliser, etc. Cet IDE stocke ces informations sous forme de “projet” (au format privé), et génère un code illisible et impossible à maintenir manuellement.&nbsp;

Qu’est-ce que le code source ? Que dois-je transmettre en cas de demande CADA ?



Réponse : article L.300-4 du Code des relations entre le public et l’administration&nbsp; :



“Toute mise à disposition effectuée sous forme électronique en

application du présent livre se fait dans un standard ouvert, aisément

réutilisable et exploitable par un système de traitement automatisé.”



Dans ton cas, le format privé et le code illisible constituent des manquements clairs à la loi. L’IDE graphique et le format devront être fourni/ ouvert.








Faith a écrit :



&nbsp;

tout le monde doit bien comprendre que “code source” est un terme particulièrement flou !&nbsp;







Euh… non ? “Code”, “source”. C’est le code à la source du logiciel exploité en production. Pas compilé, ni pré-compilé. Le code source, quoi. Ce sur quoi bossent les gens qui développent l’application qui va bien. Tout le monde comprend bien ce que cela veut dire.



Dans ton exemple il n’y a donc pas de code source. Mais tu peux fournir les spécifications, ton projet, une licence de ton IDE. Mais du coup… Peut-on garantir que l’usage de ta suite logicielle propriétaire convienne aux problématiques de transparence du moment ? Apparemment non.

&nbsp;







&nbsp;









js2082 a écrit :



Réponse : article L.300-4 du Code des relations entre le public et l’administration&nbsp; :



“Toute mise à disposition effectuée sous forme électronique en

application du présent livre se fait dans un standard ouvert, aisément

réutilisable et exploitable par un système de traitement automatisé.”



Dans ton cas, le format privé et le code illisible constituent des manquements clairs à la loi. L’IDE graphique et le format devront être fourni/ ouvert.





Le code illisible ne l’est que parce qu’il est complexe.&nbsp; La loi n’écrit pas “et compréhensible par Mme Michu”.



“réutilisable et exploitable par un système de traitement automatisé.” =&gt; le code généré par l’IDE est tout à faite “réutilisable et exploitable par un système de traitement automatisé.”

Il satisfait donc à la demande.

&nbsp;

Le code Cobol obtenu précédemment, et du Java générés sont des réponses adéquates à la loi.

&nbsp;









Kevsler a écrit :



Euh… non ? “Code”, “source”. C’est le code à la source du logiciel exploité en production. Pas compilé, ni pré-compilé. Le code source, quoi. Ce sur quoi bossent les gens qui développent l’application qui va bien.







&nbsp;“Code source”, c’est une expression qui vient d’un autre temps.

&nbsp;Les gens qui travaillent dans l’informatique ne parlent d’ailleurs plus du “code source” mais des “sources” tout court (ou de “fichiers sources”)

On parlait de “code” parce que ça ressemblait à ça:

https://fr.wikipedia.org/wiki/Code_source#/media/File:FortranCardPROJ039.agr.jpg



&nbsp;

Dans ton exemple il n’y a donc pas de code source.



Je dirais plutôt qu’il y a différents niveaux de sources.

&nbsp;



Mais tu peux fournir les spécifications, ton projet



Ou plus simplement, je fournis le journal officiel et les textes de lois…









Faith a écrit :



Le code illisible ne l’est que parce qu’il est complexe.&nbsp; La loi n’écrit pas “et compréhensible par Mme Michu”.



“réutilisable et exploitable par un système de traitement automatisé.” =&gt; le code généré par l’IDE est tout à faite “réutilisable et exploitable par un système de traitement automatisé.”

Il satisfait donc à la demande.

&nbsp;

Le code Cobol obtenu précédemment, et du Java générés sont des réponses adéquates à la loi.

&nbsp;





Tu oublies le “ aisément ” du texte de loi.

Si le code n’est pas réutilisable ni réexploitable AISEMENT , alors il y a violation de la loi.



&nbsp; <img data-src=" />









js2082 a écrit :



Tu oublies le “ aisément ” du texte de loi.

Si le code n’est pas réutilisable ni réexploitable AISEMENT , alors il y a violation de la loi. &nbsp;





&nbsp;Je n’oublie pas “aisément”, par contre toi, tu oublies “par un système de traitement automatisé”



&nbsp;Un système de traitement automatisé, ce n’est pas un humain, c’est un ordinateur.

Et un ordinateur, il s’en cogne complètement d’appeler la méthode “AutoGenerated00121544” de la classe “AutoGenerated11200024”. Pour lui, c’est aussi aisé que d’appeler “getLastWorkingDay” de la classe “Unemployed”

&nbsp;









js2082 a écrit :



Dans ton cas, le format privé et le code illisible constituent des manquements clairs à la loi. L’IDE graphique et le format devront être fourni/ ouvert.









Sauf que la mention à code source a été ajoutée par la loi du 7 octobre 2016. Il y a plein de logiciels qui ont pu être développés avant sur un système propriétaire tel que décrit par Faith et on ne va pas arrêter subitement de les faire évoluer,ou de les modifier suite à cette loi.



Les logiciels propriétaires utilisés sont la propriété intellectuelle de leurs auteurs et n’ont pas à être fourni gratuitement ou ouvert.



Ta position est un peu simpliste. Je ne pense pas que l’on puisse conclure ici quelle loi serait prépondérante dans un cas comme celui-ci. En fait, comme il est souvent reconnu que les secrets industriels sont opposables au droit de communication et amènent à la suppression de certaines informations, j’aurais quand même tendance à dire que c’est un cas où on n’aurait pas à publier le code.



Bah les gens qui “travaillent dans l’informatique” continuent de parler de code source lorsque c’est l’expression idoine. D’ailleurs, “les sources” ou “fichiers sources” c’est autre chose, et ça correspond plus à ton exemple. Mais dans notre métier on comprend tous que “code source” implique un langage lisible et compréhensible de l’humain.

Dans ton cas tu ne travailles pas sur le code source du logiciel que tu livres, et tu ne le connais pas, donc tu ne peux pas satisfaire la demande “fournissez-moi le code source”.&nbsp; On pourrait même dire que tu ne peux fournir des sources qui garantissent que la Loi est bien implémentée au sein de ton logiciel, et que le logiciel respecte à la lettre les lois et les spécifications, puisqu’il y a un intermédiaire (propriétaire, qui plus est) entre toi et le fonctionnel final.



C’est intéressant comme problématique. Parce que dans le cas de tous les logiciels, il y a des intermédiaires qui entrent en jeu (interpréteurs, compilateurs, etc) et qui peuvent avoir des conséquences sur l’implémentation de la Loi. Je pense à la gestion des très grands nombres, ou des très petits nombres, ou bien de la génération de nombres aléatoires, entre autres.&nbsp;

&nbsp;

Ce qui m’amène à te répondre sur l’histoire du JO ou des codes de lois. Tout ce tintouin CADA etc c’est juste pour vérifier que les logiciels utilisés dans l’administration implémentent bien la Loi.&nbsp;

Et dans ce processus, les spécifications (interprétation de la Loi) ou tout autre documents “projet” de ce genre sont tout aussi importants que le code source (interprétation des specs). Pour vérifier qu’on a pas dit de la merde aux devs, et pour vérifier que les devs ont pas fait d’la merde.



Ou même pour vérifier que la Loi peut être implémentée dans un logiciel (c’est surement pas possible tout le temps).


Tout à fait, la Loi n’est pas rétro-active. M’enfin se pose du coup la question de la réécriture de ces logiciels… En fait, on se demande même pourquoi ces considérations se retrouvent dans le “Code des relations entre le public et l’administration”.



M’enfin, j’ai l’impression que l’informatique c’est pas un truc encore très bien compris par les gens là-haut. On en fout partout mais on légifère n’importe comment.


Tu n’as pas compris:

la réexploitation et&nbsp; la réutilisation aisée dans un standard ouvert par un système de traitement automatisé signifie que le code fourni doit pouvoir être lu et modifié par tous de façon aisée, par le biais de ce système de traitement automatisé.

A défaut le code n’est pas aisément exploitable.



&nbsp;







fred42 a écrit :



Sauf que la mention à code source a été ajoutée par la loi du 7 octobre 2016. Il y a plein de logiciels qui ont pu être développés avant sur un système propriétaire tel que décrit par Faith et on ne va pas arrêter subitement de les faire évoluer,ou de les modifier suite à cette loi.





Si tel est le cas, alors le problème vient de l’administration concernée.

Payer pour le développement d’un logiciel et ne pas être propriétaire des sources: c’est une erreur grave voir une faute.



&nbsp;





fred42 a écrit :



Les logiciels propriétaires utilisés sont la propriété intellectuelle de leurs auteurs et n’ont pas à être fourni gratuitement ou ouvert.



&nbsp;

Non. La loi ne l’impose pas .

Elle impose uniquement une communication des sources dans un standard ouvert, aisément réutilisable et exploitable.



&nbsp;



fred42 a écrit :



Ta position est un peu simpliste. Je ne pense pas que l’on puisse conclure ici quelle loi serait prépondérante dans un cas comme celui-ci. En fait, comme il est souvent reconnu que les secrets industriels sont opposables au droit de communication et amènent à la suppression de certaines informations, j’aurais quand même tendance à dire que c’est un cas où on n’aurait pas à publier le code.



La loi s’impose , c’est tout.

Les secrets industriels concernent le privé pas les administrations.



Et comme le précise le L.311-4, les documents administratifs sont communiqués ou publiés sous

réserve des droits de propriété littéraire et artistique.



Sincèrement, je pense que Faith et toi avez une vision restreinte, trop focalisée des choses. Ces textes ont été pensés, créés et rédigés de façon globale, en utilisant des termes suffisamment génériques pour encadrer 99,9999% des cas possibles.









Kevsler a écrit :



puisqu’il y a un intermédiaire (propriétaire, qui plus est) entre toi et le fonctionnel final.





Comme pour tous les programmes, comme tu le mentionnes plus tard.

J’avais effacé une boutade dans mon post précédent, mais puisque tu abordes le sujet, elle devient pertinente: avec cette interprétation de la loi, on pourrait exiger le code source de Windows et de tous les drivers matériels.

&nbsp;



Ce qui m’amène à te répondre sur l’histoire du JO ou des codes de lois.

Tout ce tintouin CADA etc c’est juste pour vérifier que les logiciels

utilisés dans l’administration implémentent bien la Loi.



Je sais, mais (pardon, ce n’est pas une insulte envers toi) c’est une idée particulièrement stupide.

&nbsp;

Les équipes qui se chargent de vérifier que le programme fait ce qui lui demande n’est que rarement des équipes de programmeurs, mais des équipes de testeurs.

Peu importe qu’un programme soit une boite noire du moment que la totalité des situation décrites par la loi sont prises en compte telles quelles

&nbsp;(bon, j’avoue que cette phrase est excessive: il faut quand même pouvoir vérifier l’absence de back-door quand le programme est un programme décisionnel et pas seulement informatif, mais c’est le rôle des équipes d’audit interne, pas besoin de diffuser le code pour ça)



L’étude des sources pourrait cependant être utile pour des programmes dont les spécifications ne sont pas inscrites dans les textes légaux (ParcoursSup me semble un bon exemple), mais ce qui est intéressant, ce sont justement ces spécifications (que la loi n’impose pas de fournir), et pas le code (parce que dès qu’on tape dans les systèmes experts, il peut être très compliquer d’inférer les specs à partir du code)

&nbsp;









js2082 a écrit :



la réexploitation et&nbsp; la réutilisation

&nbsp;signifie

&nbsp;lu et modifié&nbsp;



&nbsp;Non:

“Lu” est une action humain, pas celle d’un système automatisé.

“exploiter et utiliser” ne sont pas des synonymes de “modifier”

&nbsp;



par tous



C’est là qu’on voit ton problème: tu ne penses qu’en informaticien.

Quelle que soit la plus parfaite écriture de code possible, jamais “tous” pourront le lire et le modifier.

&nbsp;



Je crois qu’on a pas la même notion d’implémentation. Les spécifications, autant que les lois, ne garantissent pas le fonctionnement d’un logiciel. La seule chose qui le garantisse : le code source. Le code source n’est pas une traduction automatique des lois, ni des spécifications, c’est une interprétation. C’est ça que j’entends par “implémentation” : les interprétations successives de la Loi, puis des specs, jusqu’à la mise en œuvre par les devs. Les tests, comme tu l’as dit, ne peuvent couvrir toutes les failles, même les meilleurs tests, et puis de toute façon on ne peut pas faire de rétro-ingénierie exhaustive à partir des tests.



Le but de tout ça c’est tout de même un contrôle de l’administration par les administrés. On ne remet pas en cause les équipes qui bossent sur ces logiciels ; en tant que citoyens, on souhaite contrôler l’administration. C’est notre rôle, à nous aussi. C’est pourquoi on demande le code source.&nbsp;



Entendons-nous bien, ça va pas faire de miracles. Mais c’est un début de principe, ça montre à l’État, petit à petit, ce que la transparence est, et ce qu’elle implique.








Kevsler a écrit :



Les spécifications, autant que les lois, ne garantissent pas le fonctionnement d’un logiciel. La seule chose qui le garantisse : le code source.



&nbsp;

Non.

La seule chose qui le garantisse, ce sont les tests.

&nbsp;

On peut repérer un bug juste à la lecture d’un code quand on n’est pas mauvais, mais on ne peut que très rarement identifier une erreur de prise en compte des spécifications.

Pour faire ça, on fait des tests. Des années.hommes de tests pour n’importe quel projet un peu sérieux.



Les test unitaires, les tests d’intégration, les tests de charge, etc.

C’est ça qui permet de s’assurer qu’un logiciel donne le bon résultat.

&nbsp;



Je nuance mon propos alors, et j’fais la différence entre “fonctionnement” et “bon fonctionnement”, alors. Fonctionnement du logiciel : ce qu’il fait. Bon fonctionnement du logiciel : ce qu’il doit faire.&nbsp;



Seul le code source garanti le fonctionnement du logiciel. Les tests visent certes le “bon fonctionnement”, mais ils sont eux-même une forme d’implémentation des spécifications, et ils sont souvent biaisés et par ces specs, et par le code source lui-même. Alors autant chercher les biais dans le code source directement, puisque c’est lui qui fait office d’IHMA (Interface Homme Machine Administration :p) et pas les tests et tout le processus de QA.



Puis bon. Le but étant de contrôler, on est amené à refaire les tests de toute façon.



Ceci dit, je ne nie pas l’importance des tests dans le processus de dev et de production (tu prêches un convaincu), mais là c’est pas le sujet qui nous intéresse.&nbsp;








Faith a écrit :



&nbsp;Non:

“Lu” est une action humain, pas celle d’un système automatisé.

“exploiter et utiliser” ne sont pas des synonymes de “modifier”





&nbsp;Juridiquement, oui.

&nbsp;





Faith a écrit :



&nbsp;

C’est là qu’on voit ton problème: tu ne penses qu’en informaticien.

Quelle que soit la plus parfaite écriture de code possible, jamais “tous” pourront le lire et le modifier.





J’avoue que c’est bien la première fois qu’on m’apparente à un informaticien.

Concernant le “par tous”, il s’agit d’une paresse d’écriture. Bien évidemment, je ne parlais pas de tout le monde mais de toute personne ayant un niveau en programmation suffisant lui permettant de lire, comprendre et programmer des fonctions classiques.

&nbsp;

&nbsp;



en tout cas pour le COBOL, c’est du “foutage de gueule” <img data-src=" />



c’est le fichier log de la précompilation/compilation (avant le link)&nbsp; de programme ecrit en PACBASE

(les mention après la “colonne 80” des longueurs / formats pour les variables, la regle, la pagination)



à noter aussi la présence des rapports IGY :

exemple :

==004114==&gt; IGYPS2015-I The paragraph or section prior to paragraph or section “FAG-ABEND” did

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; not contain any statements.



bref ce “source” n’en est pas un et faut du boulot pour en faire un&nbsp; vrai source



au pire pour parcourir et chercher quelque information … mais pas compilable


Je t’invite à lire la première phrase de l’article que tu mets en lien :

Le code source est un texte qui représente les instructions de programme telles qu’elles ont été écrites par un programmeur. telles qu’elles ont été écrites par un programmeur

Donc pas pré-compilé, pas décompilé, pas traduit.



Tu noteras que bien que si tu contestes l’usage du mot code, tu conserve la notion de source, qui est bien la notion clé ici. La source, c’est le truc de départ, pas un dérivé issu de précompilation ou autre.








fred42 a écrit :



Sortir toujours la même histoire quel que soit le contexte n’est pas une preuve d’un jugement pertinent. Il faudrait plutôt réfléchir et sortir une histoire en rapport avec le contexte.&nbsp;





Sortir toujours les même arguments en boucle sur toutes les news qui parlent des demandes CADA de NXI n’est pas une preuve d’un jugement pertinent. Il faudrait plutôt arrêter de saouler tout le monde et se décider à simplement ignorer la lecture de ces news, peut-être ?



On a compris que tu étais contre (déjà le mois dernier) et qu’il est hors de question que tu puisses admettre que tout ceci puisse servir un jour à quelqu’un, c’est bon, tu peux passer à autre chose, merci. Bonne journée !



Toi, tu as du mal avec le vocabulaire. En quoi, un jugement serait moins pertinent la seconde fois que la première dans des conditions similaires ?



Lui, il sort la même histoire quel que soit le contexte, ça ce n’est pas pertinent.



Après, si tu n’as pas envie de me lire, filtre moi, je n’aurai aucune objection.



Si tu as lu ce que Xavier a finalement obtenu, tu peux m’indiquer à quoi ça va bien pouvoir servir ? J’attends une argumentation pertinente.








Zerdligham a écrit :



&nbsp;telles qu’elles ont été écrites par un programmeur





Et si le programmeur n’a pas écrit ?

Ca fait longtemps qu’il existe des outils pour éviter d’écrire une bonne partie du code.



Du coup, on ne doit envoyer que ce qui a été écrit, mais pas ce qui est drag&droppé ?

&nbsp;



Ce ne serait pas plutot

Until $chomeur = 0

Parce que là si j’ai bien compris tu ne vas traiter qu’un seul chômeur…


J’ai déjà proposé ce patch <img data-src=" />


Ah, autant pour moi, je ne l’ai pas vu, faut que j’apprenne à tout lire avant de réagir <img data-src=" />








fred42 a écrit :



J’ai déjà proposé ce patch <img data-src=" />



Tu m’as déjà proposé? <img data-src=" />



<img data-src=" />


Si c’est un fichier xml exploitable par une interface graphique décrivant le truc qu’il a drag & droppé qui servira lui-même à générer un code dans le langage de programmation truc, c’est ce fichier xml qu’il faut envoyer (avec par politesse la référence du logiciel qui l’exploite)

Si c’est un code semi-généré (comme ce que j’ai pu pratiquer avec Eclipse et WindowBuilder par exemple), c’est ce code mixte ‘à la main’ et ‘drag-and-drop’ qu’il faut envoyer.



On envoie ce sur quoi le programmeur à travaillé. Le fait qu’il l’ai écrit exclusivement avec un clavier ou avec un outil d’assistance n’a que peu d’importance.








Zerdligham a écrit :



Si c’est un fichier xml exploitable par une interface graphique décrivant le truc qu’il a drag & droppé qui servira lui-même à générer un code dans le langage de programmation truc, c’est ce fichier xml qu’il faut envoyer (avec par politesse la référence du logiciel qui l’exploite)





&nbsp;Pourquoi pas, mais du coup certains critiqueront en disant que ça ne répond pas à la loi demandant que ce soit “aisément réutilisable et exploitable par un système de traitement automatisé”



On a ici des râleurs professionnels, alors je me demandais ce qui pourrait les satisfaire ;)

&nbsp;



Si vraiment on veut se couvrir on peut fournir le xml et le code généré.

On ne peut pas se prémunir universellement contre la mauvaise foi. On peut par contre éviter d’y participer en fournissant un prétendu code source qui est en réalité le résultat d’un processus d’offuscation.








Zerdligham a écrit :



&nbsp;code source qui est en réalité le résultat d’un processus d’offuscation.



Dire ça des codes fournis serait effectivement de la mauvaise foi.

&nbsp;



Notre débat portait sur la définition de source, ma position est une position générale sur ce qu’est une source.



Est-elle applicable au cas particulier de pôle emploi ici? je ne suis pas allé voir le code publié, mais il semblerait y avoir unanimité parmi ceux allés le voir sur le fait qu’il ne s’agit pas du code d’origine (il manquerait notamment les commentaires de la partie java).

Dans l’hypothèse où cette unanimité aurait tort, ça ne remettrait pas en cause ma position, ça voudrait juste dire qu’elle ne concerne pas ce cas particulier.