Open Morendil opened 6 years ago
Pourquoi spécifier l'ordre ? Que risque-t-on s'il n'est pas conforme à l'ordre textuel dans le fichier ?
Je ne comprends pas pourquoi les dates ne se correspondent pas…
Je ne comprends pas pourquoi les dates ne se correspondent pas…
Ah si je crois comprendre. Les dates qui servent de clé sont les mêmes que les dates associées aux valeurs des paramètres, c'est ça ? En fait si on veut reconstituer un paramètre pour une date donnée il faut parcourir tout l'objet et collecter séparément reference
, date_parution_jo
etc. pour la date concernée. Ca me semble contraignant et error-prone.
Les metadata concernent plusieurs variables, comment peut-on reconstituer celle à laquelle le champ "référence" se rattache ?
Une inquiétude un peu globale, ce format me semble optimisé pour le process automatisé qui l'a produit, a quel point rend-il difficile le travail futur des personnes qui créeront des paramètres à la main en lisant des textes de loi ?
Autre inquiétude, certaines formules dépendent (par exemple via le fancy indexing) de structures particulières pour les paramètres, j'ai en tête par exemple les aides logement que j'ai récemment retouchées, or ici je trouve une structure qui change en profondeur:
Comment allons-nous évaluer l'effort à fournir pour mettre à jour les formules pour l'exploitation des nouveaux noms et des nouvelles structures ?
Je constate que certains paramètres que nous utilisons sont manquants par exemple ceux de la réduction Pinel qu'on a travaillé récemment, comment abordons-nous ce volet ? On retravaille nos paramètres actuels pour les intégrer à ce format en vue d'une publication sur le site IPP ? On les laisse en l'état, mais alors il faut les ignorer ?
Pourquoi mettre les clés entre guillemets ? Jusqu'ici la norme était de ne pas en avoir.
Ajoutés automatiquement par le la lib qui dump les yaml, mais il doit y probablement moyen de configurer ça.
Pourquoi spécifier l'ordre ? Que risque-t-on s'il n'est pas conforme à l'ordre textuel dans le fichier ?
L'IPP a besoin de conserver l'ordre des sous-paramètres d'un noeud pour des questions de visualisation, d'où cette métadonnée.
Il n'y a pas de "risque" particulier à avoir un ordre différent de l'ordre textuel, simplement pour les visualisations de l'IPP c'est celui du order qui sera retenu
.
Il serait intéressant de pouvoir se baser sur l'ordre textuel mais:
Est-ce que renommer cette propriété en ipp_order
pour bien marquer que c'est un champs du ressort de l'IPP te semble plus acceptable?
Ah si je crois comprendre. Les dates qui servent de clé sont les mêmes que les dates associées aux valeurs des paramètres, c'est ça ? En fait si on veut reconstituer un paramètre pour une date donnée il faut parcourir tout l'objet et collecter séparément reference, date_parution_jo etc. pour la date concernée. Ca me semble contraignant et error-prone.
Dans de nombreuses feuilles de barèmes de l'IPP, les références sont donnés non pas pour un seul paramètre mais pour une "grappe" de paramètres. Quand on parse ça au format OpenFisca, on a deux choix:
Les metadata concernent plusieurs variables, comment peut-on reconstituer celle à laquelle le champ "référence" se rattache ?
A priori, la métadata concernent toutes les variables du noeud.
Supprimer ces sauts de lignes ?
Je peux essayer, mais il n'est pas évident de distinguer algorithmiquement un saut de ligne "légitime" d'un saut de ligne non pertinent. Est-ce que tu as repéré beaucoup d'occurences du problème?
Une inquiétude un peu globale, ce format me semble optimisé pour le process automatisé qui l'a produit, a quel point rend-il difficile le travail futur des personnes qui créeront des paramètres à la main en lisant des textes de loi ?
Je crois que @benjello et l'IPP vont se pencher sur cette question de leur point de vue de contributeur dans les prochaines sermaines, mais oui, il y a bien une question de fond sur la l'intégration de cet export avec les paramètres plus "manuels".
Comment allons-nous évaluer l'effort à fournir pour mettre à jour les formules pour l'exploitation des nouveaux noms et des nouvelles structures ?
Question ouverte, mais il sera aussi possible de modifier la structure des paramètres pour l'adapter aux formules. L'objectif de l'IPP est de sortir d'Excel à court terme, ce qui signifie que l'on ne sera pas contraint pas le maintien du processus automatique XLSX->YAML.
Je constate que certains paramètres que nous utilisons sont manquants par exemple ceux de la réduction Pinel qu'on a travaillé récemment, comment abordons-nous ce volet ? On retravaille nos paramètres actuels pour les intégrer à ce format en vue d'une publication sur le site IPP ? On les laisse en l'état, mais alors il faut les ignorer ?
Oui, c'est une des questions que je me pose. À discuter avec @benjello et l'IPP. Je ne pense pas que l'IPP soit contre plus de paramètres. Sur le format, pas forcément: les outils de l'IPP qui sont consomment ces paramètres sont (ou seront si des bugs sont découverts) a priori capable de gérer n'importe quel noeud de paramètre à condition qu'il soit valide pour OpenFisca.
@Morendil : je suis à ta disposition pour en discuter en visio éventuellement avec @fpagnoux ou tout autre personne intéressée par le sujet. Et surtout je suis preneur de tous les conseils et tous les coups de main ;-) Le but est d'avoir une source unique au format openfisca qui soit éditable par les contributeurs et que l'on puisse les diffuser sur le site de l'IPP et les utiliser dans openfisca. Donc tout à fait prêt à converger au maximum.
Devrait être tranche_a
par cohérence avec tranche_b
et le nom.
Je continue avec un focus sur les cotisations chômage:
Il me semble que par rapport à l'existant, qui contient directement l'URL du texte, c'est une régression.
A priori, la métadata concernent toutes les variables du noeud.
Dans le fichier que je cite en exemple, c'est peut-être intelligible pour une machine, mais pas du tout pour un humain. Le champ metadata
se situe dans le fichier entre salaries
et employeurs
, tu as des sauts de lignes dans les clés "date de parution au JO", si tu cherches visuellement à scanner où se trouve la valeur qui correspond à la référence du 1984-04-01 ça me semble très délicat.
Autre problème sur ce même fichier, l'existant est un barème avec des rate/threshold, mais ils ont disparu du nouveau format, ce qui implique de réécrire la formule à peu près from scratch.
Quel est le chemin de migration vers le nouveau format lorsque l'existant consiste en un barème ?
Il n'est pas évident de distinguer algorithmiquement un saut de ligne "légitime" d'un saut de ligne non pertinent. Est-ce que tu as repéré beaucoup d'occurences du problème?
A mon sens aucune des valeurs textuelles ne devrait contenir de saut de ligne, c'est de la mise en forme qui présuppose un media (tableur) et nous allons changer de media (vers du Web). Je compte 224 occurrences de "|-" (qui signale des champs YAML formatés, donc des sauts de lignes multiples) et 131 occurrences de "\" (saut de ligne isolé).
Quels seraient pour toi les sauts de ligne légitimes ?
@Morendil : lors d'une première tentative de convergence on était passé par ce script
@Morendil : oui on veut aussi garder les liens quand ils existent.
Il y a peut-être plusieurs discussions qui se téléscopent ici, je me rends compte que je me soucie notamment d'évaluer le reste du travail à faire (c'est peut-être le sujet d'un atelier de planification dédié) et ça va au-delà des remarques sur le format.
Le champ metadata se situe dans le fichier entre salaries et employeurs
Good point. Il faudrait sans doute toujours mettre les métadonnées après les valeurs.
Quels seraient pour toi les sauts de ligne légitimes ?
En dehors du champs multiligne "documentation", effectivement, ça n'a pas vraiment de sense 👍
Quel est le chemin de migration vers le nouveau format lorsque l'existant consiste en un barème ?
Adapter les nouveaux fichiers YAML pour y faire apparaître les barèmes, de manière automatisée ou manuelle.
@fpagnoux : ne peut-on pas reformater les dates pour retirer les guillemets simples comme le suggère @Morendil ?
Je viens de finir une passe de nettoyage des YAML:
metadata
est maintenant toujours après les sous-paramètres dans le YAML\
en milieu de lignes longues)Il est sans doute possible de se débarasser des champs order
dans les fichiers YAML de paramètres (à part dans les index.yaml) si https://github.com/openfisca/openfisca-core/pull/787 est acceptée sur Core.
https://github.com/fpagnoux/baremes-ipp-yaml/blob/3c7ba504693ae9b7499f3de41698a45ef35f8205/openfisca_baremes_ipp/parameters/chomage/allocations_assurance_chomage/afd.yaml#L5
Pourquoi mettre les clés entre guillemets ? Jusqu'ici la norme était de ne pas en avoir.