openfisca / openfisca-france

French tax and benefit system for OpenFisca
https://openfisca.org/fr
255 stars 97 forks source link

Normalisation des métadonnées des variables #1618

Open MattiSG opened 3 years ago

MattiSG commented 3 years ago

RFC

Objet

Cette RFC vise à établir une liste des métadonnées à utiliser dans OpenFisca France pour les paramètres et les variables.

Livrable

Pour chacune des métadonnées, il s'agira de définir :

  1. Son nom.
  2. Son type.
  3. Son objet.
  4. Son échelle de déclaration (associée à une variable, une formule, un nœud de paramètre…).
  5. Au moins un exemple de cas d'usage, de préférence deux.
  6. Au moins deux exemples de valeurs.
  7. Ses limites (des exemples de valeurs que l'on ne souhaite pas voir incluses).

Cette liste sera documentée dans une documentation spécifique à OpenFisca France (et non dans la documentation d'OpenFisca Core disponible sur openfisca.org/doc).

Nécessité

Incohérence actuelle

Cette normalisation est utile car les métadonnées sont aujourd'hui renseignées de manière non-systématique et parfois incohérente. Par exemple, avec la famille de métadonnées unit dans les paramètres :

Intitulé Valeur Occurrences
rate_unit /1 50
threshold_unit PSS 33
threshold_unit SMIC 1
threshold_unit currency 16
unit `` 1
unit /1 1027
unit /1#Unitdel'abattement 5
unit ISO3166-1alpha-2 3
unit codesdépartements 1
unit currency 662
unit currency#-EUR 7
unit currency-FRF 20
unit month 3
unit year 73

La reference des variables est parfois remplie avec une URL parfois en HTTP, parfois en HTTPS, parfois avec plusieurs URL, parfois un mélange d'URL et de texte descriptif, parfois dans un seul champ de texte

Ces incohérences rendent très difficile la création d'applications consommatrices de ces métadonnées, et ne permettent pas à de nouveaux contributeurs de comprendre quelle information indiquer.

Urgence

L'urgence de cette normalisation est renforcée par les chantiers indépendants des équipes IPP et LexImpact, qui interviennent sur les métadonnées pour l'affichage d'informations complémentaires sur des applications consommant les paramètres OpenFisca : les barèmes IPP pour la première, et une application de contribution aux paramètres pour la seconde.

En l'absence de normalisation, des métadonnées arbitraires risquent d'être ajoutées pour chaque application cliente.

Processus

Historique

Catalogue des métadonnées existantes

Variables

Métadonnées déjà normalisées

Ces métadonnées sont définies sur openfisca.org/doc, normalisées dans Core et exposées dans l'API Web et l'API Python. Elles sont aujourd'hui présentées comme des « attributs » des variables et non comme des métadonnées, au même niveau que l'entité de rattachement ou la période de définition.

label

reference

Métadonnées proposées par LexImpact

Last reviewed

Obsolète

Cette proposition est expérimentale et ne fait pas l'objet d'une demande formelle de normalisation à ce stade.

Date du lien de l'URL de la description

Cette proposition est expérimentale et ne fait pas l'objet d'une demande formelle de normalisation à ce stade.

Cette métadonnée pourrait également être utilisée avec l'usage suivant.

Libellé du lien de l'URL de la description

Cette proposition est expérimentale et ne fait pas l'objet d'une demande formelle de normalisation à ce stade.

Il s'agit d'une surspécification de l'attribut reference actuellement existant.

URL de la note

Cette proposition est expérimentale et ne fait pas l'objet d'une demande formelle de normalisation à ce stade.

Il s'agit d'une surspécification de l'attribut reference actuellement existant.

Notes

Cette proposition est expérimentale et ne fait pas l'objet d'une demande formelle de normalisation à ce stade.

UX name

Paramètres

Métadonnées déjà normalisées

Ces métadonnées sont définies sur openfisca.org/doc, normalisées dans Core et exposées dans l'API Web et l'API Python. description est aujourd'hui présentée comme un « attribut » des paramètres et non comme une métadonnée. Les autres sont définies comme rattachées à l'attribut metadata.

description

metadata.reference

_Cette métadonnée est également souvent définie directement comme reference, sans passer par le nœud intermédiaire metadata._

unit (et threshold_unit, rate_unit, amount_unit pour les barèmes)

Cette métadonnée n'est pas validée automatiquement et contient des valeurs arbitraires, cf.l'introduction de cette RFC.

Métadonnées utilisées par l'IPP

reference.href

Il s'agit d'une surspécification de la métadonnée reference actuellement existante.

reference.title

Il s'agit d'une surspécification de la métadonnée reference actuellement existante.

date_parution_jo

_Cette métadonnée est actuellement utilisée par l'équipe LexImpact sous le nom official_journal_date. Les deux sont en cours de convergence vers date_journal_officiel._

description_en

documentation

Ces métadonnées ont fait l'objet d'un accord dans #1519.

ux_name

last_review

Métadonnées historiques

Ces métadonnées ont été utilisées dans le passé mais ne sont plus aujourd'hui visibles dans la base de code OpenFisca France.

ipp_csv_id

order

Proposition

Cette partie est en cours de rédaction et fera l'objet d'un nouveau message.

MattiSG commented 3 years ago

Discussion

Lors de l'échange synchrone du 02/08/2021, ainsi que sur Slack la semaine précédente, les remarque suivantes ont été portées. Ce travail de consolidation effectué par @MattiSG ne se substitue évidemment pas aux remarques portées directement par les personnes concernées dans cette discussion, et n'a pas vocation à limiter l'étendue des discussions, simplement à donner du contexte et à simplifier le suivi des échanges 🙂

URL

Obsolète

Notes

Actuellement il y a pas mal de contributeur ayant ajouté des informations en #commentaires. Pour ma part (je viens de faire ma première PR il y a 2 semaines) Ces informations en commentaires m’ont beaucoup aidé à comprendre les dispositifs.

À l'heure actuelle, il y a souvent des informations dans des commentaires (# commentaires) qui auraient leur place de manière plus explicite (et qui sont cachées à un user).

Je pense qu’il doit être rempli seulement pour mentionner une hypothèse importante sur laquelle la formule est fondée, ou un point important pour la compréhension de la formule. Mais je ne pense pas que l’on doive mettre une description systématique des dispositifs. Ça alourdirait beaucoup le code et si on met déjà le nom officiel et le ux_name, je pense que c’est suffisant pour que les utilisateurs ne connaissant pas le dispositif fasse une recherche sur le web.

ux_name

Last review

Lignes de conduite générales

MattiSG commented 3 years ago

Proposition

Dans l'espoir de faciliter la discussion, je sépare les propositions pour chaque métadonnée dans des commentaires séparés, afin que chacun·e puisse réagir avec :+1: (la proposition me convient), :-1: (la proposition ne m'est pas acceptable, je fais une contre-proposition en commentaire), ou :eyes: (j'ai lu et je n'ai pas d'avis).

Afin de participer à ce fonctionnement, qui me semble le moins mauvais qu'on puisse avoir tant qu'on utilise une issue GitHub pour prendre des décisions, merci d'utiliser déjà cette convention de réaction sur ce premier message :wink: une contre-proposition de processus est bienvenue.

MattiSG commented 3 years ago

~Version 1 d'une proposition pour label (métadonnée de Variable)~

Cette proposition a été remplacée par les propositions 2A et 2B.

MattiSG commented 3 years ago

Version 1A d'une proposition pour reference (métadonnée de Variable)

Dans cette proposition, on restreint les références à des URLs, en supposant que les intitulés peuvent être reconstruits automatiquement par l'accès aux documents, et que leur valeur ajoutée est trop faible par rapport au coût de maintenance. Cela pose un problème à résoudre par une convention pour les cas de documents non publiquement accessibles.


- Nom : `reference` - Type : ```diff - texte libre, ou tableau de texte libre. + tableau d'URL. ``` - Objet : “a list of URLs pointing to the relevant legislative references for this variable.” - Échelle de déclaration : ```diff - Variable. + Formule. ``` ```diff + Convention : utiliser une version HTTPS, à moins que seul du HTTP soit disponible. ``` - Cas d'usage : - Vérifier la validité d'une formule en consultant son origine légale. ```diff - Afficher l'intitulé de la source légale dans l'explorateur de législation. + Afficher un lien vers la source légale dans l'explorateur de législation. ``` - Exemples : - ```diff - "http://bofip.impots.gouv.fr/bofip/1852-PGP" + "https://bofip.impots.gouv.fr/bofip/1852-PGP" ``` - ```diff reference = [ - "Décret n°2020-371 du 30 mars 2020" "https://www.legifrance.gouv.fr/eli/decret/2020/3/30/ECOI2007755D/jo/texte", - "Ordonnance n° 2020-705 du 10 juin 2020" "https://www.legifrance.gouv.fr/eli/ordonnance/2020/6/10/ECOI2012371R/jo/texte" ] ``` * Lieu de documentation : CONTRIBUTING.md (on ne peut pas forcer l'usage d'URL au niveau international car tous les pays ne disposent pas d'une base législative librement consultable).
MattiSG commented 3 years ago

~Version 1B d'une proposition pour reference (métadonnée de Variable)~

Cette proposition a été remplacée par la proposition 2A.


On demande systématiquement un intitulé et une URL pour chaque référence législative, par le biais d'un dictionnaire plutôt que d'un tableau. Ceci a l'inconvénient d'alourdir la déclaration et suppose de normaliser la manière de référencer les URLs (i.e. de définir les clés du dictionnaire), et a l'avantage de traiter à la fois le cas d'usage pour le titre et l'URL de la reference.


- Nom : `reference` - Type : ```diff - texte libre, ou tableau de texte libre. + dictionnaire d'URLs. ``` - Objet : “a dictionary of legislative references, with legal text names as keys and URLs pointing to the relevant legislative references for this variable as values, when possible.” ```diff - Variable. + Formule. ``` ```diff + Convention : utiliser une version HTTPS, à moins que seul du HTTP soit disponible. + Convention : privilégier les URLs Légifrance, à défaut les adresses en .gouv.fr, à défaut service-public.fr, à défaut wikipédia. + Convention : utiliser les URLs ELI pour Légifrance. + Convention : utiliser les identifiants juridiques fournis par Légifrance ou le BOFIP comme clés. ``` - Cas d'usage : - Vérifier la validité d'une formule en consultant son origine légale. ```diff - Afficher l'intitulé de la source légale dans l'explorateur de législation. + Afficher un lien vers la source légale dans l'explorateur de législation. ``` - Exemples : - ```diff - "http://bofip.impots.gouv.fr/bofip/1852-PGP" + { "BOI-IR-BASE-20-60-20": "https://bofip.impots.gouv.fr/bofip/1852-PGP" } ``` - ```diff - reference = [ + reference = { - "Décret n°2020-371 du 30 mars 2020" - "https://www.legifrance.gouv.fr/eli/decret/2020/3/30/ECOI2007755D/jo/texte", + "Décret n°2020-371 du 30 mars 2020": "https://www.legifrance.gouv.fr/eli/decret/2020/3/30/ECOI2007755D/jo/texte", - "Ordonnance n° 2020-705 du 10 juin 2020" - "https://www.legifrance.gouv.fr/eli/ordonnance/2020/6/10/ECOI2012371R/jo/texte" + "Ordonnance n° 2020-705 du 10 juin 2020": "https://www.legifrance.gouv.fr/eli/ordonnance/2020/6/10/ECOI2012371R/jo/texte", - ] + } ``` * Lieu de documentation : openfisca.org/doc pour le format de données, `CONTRIBUTING.md` pour la manière de rédiger les références.
MattiSG commented 3 years ago

Version 1A d'une proposition pour « Obsolète » (métadonnée de Variable)

Abandonner l'ajout d'une telle métadonnée dans OpenFisca, en raison des risques soulignés dans https://github.com/openfisca/openfisca-france/issues/1618#issuecomment-891818665.

MattiSG commented 3 years ago

Version 1B d'une proposition pour « Obsolète » (métadonnée de Variable)

Implémenter cette métadonnée sous la forme d'un booléen associé à une Formule, en la renommant en inaccurate afin d'inclure les cas où la formule n'est pas obsolète mais fausse, car la distinction entre une absence de mise à jour et une mauvaise prise en compte des mises à jour précédentes est impossible à faire formellement.

Les processus de validation et de traitement associés face à une formule « inaccurate » restent à définir avant que cette proposition puisse être considérée comme complète.


- Nom : `inaccurate`. - Type : booléen. La seule valeur valide est `true`. - Objet : indiquer que la formule n'est pas à jour ou est fausse, afin qu'une équipe technique puisse la corriger dans le futur. - Échelle de déclaration : ```diff - Variable + Formule ``` - Cas d'usage : - Présenter à un utilisateur qu'un résultat de calcul n'est pas correct car l'une des variables utilisées dans le calcul a changé depuis son implémentation. - Exemples : - `true`
MattiSG commented 3 years ago

Version 1A d'une proposition pour Last reviewed (métadonnée de Variable)

On stocke simplement une date de dernière revue, en s'appuyant sur les métadonnées d'auteur de commit pour savoir qui est à l'origine de la relecture (en supposant que la modification n'est pas faite par le biais d'un outil permettant l'édition anonyme, ce qui semble être le cas d'usage principal proposé par LexImpact). Les modalités de revue d'un tel changement ne sont pas définies.


- Nom : `latest_review` - Type : date. - Objet : indiquer la date à laquelle un contributeur a revu la valeur la plus récente de la formule. - Échelle de déclaration : Variable. - Cas d'usage : - Indiquer aux contributeurs la date de la dernière revue de la formule. - Présenter une coche dans une interface graphique pour indiquer qu'une revue récente a eu lieu. - Exemples : - `2021-03-20` - `2000-01-01` - Cette métadonnée doit être exposée dans l'API web pour permettre les cas d'usage proposés, ce qui implique donc de la gérer dans Core. - Lieu de documentation : openfisca.org/doc.
MattiSG commented 3 years ago

Version 1B d'une proposition pour Last reviewed (métadonnée de Variable)

Abandonner l'ajout d'une telle métadonnée dans OpenFisca, en raison de l'impossibilité de donner du sens à une date de revue.

Les informations de relecture pourraient faire l'objet d'un traitement dans un outil tiers, qui associerait un identifiant OpenFisca à un nombre arbitraire d'auditeurs qui pourraient indiquer leur validation de l'identifiant, la date, et le numéro de version du système socio-fiscal qui a fait l'objet de la validation.

MattiSG commented 3 years ago

Version 1C d'une proposition pour Last reviewed (métadonnée de Variable)

On stocke un dictionnaire de dates et de relecteurs pour chaque formule, afin de créer une trace d'audit.

Les modalités de revue d'un tel changement ne sont pas définies.


- Nom : `reviews` - Type : dictionnaire de dates pointant vers un nom de relecteur. - Objet : indiquer la date à laquelle un contributeur a revu la valeur la plus récente de la formule. - Échelle de déclaration : Formule. - Cas d'usage : - Indiquer aux contributeurs la date de la dernière revue de la formule. - Présenter une coche dans une interface graphique pour indiquer qu'une revue récente a eu lieu. - Convention : dans les rares cas de revues concurrentes le même jour, modifier la date de revue d'un jour dans le futur. - Convention : lorsque plusieurs personnes ont participé à la revue, indiquer plusieurs noms dans la valeur textuelle. - Exemples : ```python { '2021-03-20': 'Brice Fabre (IPP)' } ``` ```python { '2021-08-05': 'Auditeur anonyme de l’Assemblée Nationale', '2021-06-20': 'Brice Fabre (IPP)', '2021-03-20': '@Kout95', } ``` - Cette métadonnée doit être exposée dans l'API web pour permettre les cas d'usage proposés, ce qui implique donc de la gérer dans Core. - Lieu de documentation : openfisca.org/doc.
MattiSG commented 3 years ago

Version 1A d'une proposition pour Date du lien de l'URL de la description (métadonnée de Variable)

On enregistre la date à laquelle la ressource web a été consultée pour servir de référence à l'implémentation.


- Nom : `reference_date` - Type : date. - Objet : indiquer la date à laquelle un contributeur a lu le texte de référence qui a guidé son implémentation. - Échelle de déclaration : même que `reference` (Variable en l'état, Formule d'après la proposition actuellement retenue). - Convention : les changements ne sont autorisés que lors de la création ou la modification d'une Formule, et la valeur doit correspondre à peu de jours près à celle des commits associés. - Cas d'usage : - Tracer l'état des références utilisées lors d'une modélisation. - Exemples : - `2021-03-20` - `2000-01-01` - Lieu de documentation : openfisca.org/doc si elle est gérée dans Core, `CONTRIBUTING.md` sinon.
MattiSG commented 3 years ago

Version 1B d'une proposition pour Date du lien de l'URL de la description (métadonnée de Variable)

Abandonner l'ajout d'une telle métadonnée dans OpenFisca, en raison des cas d'usage limités (comment revenir en arrière sur le document pointé ? combien d'URLs de références changent réellement dans le temps ?).

Ajouter une convention dans le CONTRIBUTING.md : si l'URL ne pointe pas vers un document stable dans le temps (par exemple lien vers service-public.fr au lieu de legifrance.gouv.fr), ajouter un commentaire indiquant la date de consultation à la fin de la ligne donnant le lien vers la référence.

- Convention : si l'URL d'une référence ne pointe pas vers un document stable dans le temps (par exemple lien vers service-public.fr au lieu de legifrance.gouv.fr), ajouter un commentaire indiquant la date de consultation à la fin de la ligne donnant le lien vers la référence. - Exemples : - `reference = "https://vosdroits.service-public.fr/particuliers/N20360.xhtml" # consulté au 2020-05-08` - `reference = "https://www.service-public.fr/particuliers/vosdroits/N11240" # consultation le 3 mars 2018` - Lieu de documentation : `CONTRIBUTING.md` sinon.
MattiSG commented 3 years ago

Version 1A d'une proposition pour Libellé du lien de l'URL de la description (métadonnée de Variable)

On demande systématiquement un intitulé et une URL pour chaque référence législative, par le biais d'un dictionnaire plutôt que d'un tableau. Ceci a l'inconvénient d'alourdir la déclaration et suppose de normaliser la manière de référencer les URLs (i.e. de définir les clés du dictionnaire), et a l'avantage de traiter à la fois le cas d'usage pour le titre et l'URL de la reference.

Il s'agit de la Proposition 1B pour reference.

MattiSG commented 3 years ago

Version 1B d'une proposition pour Libellé du lien de l'URL de la description (métadonnée de Variable)

On ajoute une métadonnée spécifique optionnelle. Ceci implique que certaines variables pourront avoir une URL mais pas de libellé, et inversement.


- Nom : `reference_title` - Type : texte libre. - Objet : intitulé de l'article de loi (numéro…). - Échelle de déclaration : ```diff - Variable + Formule ``` - Cas d'usage : - Afficher l'intitulé de la source légale dans l'explorateur de législation. - Donner une référence lisible par un humain au texte de loi, sans passer par une URL. - Exemples : - `"Circulaire ESRS2013435C - Annexe 7 - Taux et cumul de la bourse d'enseignement supérieur sur critères sociaux / 1 - Les taux de bourse d'enseignement supérieur sur critères sociaux"` - `"art. 15 de la loi 2013-1278"`
MattiSG commented 3 years ago

Version 1A d'une proposition pour Libellé de l'URL de la note (métadonnée de Variable)

On s'appuie sur les reference existantes, en restreignant désormais les références à des URLs. Cela pose un problème à résoudre par une convention pour les cas de documents non publiquement accessibles.

Il s'agit de la Proposition 1A pour reference.

MattiSG commented 3 years ago

Version 1B d'une proposition pour Libellé de l'URL de la note (métadonnée de Variable)

On demande systématiquement un intitulé et une URL pour chaque référence législative, par le biais d'un dictionnaire plutôt que d'un tableau. Ceci a l'inconvénient d'alourdir la déclaration et suppose de normaliser la manière de référencer les URLs (i.e. de définir les clés du dictionnaire), et a l'avantage de traiter à la fois le cas d'usage pour le titre et l'URL de la reference.

Il s'agit de la Proposition 1B pour reference.

MattiSG commented 3 years ago

Version 1C d'une proposition pour Libellé de l'URL de la note (métadonnée de Variable)

On ajoute une métadonnée spécifique optionnelle. Ceci implique que certaines variables pourront avoir une URL mais pas de libellé, et inversement. La métadonnée générique reference serait retirée.


- Nom : `reference_urls` - Type : tableau d'URL. - Objet : “a list of URLs pointing to the relevant legislative references for this variable.” - Échelle de déclaration : Formule. - Convention : utiliser une version HTTPS, à moins que seul du HTTP soit disponible. - Cas d'usage : - Vérifier la validité d'une formule en consultant son origine légale. - Afficher un lien vers la source légale dans l'explorateur de législation. - Exemples : - `[ "https://bofip.impots.gouv.fr/bofip/1852-PGP" ]` ``` reference_url = [ "https://www.legifrance.gouv.fr/eli/decret/2020/3/30/ECOI2007755D/jo/texte", "https://www.legifrance.gouv.fr/eli/ordonnance/2020/6/10/ECOI2012371R/jo/texte" ] ``` * Lieu de documentation : CONTRIBUTING.md (on ne peut pas forcer l'usage d'URL au niveau international car tous les pays ne disposent pas d'une base législative librement consultable).
MattiSG commented 3 years ago

Version 1A d'une proposition pour Notes (métadonnée de Variable)

Les choix de modélisation (hypothèses retenues…) sont stockés dans une métadonnée dédiée.

Les exemples et cas d'usage donnés sont incohérents avec l'objet identifié lors de la discussion. Il faudrait donner de nouveaux exemples pour que cette proposition soit cohérente.


- Nom : `hypotheses`. - Type : texte libre. - Objet : documenter les choix de modélisation tels qu'hypothèses retenues. - Échelle de déclaration : ```diff - Variable + Formule ``` - Cas d'usage : - Afficher une infobulle au survol du nom d'une variable. - Exemples : - `"Ces charges et ces aides sont appelées différées, car elles interviendront a posteriori, par exemple sous la forme d’un crédit d'impôt."` - `"Ce dispositif n'est pas à jour. LexImpact prend en compte l'ancien dispositif du CICE, initialement un crédit d'impôt. Depuis 2019, le CICE s'est transformé en allègement de cotisations sociales patronales. Ce dispositif sera mis à jour prochainement."` - Lieu de documentation : openfisca.org/doc (les cas d'usage mentionnés nécessitent d'exposer cette information dans l'API web, il faudra donc modifier Core).
MattiSG commented 3 years ago

Version 1B d'une proposition pour Notes (métadonnée de Variable)

Abandonner l'ajout d'une telle métadonnée dans OpenFisca et privilégier l'usage des commentaires plutôt que d'une métadonnée dédiée pour les hypothèses d'implémentation, car celles-ci sont associées à l'implémentation (au code) et ne décrivent pas la variable du point de vue métier / économique.

Pour le cas d'usage et exemples donnés (Afficher une infobulle au survol du nom d'une variable), passer par une base de données externe à OpenFisca, comme le fait Mes Aides pour l'affichage d'informations supplémentaires dans l'accès aux aides sociales.

MattiSG commented 3 years ago

Version 1A d'une proposition pour UX Name (métadonnée de Variable)

On introduit une métadonnée dédiée short_label en considérant que le besoin d'un nom non-ambigu avec un nombre connu de caractères est suffisamment répandu. On suppose qu'un contexte de présentation permettra de différencier entre deux variables ayant le même short_label.

Les valeurs actuellement renseignées sont disponibles ci-dessous :

Nombre d'occurrences | Texte | Nombre de caractères (±1) ---------------------|-------|------------------------- 22 | Taux | 4 20 | Taux employeur | 14 15 | Sous PSS | 8 15 | Moins de 65 ans | 15 13 | Plus de 65 ans | 14 12 | Barème salarié | 16 11 | Barème employeur | 17 7 | Employé AM | 10 7 | Abattement | 9 6 | Taux employé | 12 6 | Plafond (en nombre de SMIC) | 26 6 | Indépendants artisans-commerçants | 34 5 | Sur tout salaire | 15 5 | Employé hors AM | 15 5 | CSG imposable | 12 5 | CSG déductible | 14 5 | Branche assurance maladie | 24 4 | Taux réduit | 11 4 | Non-cadre | 8 4 | Employeur | 8 4 | Cadre | 4 4 | Branche assurance vieillesse | 27 4 | Année 5 | 7 4 | Année 4 | 7 4 | Année 3 | 7 4 | Année 2 | 7 4 | Année 1 | 7 3 | Tout salaire | 11 3 | Taux plein | 9 3 | Taux global | 10 3 | Salarié | 7 3 | Réduction maximale | 18 3 | Cotisations de sécurité sociale (1930-1966) | 44 3 | Branche allocations familiales | 29 3 | Branche accidents du travail | 27 3 | Assurances sociales avant 1967 | 29 2 | Toutes entreprises | 17 2 | Taux Global | 10 2 | Taux (6 années suivantes) | 25 2 | Taux (1ère année) | 18 2 | Sous plafond | 11 2 | Salariés | 8 2 | Revenus d'activité | 18 2 | Réduction du temps de travail de 10% | 36 2 | Professions libérales | 21 2 | Presse quotidienne | 17 2 | Presse périodique | 17 2 | Pensions de retraite et d'invalidité | 36 2 | Forfait annuel | 13 2 | Employeurs | 9 2 | Affiliation > 6 mois | 19 2 | Affiliation 3-6 mois | 19 1 | salaire charnière annuel | 24 1 | Versement transport | 18 1 | Versement forfaitaire sur les salaires | 37 1 | Taxes et participations | 22 1 | Taxes d'apprentissages | 21 1 | Taxe sur les salaires (depuis 1968) | 34 1 | Taxe exceptionnelle de solidarité sur les hautes rémunérations | 64 1 | Taux salarié | 12 1 | Taux médian | 11 1 | Taux max (au SMIC) | 17 1 | Taux global CSG capital (produits de placement) | 46 1 | Taux global CSG capital (patrimoine) | 35 1 | Taux employeur tout salaire | 26 1 | Taux employeur sous PSS | 22 1 | Taux employeur (hors A-M) | 24 1 | Taux CSG déductible capital (produits de placement) | 51 1 | Taux CSG déductible capital (patrimoine) | 40 1 | Taux CRDS capital revenus du patrimoine | 38 1 | Taux CRDS capital produits de placement | 38 1 | Structure financière ASF | 24 1 | Seuils | 5 1 | Seuil d'impôt sur le revenu | 27 1 | Seuil RFR3 - 1 Part | 18 1 | Seuil RFR2 - 1 part | 18 1 | Seuil RFR1 - 1 part | 18 1 | Salaire sous plafond | 19 1 | Ristournes Juppé (I, II et III) | 31 1 | Revenu minimum imposable | 23 1 | Restées aux 39h hedbomadaires au 30/06/2003 | 43 1 | Régimes complémentaires de retraite (privé) | 45 1 | Régimes complémentaires | 24 1 | Régime général | 16 1 | Régime de Garantie des Salaires (AGS) | 37 1 | Réductions des cotisations famille | 34 1 | Réductions de cotisations de Sécurité sociale (SS) | 52 1 | Réduction du taux | 17 1 | Réduction > 65 ans | 18 1 | RFR3 - Demi-part suppl. | 22 1 | RFR2 - Demi-part suppl. | 22 1 | RFR1 - Demi-part suppl. | 22 1 | Professions Médicals Temps Partiel | 34 1 | Poly-exposés | 12 1 | Plus de 20 salariés | 19 1 | Plafond en nombre de SMIC | 24 1 | Plafond SS | 9 1 | Pensions de retraite, préretraite et d'invalidité | 50 1 | Participation employeur à l'effort de construction | 50 1 | Part salariale | 13 1 | Part patronale | 13 1 | Part employeur | 13 1 | Paramètre 3 | 11 1 | Paramètre 2 | 11 1 | Paramètre 1 | 11 1 | Mono-exposés | 12 1 | Moins de 20 salariés | 20 1 | Mensuel | 6 1 | Majoration 2 | 11 1 | Majoration 1 | 11 1 | Journalistes Pigistes | 20 1 | Indemnités journalières | 24 1 | Horaire | 6 1 | Formation professionnelle | 24 1 | Fonds national d'aide au logement (FNAL) | 39 1 | Financement des organisations syndicales | 39 1 | Exonération annuelle minimale | 29 1 | En Alsace-Moselle | 16 1 | Employeur hors AM | 16 1 | Employeur AM | 11 1 | De 1,2 à 1,3 SMIC | 17 1 | De 1,1 à 1,2 SMIC | 17 1 | De 0 à 1,1 SMIC | 15 1 | Crédit d'impôt de taxe sur les salaires (CITS) | 47 1 | Cotisations sur les avantages vieillesse | 39 1 | Cotisations sur les allocations chômage et préretraite | 55 1 | Cotisations sur les allocations chômage | 39 1 | Cotisations salariés | 20 1 | Cotisations retraites exceptionnelle et temporaire (CET) (1997-2018) | 68 1 | Cotisations retraites des non-cadres (ARRCO) | 43 1 | Cotisations retraites des cades (AGIRC) (1948-2018) | 50 1 | Cotisations pour la structure financière de l'AGFF (2001-2018) | 62 1 | Cotisations pour la garantie minimale de points (GMP) (1989-2018) | 64 1 | Cotisations pour l'association pour l'emploi des cades (APEC) | 60 1 | Cotisations plafonnées | 22 1 | Cotisations forfaitaire mensuelle en euros | 41 1 | Cotisations fonction publique | 28 1 | Cotisations déplafonnées | 25 1 | Cotisations de Sécurité sociale du régime général | 53 1 | Cotisations chômage | 19 1 | Cotisations assurance chômage | 29 1 | Cotisations artistes | 19 1 | Cotisations additionnelles | 25 1 | Cotisations Assurance Maladie d'Alsace-Moselle | 45 1 | Cotisations Assurance Maladie | 28 1 | Cotisation totale | 16 1 | Cotisation patronale | 19 1 | Cotisation ouvrière | 19 1 | Cotisation maladie salarié tout salaire | 39 1 | Cotisation maladie salarié Alsace-Moselle sur tout salaire | 58 1 | Cotisation maladie employeur tout salaire | 40 1 | Cotisation forfaitaire annuelle | 30 1 | Cotisation de base | 17 1 | Cotisation chômage | 18 1 | Contribution supplémentaire | 27 1 | Contribution solidarité autonomie (CSA) | 39 1 | Contribution d'équilibre technique (CET) | 40 1 | Contribution d'équilibre général (CEG) | 40 1 | Contribution additionnelle solidarité autonomie (CASA) | 54 1 | Contribution additionnelle au développement de l'apprentissage | 62 1 | Congés individuels de formation | 31 1 | CSG Revenus Capital | 18 1 | CSG Déductible Revenus Capital | 30 1 | CSG | 2 1 | CRDS Revenus Capital | 19 1 | CRDS | 3 1 | CICE (2013-2018) | 15 1 | Branche retraite complémentaire | 31 1 | Branche pénibilité | 19 1 | Branche famille | 14 1 | Branche assurances sociales avant 1967 | 37 1 | Branche assurance vieillesse (CNAV) | 34 1 | Barème après fusion de l'AGIRC et de l'ARRCO | 45 1 | Barème Employeur | 16 1 | Avantages retraite | 17 1 | Assiette de participation | 24 1 | Artistes | 7 1 | Annuel | 5 1 | Allocations de préretraite | 26 1 | Allocations chômage | 19 1 | Allègements généraux | 22 1 | Allègements des cotisations famille | 35 1 | Allègements Robien (1996-2005) | 30 1 | Allègements Fillon | 18 1 | Allègement des lois Aubry II (2000-2003) | 40 1 | Aides incitatives à la RTT (Aubry I) (1998-2006) | 48 1 | Accord de RTT avant le 30/06/2003 | 32 1 | Accord 4 | 7 1 | Accord 3 | 7 1 | Accord 2 | 7 1 | Accord 1 | 7 1 | Accidents du Travail et Maladies professionnelles | 48 1 | Abattements spécifiques | 23 1 | Contributions de Sécurité sociale du régime général | 55 Cette donnée a été obtenue en combinant les résultats de : - `grep --no-filename -R 'ux_name' openfisca_france/parameters/ | cut -d ':' -f 2 | sort | uniq -c | sort -r` - `grep --no-filename -R 'ux_name' openfisca_france/parameters/ | cut -d ':' -f 2 | sort | uniq -c | sort -r | while read line; do count=$(echo $line | wc -c); echo $((count-4)) ; done` Une approximation est faite sur le nombre de caractères, qui peut être de + ou - 1 caractère en fonction du padding appliqué par `uniq -c`.

En l'état, on note que :

- Nom : `short_label`. - Type : ```diff - texte libre avec un nombre court de caractères. + langage naturel limité à 70 caractères, sur une seule ligne, sans espace en début ni fin. ``` - Objet : nom court de la variable, autorisant les abréviations les plus connues. - Échelle de déclaration : Variable. - Cas d'usage : - Afficher un nom reconnaissable par une personne non experte du modèle OpenFisca dans un espace d'affichage connu d'avance. - Faciliter la construction d'interfaces graphiques en ayant une contrainte connue de taille d'affichage. - Exemples : - `"Charges et aides différées"` - `"CICE"` - Lieu de documentation : openfisca.org/doc (les cas d'usage mentionnés nécessitent d'exposer cette information dans l'API web, il faudra donc modifier Core). Afin de supporter des langues différentes, le nombre et le type de caractères autorisés pourra faire l'objet d'une spécification par pays. La limite sera donc documentée dans `CONTRIBUTING.md`.
MattiSG commented 3 years ago

Version 1B d'une proposition pour UX Name (métadonnée de Variable)

On introduit une métadonnée dédiée short_label en considérant que le besoin d'un nom non-ambigu avec un nombre connu de caractères est suffisamment répandu. Cette proposition diffère de la 1A car elle rend obligatoire l'unicité du nom court utilisé.

Les valeurs actuellement renseignées sont disponibles ci-dessous :

Nombre d'occurrences | Texte | Nombre de caractères (±1) ---------------------|-------|------------------------- 22 | Taux | 4 20 | Taux employeur | 14 15 | Sous PSS | 8 15 | Moins de 65 ans | 15 13 | Plus de 65 ans | 14 12 | Barème salarié | 16 11 | Barème employeur | 17 7 | Employé AM | 10 7 | Abattement | 9 6 | Taux employé | 12 6 | Plafond (en nombre de SMIC) | 26 6 | Indépendants artisans-commerçants | 34 5 | Sur tout salaire | 15 5 | Employé hors AM | 15 5 | CSG imposable | 12 5 | CSG déductible | 14 5 | Branche assurance maladie | 24 4 | Taux réduit | 11 4 | Non-cadre | 8 4 | Employeur | 8 4 | Cadre | 4 4 | Branche assurance vieillesse | 27 4 | Année 5 | 7 4 | Année 4 | 7 4 | Année 3 | 7 4 | Année 2 | 7 4 | Année 1 | 7 3 | Tout salaire | 11 3 | Taux plein | 9 3 | Taux global | 10 3 | Salarié | 7 3 | Réduction maximale | 18 3 | Cotisations de sécurité sociale (1930-1966) | 44 3 | Branche allocations familiales | 29 3 | Branche accidents du travail | 27 3 | Assurances sociales avant 1967 | 29 2 | Toutes entreprises | 17 2 | Taux Global | 10 2 | Taux (6 années suivantes) | 25 2 | Taux (1ère année) | 18 2 | Sous plafond | 11 2 | Salariés | 8 2 | Revenus d'activité | 18 2 | Réduction du temps de travail de 10% | 36 2 | Professions libérales | 21 2 | Presse quotidienne | 17 2 | Presse périodique | 17 2 | Pensions de retraite et d'invalidité | 36 2 | Forfait annuel | 13 2 | Employeurs | 9 2 | Affiliation > 6 mois | 19 2 | Affiliation 3-6 mois | 19 1 | salaire charnière annuel | 24 1 | Versement transport | 18 1 | Versement forfaitaire sur les salaires | 37 1 | Taxes et participations | 22 1 | Taxes d'apprentissages | 21 1 | Taxe sur les salaires (depuis 1968) | 34 1 | Taxe exceptionnelle de solidarité sur les hautes rémunérations | 64 1 | Taux salarié | 12 1 | Taux médian | 11 1 | Taux max (au SMIC) | 17 1 | Taux global CSG capital (produits de placement) | 46 1 | Taux global CSG capital (patrimoine) | 35 1 | Taux employeur tout salaire | 26 1 | Taux employeur sous PSS | 22 1 | Taux employeur (hors A-M) | 24 1 | Taux CSG déductible capital (produits de placement) | 51 1 | Taux CSG déductible capital (patrimoine) | 40 1 | Taux CRDS capital revenus du patrimoine | 38 1 | Taux CRDS capital produits de placement | 38 1 | Structure financière ASF | 24 1 | Seuils | 5 1 | Seuil d'impôt sur le revenu | 27 1 | Seuil RFR3 - 1 Part | 18 1 | Seuil RFR2 - 1 part | 18 1 | Seuil RFR1 - 1 part | 18 1 | Salaire sous plafond | 19 1 | Ristournes Juppé (I, II et III) | 31 1 | Revenu minimum imposable | 23 1 | Restées aux 39h hedbomadaires au 30/06/2003 | 43 1 | Régimes complémentaires de retraite (privé) | 45 1 | Régimes complémentaires | 24 1 | Régime général | 16 1 | Régime de Garantie des Salaires (AGS) | 37 1 | Réductions des cotisations famille | 34 1 | Réductions de cotisations de Sécurité sociale (SS) | 52 1 | Réduction du taux | 17 1 | Réduction > 65 ans | 18 1 | RFR3 - Demi-part suppl. | 22 1 | RFR2 - Demi-part suppl. | 22 1 | RFR1 - Demi-part suppl. | 22 1 | Professions Médicals Temps Partiel | 34 1 | Poly-exposés | 12 1 | Plus de 20 salariés | 19 1 | Plafond en nombre de SMIC | 24 1 | Plafond SS | 9 1 | Pensions de retraite, préretraite et d'invalidité | 50 1 | Participation employeur à l'effort de construction | 50 1 | Part salariale | 13 1 | Part patronale | 13 1 | Part employeur | 13 1 | Paramètre 3 | 11 1 | Paramètre 2 | 11 1 | Paramètre 1 | 11 1 | Mono-exposés | 12 1 | Moins de 20 salariés | 20 1 | Mensuel | 6 1 | Majoration 2 | 11 1 | Majoration 1 | 11 1 | Journalistes Pigistes | 20 1 | Indemnités journalières | 24 1 | Horaire | 6 1 | Formation professionnelle | 24 1 | Fonds national d'aide au logement (FNAL) | 39 1 | Financement des organisations syndicales | 39 1 | Exonération annuelle minimale | 29 1 | En Alsace-Moselle | 16 1 | Employeur hors AM | 16 1 | Employeur AM | 11 1 | De 1,2 à 1,3 SMIC | 17 1 | De 1,1 à 1,2 SMIC | 17 1 | De 0 à 1,1 SMIC | 15 1 | Crédit d'impôt de taxe sur les salaires (CITS) | 47 1 | Cotisations sur les avantages vieillesse | 39 1 | Cotisations sur les allocations chômage et préretraite | 55 1 | Cotisations sur les allocations chômage | 39 1 | Cotisations salariés | 20 1 | Cotisations retraites exceptionnelle et temporaire (CET) (1997-2018) | 68 1 | Cotisations retraites des non-cadres (ARRCO) | 43 1 | Cotisations retraites des cades (AGIRC) (1948-2018) | 50 1 | Cotisations pour la structure financière de l'AGFF (2001-2018) | 62 1 | Cotisations pour la garantie minimale de points (GMP) (1989-2018) | 64 1 | Cotisations pour l'association pour l'emploi des cades (APEC) | 60 1 | Cotisations plafonnées | 22 1 | Cotisations forfaitaire mensuelle en euros | 41 1 | Cotisations fonction publique | 28 1 | Cotisations déplafonnées | 25 1 | Cotisations de Sécurité sociale du régime général | 53 1 | Cotisations chômage | 19 1 | Cotisations assurance chômage | 29 1 | Cotisations artistes | 19 1 | Cotisations additionnelles | 25 1 | Cotisations Assurance Maladie d'Alsace-Moselle | 45 1 | Cotisations Assurance Maladie | 28 1 | Cotisation totale | 16 1 | Cotisation patronale | 19 1 | Cotisation ouvrière | 19 1 | Cotisation maladie salarié tout salaire | 39 1 | Cotisation maladie salarié Alsace-Moselle sur tout salaire | 58 1 | Cotisation maladie employeur tout salaire | 40 1 | Cotisation forfaitaire annuelle | 30 1 | Cotisation de base | 17 1 | Cotisation chômage | 18 1 | Contribution supplémentaire | 27 1 | Contribution solidarité autonomie (CSA) | 39 1 | Contribution d'équilibre technique (CET) | 40 1 | Contribution d'équilibre général (CEG) | 40 1 | Contribution additionnelle solidarité autonomie (CASA) | 54 1 | Contribution additionnelle au développement de l'apprentissage | 62 1 | Congés individuels de formation | 31 1 | CSG Revenus Capital | 18 1 | CSG Déductible Revenus Capital | 30 1 | CSG | 2 1 | CRDS Revenus Capital | 19 1 | CRDS | 3 1 | CICE (2013-2018) | 15 1 | Branche retraite complémentaire | 31 1 | Branche pénibilité | 19 1 | Branche famille | 14 1 | Branche assurances sociales avant 1967 | 37 1 | Branche assurance vieillesse (CNAV) | 34 1 | Barème après fusion de l'AGIRC et de l'ARRCO | 45 1 | Barème Employeur | 16 1 | Avantages retraite | 17 1 | Assiette de participation | 24 1 | Artistes | 7 1 | Annuel | 5 1 | Allocations de préretraite | 26 1 | Allocations chômage | 19 1 | Allègements généraux | 22 1 | Allègements des cotisations famille | 35 1 | Allègements Robien (1996-2005) | 30 1 | Allègements Fillon | 18 1 | Allègement des lois Aubry II (2000-2003) | 40 1 | Aides incitatives à la RTT (Aubry I) (1998-2006) | 48 1 | Accord de RTT avant le 30/06/2003 | 32 1 | Accord 4 | 7 1 | Accord 3 | 7 1 | Accord 2 | 7 1 | Accord 1 | 7 1 | Accidents du Travail et Maladies professionnelles | 48 1 | Abattements spécifiques | 23 1 | Contributions de Sécurité sociale du régime général | 55 Cette donnée a été obtenue en combinant les résultats de : - `grep --no-filename -R 'ux_name' openfisca_france/parameters/ | cut -d ':' -f 2 | sort | uniq -c | sort -r` - `grep --no-filename -R 'ux_name' openfisca_france/parameters/ | cut -d ':' -f 2 | sort | uniq -c | sort -r | while read line; do count=$(echo $line | wc -c); echo $((count-4)) ; done` Une approximation est faite sur le nombre de caractères, qui peut être de + ou - 1 caractère en fonction du padding appliqué par `uniq -c`.

En l'état, on note que :

- Nom : `short_label`. - Type : ```diff - texte libre avec un nombre court de caractères. + langage naturel limité à 70 caractères, sur une seule ligne, sans espace en début ni fin, unique dans le système socio-fiscal. ``` - Objet : nom court de la variable, autorisant les abréviations les plus connues. - Échelle de déclaration : Variable. - Cas d'usage : - Afficher un nom reconnaissable par une personne non experte du modèle OpenFisca dans un espace d'affichage connu d'avance. - Faciliter la construction d'interfaces graphiques en ayant une contrainte connue de taille d'affichage. - Exemples : - `"Charges et aides différées"` - `"CICE"` - Lieu de documentation : openfisca.org/doc (les cas d'usage mentionnés nécessitent d'exposer cette information dans l'API web, il faudra donc modifier Core). Afin de supporter des langues différentes, le nombre et le type de caractères autorisés pourra faire l'objet d'une spécification par pays. La limite sera donc documentée dans `CONTRIBUTING.md`.
MattiSG commented 3 years ago

Version 1C d'une proposition pour UX Name (métadonnée de Variable)

Abandonner l'ajout d'une telle métadonnée dans OpenFisca, car l'information est trop spécifique à des contraintes d'affichage données.

Chaque application cliente devrait passer par une base de données externe à OpenFisca pour définir les étiquettes qu'elle souhaite afficher à ses utilisateurs, sur la base de l'identifiant de la variable dans OpenFisca.

MattiSG commented 3 years ago

Version 2A d'une proposition pour label (métadonnée de Variable)

On conserve le fonctionnement actuel de label, en raffinant simplement sa documentation et en introduisant une limite de caractères afin de permettre la validation automatique.

La distribution du nombre actuel de caractères des valeurs renseignées est disponible ci-dessous :

``` 0 7 7 9 10 11 12 13 13 14 14 14 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 16 16 16 16 16 17 17 17 18 18 18 18 18 18 19 19 19 19 20 20 20 20 20 20 20 20 21 21 21 21 21 21 21 21 21 22 22 22 22 22 22 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 24 24 24 24 24 24 24 24 24 24 24 24 25 25 25 25 25 25 25 25 26 26 26 26 26 26 26 26 26 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 28 28 28 28 28 28 28 28 28 28 28 28 28 28 29 29 29 29 29 29 29 29 29 29 29 29 29 30 30 30 30 30 30 30 30 30 30 30 30 30 31 31 31 31 31 31 31 31 31 31 31 32 32 32 32 32 32 32 33 33 33 33 33 33 33 33 33 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 41 41 41 41 41 41 41 41 41 41 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 43 43 43 43 43 43 43 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 47 47 47 47 47 47 47 47 47 47 47 47 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 49 49 49 49 49 49 49 49 49 49 49 49 49 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 51 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 52 53 53 53 53 53 53 53 53 53 53 53 53 53 53 53 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 54 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 57 57 57 57 57 57 57 57 57 57 57 57 57 57 57 57 57 57 57 57 57 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 59 59 59 59 59 59 59 59 59 59 59 59 59 59 59 59 59 59 59 59 59 59 59 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 62 62 62 62 62 62 62 62 62 62 62 62 62 62 62 62 62 62 62 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 65 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66 67 67 67 67 67 67 67 67 67 67 67 67 67 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 68 69 69 69 69 69 69 69 69 69 69 69 69 69 69 69 69 69 69 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 70 71 71 71 71 71 71 71 71 71 71 71 71 71 71 71 71 71 71 72 72 72 72 72 72 72 72 72 72 72 73 73 73 73 73 73 73 73 73 73 73 73 73 73 73 73 73 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 75 75 75 75 75 75 75 75 75 75 75 75 75 75 76 76 76 76 76 76 76 76 76 76 76 76 76 76 76 76 76 76 76 76 76 76 76 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 77 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 79 79 79 79 79 79 79 79 79 79 79 80 80 80 80 80 80 80 80 80 80 80 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 82 82 82 82 82 82 82 82 82 83 83 83 83 83 83 83 83 83 83 84 84 84 84 84 84 84 84 84 84 84 85 85 85 85 85 85 85 85 85 85 85 85 85 85 85 86 86 86 86 86 86 86 86 86 86 86 86 87 87 87 87 87 87 87 87 87 87 87 87 87 87 87 87 88 88 88 88 88 88 88 88 88 88 88 88 88 88 89 89 89 89 89 89 89 90 90 90 90 90 90 90 90 90 90 90 90 90 90 91 91 91 91 91 91 91 91 91 91 91 91 91 92 92 92 92 92 92 92 93 93 93 93 93 93 93 93 93 93 93 93 93 93 94 94 94 94 94 94 94 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 96 96 96 96 96 96 97 97 97 97 97 97 97 97 97 97 97 97 97 97 98 98 98 98 98 99 99 99 99 99 99 99 99 99 99 100 100 100 100 100 100 100 100 100 100 100 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 103 103 103 103 103 103 103 103 103 103 103 103 103 103 104 104 104 104 104 104 104 104 104 105 105 105 105 106 106 106 106 106 106 106 106 106 106 107 107 107 107 107 107 107 107 107 107 107 107 107 107 107 108 108 108 108 108 108 108 109 109 109 109 109 109 109 109 109 110 110 110 110 110 110 110 110 110 111 111 111 111 111 111 111 111 111 111 111 111 111 112 112 112 112 112 112 112 112 112 112 112 113 113 113 113 113 113 113 113 113 113 114 114 114 114 114 114 114 114 114 114 114 114 114 114 114 114 114 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 116 116 116 116 116 116 116 117 117 117 117 117 117 117 117 117 117 118 118 118 118 118 118 118 118 119 119 120 120 120 120 120 120 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 122 122 122 122 122 123 123 123 123 123 123 123 123 123 123 123 124 124 124 124 124 124 125 125 125 125 125 125 125 125 125 125 126 126 126 126 126 126 126 126 127 127 127 127 127 127 127 127 127 127 127 127 128 129 130 130 130 131 131 132 132 133 133 133 133 133 133 134 134 135 135 135 136 136 136 136 136 137 137 137 137 138 138 138 138 139 139 140 140 141 141 142 142 143 144 144 144 145 145 146 146 146 147 147 147 147 147 147 147 147 147 147 147 147 147 147 147 147 148 148 149 150 150 150 152 152 153 153 153 154 154 154 154 154 154 154 154 155 157 157 158 159 160 160 160 160 160 162 162 163 163 164 165 165 165 166 166 166 166 167 167 167 168 171 171 173 174 174 175 175 175 175 177 178 179 180 180 180 182 182 182 182 182 182 182 182 182 182 183 183 183 183 183 183 183 183 183 183 183 183 184 184 184 184 184 184 184 184 184 184 184 186 186 186 186 186 186 186 187 187 187 187 187 187 187 188 190 190 190 190 191 192 193 193 193 194 196 196 196 196 196 197 197 198 198 198 199 200 201 201 201 201 201 201 202 205 206 207 207 208 208 209 209 209 209 209 209 209 209 209 209 211 212 212 212 212 212 215 215 215 216 217 217 217 217 217 217 217 217 217 217 217 217 217 217 217 218 218 218 219 219 221 222 222 223 223 223 223 223 223 223 223 223 223 223 223 223 223 223 223 223 225 226 226 227 227 227 228 228 228 229 229 229 230 230 230 231 231 231 231 231 231 231 231 231 231 233 233 234 235 236 236 236 237 237 238 238 238 238 238 239 254 254 254 261 266 266 266 268 268 270 273 277 278 278 281 284 284 284 285 285 285 285 286 286 286 289 289 289 290 291 291 292 292 293 301 301 302 315 318 318 318 318 318 318 319 319 319 320 321 324 325 326 340 340 341 341 346 346 346 347 347 348 354 355 372 390 410 412 ``` Ces valeurs ont été obtenues par l'exécution de `grep --no-filename -R 'label =' openfisca_france | cut -d ':' -f 2 | sort | uniq -c | sort -r | while read line; do count=$(echo $line | wc -c); echo $((count-4)) ; done | sort --numeric-sort`.

En l'état, le label le plus long compte 412 caractères.


* Nom : `label` * Type : ```diff - texte libre. + langage naturel limité à 420 caractères, sur une seule ligne, sans espace en début ni fin. ``` * Objet : ```diff - “a human friendly way to describe the variable”. + “An unambiguous human-readable description of the variable, with all acronyms expanded. Well-known acronyms should be repeated between parentheses when they are likely to be more known than the expanded version.”. ``` * Échelle de déclaration : Variable. * Cas d'usage : * Désambiguer une variable dont le nom est une abréviation. * Rechercher et afficher une variable dans l'explorateur de législation. * Exemples : * `"Pensions alimentaires"` * `"Charges déductibles"` * Lieu de documentation : openfisca.org/doc (les cas d'usage mentionnés nécessitent d'exposer cette information dans l'API web, il faudra donc modifier Core). Afin de supporter des langues différentes, le nombre et le type de caractères autorisés pourra faire l'objet d'une spécification par pays. La limite sera donc documentée dans `CONTRIBUTING.md`.
MattiSG commented 3 years ago

Version 2B d'une proposition pour label (métadonnée de Variable)

Les label restent sensiblement les mêmes, en raffinant simplement sa documentation et en introduisant une limite de caractères afin de permettre la validation automatique, mais doivent désormais être uniques dans le système socio-fiscal.

La liste des valeurs en doublon est disponible ci-dessous :

| Nombre d'occurrences | Texte | |----------------------|-------| | 2 | "Abattements nets (abattement pour durée de détention renforcé et abattement fixe spécial) appliqués sur des plus-values réalisées par les dirigeants de PME lors de leur départ à la retraite" | | 2 | "Acquisition de biens culturels" | | 2 | "Allocation personalisée d'autonomie en institution" | | 2 | "Assiette CSG - CRDS" | | 2 | "Charges, aides et crédits différées ou particulières" | | 2 | "Contribution exceptionnelle sur les hauts revenus" | | 2 | "Cotisation fonds national action logement (FNAL)" | | 2 | "Cotisation maladie (employeur)" | | 2 | "Crédit d’impôt représentatif de la taxe additionnelle au droit de bail" | | 2 | "Déductions diverses" | | 2 | "Dépenses en faveur de la qualité environnementale de l'habitation principale: Autres équipements de production d'énergie utilisant une source d'énergie renouvelable (éolien, hydraulique)" | | 2 | "Dons et cotisations versés aux partis politiques" | | 2 | "Échelon de la bourse de collège attribuée" | | 2 | "Eligibilité au livret d'épargne populaire" | | 2 | "Impôt payé à l'étranger sur revenus de capitaux mobiliers et plus-values ouvrant droit à un crédit d'impôt" | | 2 | "Investissements destinés à la location meublée non professionnelle : Report du solde de réduction d’impôt non encore imputé" | | 2 | "Investissements locatifs neufs dispositif Scellier : investissements engagés en 2010, réalisés en 2011, " | | 2 | "Investissements locatifs neufs dispositif Scellier : investissements engagés en 2011, réalisés en 2012, DOM, Saint-Barthélémy, Saint-Martin, Saint-Pierre-et-Miquelon" | | 2 | "Investissements locatifs neufs dispositif Scellier : investissements engagés en 2011, réalisés en 2012, Polynésie Française, Nouvelle Calédonie, Wallis et Futuna" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Autres investissements ayant fait l'objet avant 1.1.2009 d'une demande d'agrément, d'une déclaration d'ouverture de chantier ou d'un accompte d'au moins 50%" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Autres investissements ayant fait l'objet en 2009 d'une demande d'agrément, d'une déclaration d'ouverture de chantier ou d'un accompte d'au moins 50%, Investissements dans votre entreprise, montant de la réduction d' impôt dont vous demandez l'imputation en 2011" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Autres investissements ayant fait l'objet en 2009 d'une demande d'agrément, d'une déclaration d'ouverture de chantier ou d'un accompte d'au moins 50%, Investissements donnés en location à une entreprise exploitante à laquelle vous rétrocédez la réduction d'impôt à hauteur de 52,63%" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Autres investissements ayant fait l'objet en 2009 d'une demande d'agrément, d'une déclaration d'ouverture de chantier ou d'un accompte d'au moins 50%, Investissements donnés en location à une entreprise exploitante à laquelle vous rétrocédez la réduction d'impôt à hauteur de 62,5%" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Autres investissements ayant fait l'objet en 2010 d'une demande d'agrément, d'une déclaration d'ouverture de chantier ou d'un accompte d'au moins 50%, Investissements dans votre entreprise, montant de la réduction d' impôt dont vous demandez l'imputation en 2011" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Autres investissements ayant fait l'objet en 2010 d'une demande d'agrément, d'une déclaration d'ouverture de chantier ou d'un accompte d'au moins 50%, Investissements donnés en location à une entreprise exploitante à laquelle vous rétrocédez la réduction d'impôt à hauteur de 52,63%" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Autres investissements ayant fait l'objet en 2010 d'une demande d'agrément, d'une déclaration d'ouverture de chantier ou d'un accompte d'au moins 50%, Investissements donnés en location à une entreprise exploitante à laquelle vous rétrocédez la réduction d'impôt à hauteur de 62,5%" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Autres investissements, Investissements ayant fait l’objet en 2010 ou 2011 d’une demande d’agrément, d’une déclaration d’ouverture de chantier ou d’un acompte d’au moins 50 %, Investissements donnés en location à une entreprise exploitante à laquelle vous rétrocédez la réduction d’impôt en 2010 à hauteur de 52,63%" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Autres investissements, Investissements ayant fait l’objet en 2010 ou 2011 d’une demande d’agrément, d’une déclaration d’ouverture de chantier ou d’un acompte d’au moins 50 %, Investissements donnés en location à une entreprise exploitante à laquelle vous rétrocédez la réduction d’impôt en 2010 à hauteur de 62,5%" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Autres investissements, Investissements ayant fait l’objet en 2010 ou 2011 d’une demande d’agrément, d’une déclaration d’ouverture de chantier ou d’un acompte d’au moins 50 %, Investissements donnés en location à une entreprise exploitante à laquelle vous rétrocédez la réduction d’impôt en 2011 à hauteur de 52,63%" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Autres investissements, Investissements ayant fait l’objet en 2010 ou 2011 d’une demande d’agrément, d’une déclaration d’ouverture de chantier ou d’un acompte d’au moins 50 %, Investissements donnés en location à une entreprise exploitante à laquelle vous rétrocédez la réduction d’impôt en 2011 à hauteur de 62,5%" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Autres investissements, Investissements ayant fait l’objet en 2012 d’une demande d’agrément, d’une déclaration d’ouverture de chantier ou d’un acompte d’au moins 50 %, Investissements dans votre entreprise avec exploitation directe, montant de la réduction d’impôt calculé" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Autres investissements, Investissements ayant fait l’objet en 2012 d’une demande d’agrément, d’une déclaration d’ouverture de chantier ou d’un acompte d’au moins 50 %, Investissements dans votre entreprise avec exploitation directe, montant de la réduction d’impôt dont vous demandez l’imputation en 2013" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Autres investissements, Investissements ayant fait l’objet en 2012 d’une demande d’agrément, d’une déclaration d’ouverture de chantier ou d’un acompte d’au moins 50 %, Investissements dans votre entreprise" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Autres investissements, Investissements ayant fait l’objet en 2012 d’une demande d’agrément, d’une déclaration d’ouverture de chantier ou d’un acompte d’au moins 50 %, Investissements donnés en location à une entreprise exploitante à laquelle vous rétrocédez la réduction d’impôt à hauteur de 52,63%" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Autres investissements, Investissements ayant fait l’objet en 2012 d’une demande d’agrément, d’une déclaration d’ouverture de chantier ou d’un acompte d’au moins 50 %, Investissements donnés en location à une entreprise exploitante à laquelle vous rétrocédez la réduction d’impôt à hauteur de 62,5%" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Autres investissements, Investissements ayant fait l’objet en 2012, 2013 ou 2014 d’une demande d’agrément, d’une déclaration d’ouverture de chantier ou d’un acompte d’au moins 50 %, Investissements donnés en location à une entreprise exploitante à laquelle vous rétrocédez la réduction d’impôt en 2012 à hauteur de 52,63%" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Autres investissements, Investissements ayant fait l’objet en 2012, 2013 ou 2014 d’une demande d’agrément, d’une déclaration d’ouverture de chantier ou d’un acompte d’au moins 50 %, Investissements donnés en location à une entreprise exploitante à laquelle vous rétrocédez la réduction d’impôt en 2012 à hauteur de 62,5%" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Autres investissements, Investissements ayant fait l’objet en 2012, 2013 ou 2014 d’une demande d’agrément, d’une déclaration d’ouverture de chantier ou d’un acompte d’au moins 50 %, Investissements donnés en location à une entreprise exploitante à laquelle vous rétrocédez la réduction d’impôt en 2013 ou 2014 à hauteur de 52,63%" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Autres investissements, Investissements ayant fait l’objet en 2012, 2013 ou 2014 d’une demande d’agrément, d’une déclaration d’ouverture de chantier ou d’un acompte d’au moins 50 %, Investissements donnés en location à une entreprise exploitante à laquelle vous rétrocédez la réduction d’impôt en 2013 ou 2014 à hauteur de 62,5%" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Autres investissements, Investissements dans votre entreprise avec exploitation directe en 2010" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Autres investissements, Investissements dans votre entreprise avec exploitation directe en 2011" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Autres investissements, Investissements dans votre entreprise avec exploitation directe en 2012" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Autres investissements, Investissements dans votre entreprise avec exploitation directe en 2013 ou 2014" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Autres investissements, Investissements dans votre entreprise avec exploitation directe, montant de la réduction d’impôt dont vous demandez l’imputation en 2013, en 2010" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Autres investissements, Investissements dans votre entreprise avec exploitation directe, montant de la réduction d’impôt dont vous demandez l’imputation en 2013, en 2011" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Autres investissements, Investissements dans votre entreprise avec exploitation directe, montant de la réduction d’impôt dont vous demandez l’imputation en 2015, en 2012" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Autres investissements, Investissements dans votre entreprise avec exploitation directe, montant de la réduction d’impôt dont vous demandez l’imputation en 2015, en 2013 ou 2014" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Autres investissements, Investissements dans votre entreprise en 2010" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Autres investissements, Investissements dans votre entreprise en 2011" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Autres investissements, Investissements dans votre entreprise en 2012" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Autres investissements, Investissements dans votre entreprise en 2013 ou 2014" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Investissements autres que ceux des lignes précédentes, Investissements dans votre entreprise, montant de la réduction d' impôt dont vous demandez l'imputation en 2011" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Investissements autres que ceux des lignes précédentes, Investissements donnés en location à une entreprise exploitante à laquelle vous rétrocédez la réduction d'impôt à hauteur de 52,63%" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Investissements autres que ceux des lignes précédentes, Investissements donnés en location à une entreprise exploitante à laquelle vous rétrocédez la réduction d'impôt à hauteur de 62,5%" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Investissements autres que ceux des lignes précédentes, Investissements donnés en location à une entreprise exploitante à laquelle vous rétrocédez la réduction d’impôt à hauteur de 52,63%" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Investissements autres que ceux des lignes précédentes, Investissements donnés en location à une entreprise exploitante à laquelle vous rétrocédez la réduction d’impôt à hauteur de 56%" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Investissements autres que ceux des lignes précédentes, Investissements donnés en location à une entreprise exploitante à laquelle vous rétrocédez la réduction d’impôt à hauteur de 62,5%" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Investissements autres que ceux des lignes précédentes, Investissements donnés en location à une entreprise exploitante à laquelle vous rétrocédez la réduction d’impôt à hauteur de 66%" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Investissements autres que ceux des lignes précédentes, investissements dans votre entreprise avec exploitation directe, montant de la réduction d'impôt dont vous demandez l'imputation en 2012" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Investissements autres que ceux des lignes précédentes, investissements dans votre entreprise" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Investissements autres que ceux des lignes précédentes, investissements donnés en location à une entreprise exploitante à laquelle vous rétrocédez la réduction d'impôt à hauteur de 52,63 %" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Investissements autres que ceux des lignes précédentes, investissements donnés en location à une entreprise exploitante à laquelle vous rétrocédez la réduction d'impôt à hauteur de 62,5 %" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Investissements ayant fait l'objet avant 2009 d'une demande d'agrément, d'une déclaration d'ouverture de chantier ou d'un acompte d'au moins 50 %" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Investissements ayant fait l'objet en 2009 d'une demande d'agrément, d'une déclaration d'ouverture de chantier ou d'un acompte d'au moins 50 %, investissements dans votre entreprise avec exploitation directe, montant de la réduction d'impôt calculée" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Investissements ayant fait l'objet en 2009 d'une demande d'agrément, d'une déclaration d'ouverture de chantier ou d'un acompte d'au moins 50 %, investissements dans votre entreprise avec exploitation directe, montant de la réduction d'impôt dont vous demandez l'imputation en 2012" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Investissements ayant fait l'objet en 2009 d'une demande d'agrément, d'une déclaration d'ouverture de chantier ou d'un acompte d'au moins 50 %, investissements dans votre entreprise" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Investissements ayant fait l'objet en 2009 d'une demande d'agrément, d'une déclaration d'ouverture de chantier ou d'un acompte d'au moins 50 %, investissements donnés en location à une entreprise exploitante à laquelle vous rétrocédez la réduction d'impôt à hauteur de 52,63 %" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Investissements ayant fait l'objet en 2009 d'une demande d'agrément, d'une déclaration d'ouverture de chantier ou d'un acompte d'au moins 50 %, investissements donnés en location à une entreprise exploitante à laquelle vous rétrocédez la réduction d'impôt à hauteur de 62,5 %" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Investissements ayant fait l'objet en 2010 d'une demande d'agrément, d'une déclaration d'ouverture de chantier ou d'un acompte d'au moins 50 %, investissements dans votre entreprise avec exploitation directe, montant de la réduction d'impôt calculée" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Investissements ayant fait l'objet en 2010 d'une demande d'agrément, d'une déclaration d'ouverture de chantier ou d'un acompte d'au moins 50 %, investissements dans votre entreprise avec exploitation directe, montant de la réduction d'impôt dont vous demandez l'imputation en 2012" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Investissements ayant fait l'objet en 2010 d'une demande d'agrément, d'une déclaration d'ouverture de chantier ou d'un acompte d'au moins 50 %, investissements dans votre entreprise" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Investissements ayant fait l'objet en 2010 d'une demande d'agrément, d'une déclaration d'ouverture de chantier ou d'un acompte d'au moins 50 %, investissements donnés en location à une entreprise exploitante à laquelle vous rétrocédez la réduction d'impôt à hauteur de 52,63 %" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Investissements ayant fait l'objet en 2010 d'une demande d'agrément, d'une déclaration d'ouverture de chantier ou d'un acompte d'au moins 50 %, investissements donnés en location à une entreprise exploitante à laquelle vous rétrocédez la réduction d'impôt à hauteur de 62,5 %" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Investissements ayant fait l'objet en 2011 d'une demande d'agrément, d'une déclaration d'ouverture de chantier ou d'un acompte d'au moins 50 %, investissements dans votre entreprise avec exploitation directe, montant de la réduction d'impôt calculée" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Investissements ayant fait l'objet en 2011 d'une demande d'agrément, d'une déclaration d'ouverture de chantier ou d'un acompte d'au moins 50 %, investissements dans votre entreprise avec exploitation directe, montant de la réduction d'impôt dont vous demandez l'imputation en 2012" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Investissements ayant fait l'objet en 2011 d'une demande d'agrément, d'une déclaration d'ouverture de chantier ou d'un acompte d'au moins 50 %, investissements dans votre entreprise" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Investissements ayant fait l'objet en 2011 d'une demande d'agrément, d'une déclaration d'ouverture de chantier ou d'un acompte d'au moins 50 %, investissements donnés en location à une entreprise exploitante à laquelle vous rétrocédez la réduction d'impôt à hauteur de 52,63 %" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Investissements ayant fait l'objet en 2011 d'une demande d'agrément, d'une déclaration d'ouverture de chantier ou d'un acompte d'au moins 50 %, investissements donnés en location à une entreprise exploitante à laquelle vous rétrocédez la réduction d'impôt à hauteur de 62,5 %" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Investissements immobliliers engagés avant le 1.1.2011 et investissements ayant reçu un agrément avant le 5.12.2010 à hauteur de 50%" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Investissements immobliliers engagés avant le 1.1.2011 et investissements ayant reçu un agrément avant le 5.12.2010 à hauteur de 60%" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Investissements immobliliers engagés avant le 1.1.2011 et investissements ayant reçu un agrément avant le 5.12.2010, nvestissements ayant fait l'objet avant 2009 d'une demande d'agrément, d'une déclaration d'ouverture de chantier ou d'un accompte d'au moins 50%" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Investissements réalisés en 2012, Investissements ayant fait l'objet avant 2009 d'une demande d'agrément, d'une déclaration d'ouverture de chantier ou d'un acompte d'au moins 50%" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Investissements réalisés en 2012, Investissements ayant fait l'objet en 2009 d'une demande d'agrément, d'une déclaration d'ouverture de chantier ou d'un acompte d'au moins 50%, investissements dans votre entreprise avec exploitation directe, montant de la réduction d'impôt calculée" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Investissements réalisés en 2012, Investissements ayant fait l'objet en 2009 d'une demande d'agrément, d'une déclaration d'ouverture de chantier ou d'un acompte d'au moins 50%, investissements dans votre entreprise avec exploitation directe, montant de la réduction d'impôt dont vous demandez l'imputation en 2012" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Investissements réalisés en 2012, Investissements ayant fait l'objet en 2009 d'une demande d'agrément, d'une déclaration d'ouverture de chantier ou d'un acompte d'au moins 50%, investissements dans votre entreprise" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Investissements réalisés en 2012, Investissements ayant fait l'objet en 2009 d'une demande d'agrément, d'une déclaration d'ouverture de chantier ou d'un acompte d'au moins 50%, investissements donnés en location à une entreprise exploitante à laquelle vous rétrocédez la réduction d'impôt à hauteur de 50 %" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Investissements réalisés en 2012, Investissements ayant fait l'objet en 2009 d'une demande d'agrément, d'une déclaration d'ouverture de chantier ou d'un acompte d'au moins 50%, investissements donnés en location à une entreprise exploitante à laquelle vous rétrocédez la réduction d'impôt à hauteur de 60 %" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Investissements réalisés en 2012, Investissements ayant fait l'objet en 2010 d'une demande d'agrément, d'une déclaration d'ouverture de chantier ou d'un acompte d'au moins 50%, investissements dans votre entreprise avec exploitation directe, montant de la réduction d'impôt calculée" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Investissements réalisés en 2012, Investissements ayant fait l'objet en 2010 d'une demande d'agrément, d'une déclaration d'ouverture de chantier ou d'un acompte d'au moins 50%, investissements dans votre entreprise avec exploitation directe, montant de la réduction d'impôt dont vous demandez l'imputation en 2012" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Investissements réalisés en 2012, Investissements ayant fait l'objet en 2010 d'une demande d'agrément, d'une déclaration d'ouverture de chantier ou d'un acompte d'au moins 50%, investissements dans votre entreprise" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Investissements réalisés en 2012, Investissements ayant fait l'objet en 2010 d'une demande d'agrément, d'une déclaration d'ouverture de chantier ou d'un acompte d'au moins 50%, investissements donnés en location à une entreprise exploitante à laquelle vous rétrocédez la réduction d'impôt à hauteur de 50 %" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Investissements réalisés en 2012, Investissements ayant fait l'objet en 2010 d'une demande d'agrément, d'une déclaration d'ouverture de chantier ou d'un acompte d'au moins 50%, investissements donnés en location à une entreprise exploitante à laquelle vous rétrocédez la réduction d'impôt à hauteur de 60 %" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Investissements réalisés en 2012, Investissements ayant fait l'objet en 2011 d'une demande d'agrément, d'une déclaration d'ouverture de chantier ou d'un acompte d'au moins 50%, investissements dans votre entreprise avec exploitation directe, montant de la réduction d'impôt calculée" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Investissements réalisés en 2012, Investissements ayant fait l'objet en 2011 d'une demande d'agrément, d'une déclaration d'ouverture de chantier ou d'un acompte d'au moins 50%, investissements dans votre entreprise avec exploitation directe, montant de la réduction d'impôt dont vous demandez l'imputation en 2012" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Investissements réalisés en 2012, Investissements ayant fait l'objet en 2011 d'une demande d'agrément, d'une déclaration d'ouverture de chantier ou d'un acompte d'au moins 50%, investissements dans votre entreprise" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Investissements réalisés en 2012, Investissements ayant fait l'objet en 2011 d'une demande d'agrément, d'une déclaration d'ouverture de chantier ou d'un acompte d'au moins 50%, investissements donnés en location à une entreprise exploitante à laquelle vous rétrocédez la réduction d'impôt à hauteur de 52,63 %" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise : Investissements réalisés en 2012, Investissements ayant fait l'objet en 2011 d'une demande d'agrément, d'une déclaration d'ouverture de chantier ou d'un acompte d'au moins 50%, investissements donnés en location à une entreprise exploitante à laquelle vous rétrocédez la réduction d'impôt à hauteur de 62,5 %" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise REPORT : Investissements réalisés en 2010, Autres investissements réalisés en 2010, Investissements donnés en location à une entreprise exploitante à laquelle vous rétrocédez la réduction d'impôt à hauteur de 50%" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise REPORT : Investissements réalisés en 2010, Autres investissements réalisés en 2010, Investissements donnés en location à une entreprise exploitante à laquelle vous rétrocédez la réduction d'impôt à hauteur de 60%" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise REPORT : Investissements réalisés en 2010, Investissements ayant fait l'objet avant 2009 d'une demande d'agrément, d'une déclaration d'ouverture de chantier ou d'un accompte d'au moins 50%" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise REPORT : Investissements réalisés en 2010, Investissements ayant fait l'objet en 2009 d'une demande d'agrément, d'une déclaration d'ouverture de chantier ou d'un accompte d'au moins 50%, Investissements donnés en location à une entreprise exploitante à laquelle vous rétrocédez la réduction d'impôt à hauteur de 60%" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise REPORT : Investissements réalisés en 2010, Investissements dans votre entreprise" | | 2 | "Investissements outre-mer dans le cadre de l'entreprise REPORT : Investissements réalisés en 2010, Investissements donnés en location à une entreprise exploitante à laquelle vous rétrocédez la réduction d'impôt, Investissements dans votre entreprise" | | 2 | "Investissements outre-mer dans le logement : Investissements réalisés en 2011, Autres investissements" | | 2 | "Investissements outre-mer dans le logement : Investissements réalisés en 2011, Investissements immobiliers engagés avant le 1.1.2011, ayant fait l'objet d'une demande d'agrément, d'une déclaration d'ouverture de chantier ou d'un acompte d'au moins 50% avant 2009" | | 2 | "Investissements outre-mer dans le logement : Investissements réalisés en 2011, Investissements immobiliers engagés avant le 1.1.2011, ayant fait l'objet d'une demande d'agrément, d'une déclaration d'ouverture de chantier ou d'un acompte d'au moins 50% en 2009" | | 2 | "Investissements outre-mer dans le logement : Investissements réalisés en 2011, Investissements immobiliers engagés avant le 1.1.2011, ayant fait l'objet d'une demande d'agrément, d'une déclaration d'ouverture de chantier ou d'un acompte d'au moins 50% en 2010" | | 2 | "Investissements outre-mer dans le logement : Investissements réalisés en 2011, Investissements immobiliers engagés en 2011, ayant fait l'objet d'une demande d'agrément, d'une déclaration d'ouverture de chantier ou d'un acompte d'au moins 50% avant 2009" | | 2 | "Investissements outre-mer dans le logement : Investissements réalisés en 2011, Investissements immobiliers engagés en 2011, ayant fait l'objet d'une demande d'agrément, d'une déclaration d'ouverture de chantier ou d'un acompte d'au moins 50% en 2009" | | 2 | "Investissements outre-mer dans le logement : Investissements réalisés en 2011, Investissements immobiliers engagés en 2011, ayant fait l'objet d'une demande d'agrément, d'une déclaration d'ouverture de chantier ou d'un acompte d'au moins 50% en 2010" | | 2 | "Investissements outre-mer dans le logement : Investissements réalisés en 2012, " | | 2 | "Investissements outre-mer dans le logement : Investissements réalisés en 2012, Investissements immobiliers que vous avez engagé avant le 1.1.2011, ayant fait l'objet d'une demande d'agrément, d'une déclaration d'ouverture de chantier ou d'un acompte d'au moins 50 % avant 2009" | | 2 | "Investissements outre-mer dans le logement : Investissements réalisés en 2012, Investissements immobiliers que vous avez engagé avant le 1.1.2011, ayant fait l'objet d'une demande d'agrément, d'une déclaration d'ouverture de chantier ou d'un acompte d'au moins 50 % en 2009" | | 2 | "Investissements outre-mer dans le logement : Investissements réalisés en 2012, Investissements immobiliers que vous avez engagé avant le 1.1.2011, ayant fait l'objet d'une demande d'agrément, d'une déclaration d'ouverture de chantier ou d'un acompte d'au moins 50 % en 2010" | | 2 | "Investissements outre-mer dans le logement : Investissements réalisés en 2012, Investissements immobiliers que vous avez engagé en 2011, ayant fait l'objet d'une demande d'agrément, d'une déclaration d'ouverture de chantier ou d'un acompte d'au moins 50 % avant 2009" | | 2 | "Investissements outre-mer dans le logement : Investissements réalisés en 2012, Investissements immobiliers que vous avez engagé en 2011, ayant fait l'objet d'une demande d'agrément, d'une déclaration d'ouverture de chantier ou d'un acompte d'au moins 50 % en 2009" | | 2 | "Investissements outre-mer dans le logement : Investissements réalisés en 2012, Investissements immobiliers que vous avez engagé en 2011, ayant fait l'objet d'une demande d'agrément, d'une déclaration d'ouverture de chantier ou d'un acompte d'au moins 50 % en 2010" | | 2 | "Investissements outre-mer dans le logement : Investissements réalisés en 2012, Investissements immobiliers que vous avez engagé en 2011, ayant fait l'objet d'une demande d'agrément, d'une déclaration d'ouverture de chantier ou d'un acompte d'au moins 50 % en 2011" | | 2 | "Investissements outre-mer dans le logement : Investissements réalisés en 2012, Investissements immobiliers que vous avez engagé en 2012, ayant fait l'objet d'une demande d'agrément, d'une déclaration d'ouverture de chantier ou d'un acompte d'au moins 50 % avant 2009" | | 2 | "Investissements outre-mer dans le logement : Investissements réalisés en 2012, Investissements immobiliers que vous avez engagé en 2012, ayant fait l'objet d'une demande d'agrément, d'une déclaration d'ouverture de chantier ou d'un acompte d'au moins 50 % en 2009" | | 2 | "Investissements outre-mer dans le logement : Investissements réalisés en 2012, Investissements immobiliers que vous avez engagé en 2012, ayant fait l'objet d'une demande d'agrément, d'une déclaration d'ouverture de chantier ou d'un acompte d'au moins 50 % en 2010" | | 2 | "Investissements outre-mer dans le logement : Investissements réalisés en 2012, Investissements immobiliers que vous avez engagé en 2012, ayant fait l'objet d'une demande d'agrément, d'une déclaration d'ouverture de chantier ou d'un acompte d'au moins 50 % en 2011" | | 2 | "Investissements outre-mer dans le logement social : Investissements réalisés en 2010" | | 2 | "Investissements outre-mer réalisés en 2008 dans le casdre d'une entreprise: report de réduction d'impôt non imputée les années antérieures" | | 2 | "Montant de l'Allocation adulte handicapé (hors complément) pour un individu, mensualisée" | | 2 | "Montant maximal de l'allocation Garantie Jeune" | | 2 | "Nombre d'enfants majeurs célibataires sans enfant" | | 2 | "Pertes en capital consécutives à la souscription au capital de sociétés nouvelles ou de sociétés en difficulté" | | 2 | "Pertes en capital sur prêts participatifs en 2017 à reporter sur l'année courante" | | 2 | "Réduction dégressive de CSG" | | 2 | "Réductions pour investissements directs dans une société" | | 2 | "Réductions pour investissements par sociétés interposées, holdings" | | 2 | "Revenu disponible du ménage" | | 2 | "Somme des réductions d'impôt" | | 2 | "Souscriptions au capital des SOFIPÊCHE" | | 2 | "Souscriptions en faveur du cinéma ou de l’audiovisuel" | | 2 | "Taux de cotisation employeur pour la prévoyance obligatoire des cadres" | | 2 | 'Salaire imposable utilisé pour remonter au salaire brut' | | 2 | 'foy', label | | 3 | "Assiette CSG des personnes non salariées" | | 3 | "Investissements locatifs dans le secteur de touristique, logement neuf: report des dépenses d'investissement des années antérieures" | | 3 | "Investissements locatifs dans le secteur de touristique: Report des dépenses d'investissement des années antérieures" | | 3 | "Investissements outre-mer dans le cadre de l'entreprise REPORT : Investissements réalisés en 2010, Investissements ayant fait l'objet en 2009 d'une demande d'agrément, d'une déclaration d'ouverture de chantier ou d'un accompte d'au moins 50%, Investissements donnés en location à une entreprise exploitante à laquelle vous rétrocédez la réduction d'impôt à hauteur de 50%" | | 3 | "Investissements outre-mer dans le logement social : Investissements réalisés en 2011" | | 4 | "Dépenses de protection du patrimoine naturel (excédent de réduction d’impôt d’années antérieures qui n’a pu être imputé)" | | 4 | "Dépenses de travaux dans l'habitation principale" | | 4 | "Investissements destinés à la location meublée non professionnelle : " | | 4 | "Investissements destinés à la location meublée non professionnelle : Report du solde de réduction d'impôt non encore imputé 2013" | | 4 | "Investissements outre-mer dans le cadre de l'entreprise : Investissements autres que ceux des lignes précédentes, Investissements dans votre entreprise avec exploitation directe, montant de la réduction d’impôt calculé" | | 4 | "Investissements outre-mer dans le cadre de l'entreprise : Investissements autres que ceux des lignes précédentes, Investissements dans votre entreprise avec exploitation directe, montant de la réduction d’impôt dont vous demandez l’imputation en 2013" | | 4 | "Investissements outre-mer dans le cadre de l'entreprise : Investissements autres que ceux des lignes précédentes, Investissements dans votre entreprise" | | 4 | "Investissements outre-mer dans le logement social : Investissements réalisés en 2012" | | 4 | "Investissements outre-mer dans le logement social : Investissements réalisés en 2014" | | 5 | "Allocation logement pour les logements foyers loyer minimal" | | 5 | "Investissements destinés à la location meublée non professionnelle : Report du solde de réduction d’impôt non imputé de 2016" | | 5 | "Investissements destinés à la location meublée non professionnelle : Report du solde de réduction d’impôt non imputé de 2017" | | 5 | "Investissements destinés à la location meublée non professionnelle : Report du solde de réduction d’impôt non imputé de 2018" | | 5 | "Investissements locatifs dans une résidence hôtelière à vocation sociale: report des dépenses d'investissement des années antérieures" | | 5 | "Investissements outre-mer dans le logement social : Investissements réalisés en 2015" | | 5 | "Investissements outre-mer dans le logement social : Investissements réalisés en 2016" | | 5 | "Investissements outre-mer dans le logement social : Investissements réalisés en 2017" | | 6 | "Travaux de restauration immobilière dans un secteur sauvegardé ou assimilé" | | 7 | "Déficits des années antérieures non encore déduits" | | 5 | "Investissements outre-mer dans le cadre de l'entreprise" | Ces valeurs ont été obtenues par l'exécution de `grep --no-filename -R 'label =' openfisca_france | cut -d '=' -f 2 | sort | uniq -c | sort `.

En l'état, l'immense majorité des valeurs en doublon sont dans le domaine des investissements outre-mer.


* Nom : `label` * Type : ```diff - texte libre. + langage naturel limité à 420 caractères, sur une seule ligne, sans espace en début ni fin, unique dans le système socio-fiscal. ``` * Objet : ```diff - “a human friendly way to describe the variable”. + “An unambiguous human-readable description of the variable, with all acronyms expanded. Well-known acronyms should be repeated between parentheses when they are likely to be more known than the expanded version.”. ``` * Échelle de déclaration : Variable. * Cas d'usage : * Désambiguer une variable dont le nom est une abréviation. * Rechercher et afficher une variable dans l'explorateur de législation. * Exemples : * `"Pensions alimentaires"` * `"Charges déductibles"` * Lieu de documentation : openfisca.org/doc (les cas d'usage mentionnés nécessitent d'exposer cette information dans l'API web, il faudra donc modifier Core). Afin de supporter des langues différentes, le nombre et le type de caractères autorisés pourra faire l'objet d'une spécification par pays. La limite sera donc documentée dans `CONTRIBUTING.md`.
pzuldp commented 3 years ago

Version 1A d'une proposition pour Date du lien de l'URL de la description (métadonnée de Variable)

On enregistre la date à laquelle la ressource web a été consultée pour servir de référence à l'implémentation.

* Nom : `reference_date`

* Type : date.

* Objet : indiquer la date à laquelle un contributeur a lu le texte de référence qui a guidé son implémentation.

* Échelle de déclaration : même que `reference` (Variable en l'état, Formule d'après la proposition actuellement retenue).

* Convention : les changements ne sont autorisés que lors de la création ou la modification d'une Formule, et la valeur doit correspondre à peu de jours près à celle des commits associés.

* Cas d'usage :

  * Tracer l'état des références utilisées lors d'une modélisation.

* Exemples :

  * `2021-03-20`
  * `2000-01-01`

* Lieu de documentation : openfisca.org/doc si elle est gérée dans Core, `CONTRIBUTING.md` sinon.

Je ne suis pas sûr de comprendre ce qu'apporte cette information par rapport à une date de parution au JO : la date de parution est une date "immuable" (plus stable que la "date" d'une loi, qui fait référence à la première version de la loi, qui souvent est modifié par d'autres textes, qui chacun ont une date de parution au JO spécifique). L'avantage par rapport à une autre source de référence étant que le JO est lui-même immuable. Il me semble que le seul cas d'usage est le suivant :

pzuldp commented 3 years ago

Version 1A d'une proposition pour UX Name (métadonnée de Variable)

On introduit une métadonnée dédiée short_label en considérant que le besoin d'un nom non-ambigu avec un nombre connu de caractères est suffisamment répandu. On suppose qu'un contexte de présentation permettra de différencier entre deux variables ayant le même short_label.

Les valeurs actuellement renseignées sont disponibles ci-dessous :

En l'état, on note que :

* La plus longue valeur (`Cotisations retraites exceptionnelle et temporaire (CET) (1997-2018)`) fait 68 caractères.

* Un grand nombre de valeurs sont répétées (exemple : `Taux`).

l'objectif ici est-il bien d'avoir un label unique au niveau du premier noeud au-dessus de chaque feuille ? (non-ambigu conditionnellement au chemin dans l'arbre emprunté jusqu'à un noeud / une feuille donnée ?)

pzuldp commented 3 years ago

Version 1B d'une proposition pour reference (métadonnée de Variable)

On demande systématiquement un intitulé et une URL pour chaque référence législative, par le biais d'un dictionnaire plutôt que d'un tableau. Ceci a l'inconvénient d'alourdir la déclaration et suppose de normaliser la manière de référencer les URLs (i.e. de définir les clés du dictionnaire), et a l'avantage de traiter à la fois le cas d'usage pour le titre et l'URL de la reference.

* Nom : `reference`

* Type :
- texte libre, ou tableau de texte libre.
+ dictionnaire d'URLs.
* Objet : “a dictionary of legislative references, with legal text names as keys and URLs pointing to the relevant legislative references for this variable as values, when possible.”
- Variable.
+ Formule.
+ Convention : utiliser une version HTTPS, à moins que seul du HTTP soit disponible.
+ Convention : privilégier les URLs Légifrance, à défaut les adresses en .gouv.fr, à défaut service-public.fr, à défaut wikipédia.
+ Convention : utiliser les URLs ELI pour Légifrance.
+ Convention : utiliser les identifiants juridiques fournis par Légifrance ou le BOFIP comme clés.
* Cas d'usage :

  * Vérifier la validité d'une formule en consultant son origine légale.
- Afficher l'intitulé de la source légale dans l'explorateur de législation.
+ Afficher un lien vers la source légale dans l'explorateur de législation.
* ## Exemples :
- "http://bofip.impots.gouv.fr/bofip/1852-PGP"
+ { "BOI-IR-BASE-20-60-20": "https://bofip.impots.gouv.fr/bofip/1852-PGP" }
- reference = [
+ reference = {
-    "Décret n°2020-371 du 30 mars 2020"
-    "https://www.legifrance.gouv.fr/eli/decret/2020/3/30/ECOI2007755D/jo/texte",
+ "Décret n°2020-371 du 30 mars 2020": "https://www.legifrance.gouv.fr/eli/decret/2020/3/30/ECOI2007755D/jo/texte",
-    "Ordonnance n° 2020-705 du 10 juin 2020"
-    "https://www.legifrance.gouv.fr/eli/ordonnance/2020/6/10/ECOI2012371R/jo/texte"
+    "Ordonnance n° 2020-705 du 10 juin 2020": "https://www.legifrance.gouv.fr/eli/ordonnance/2020/6/10/ECOI2012371R/jo/texte",
-    ]
+    }
* Lieu de documentation : openfisca.org/doc pour le format de données, `CONTRIBUTING.md` pour la manière de rédiger les références.

Il me semble que cette proposition pourrait inclure explicitement l'inclusion du cas d'une URL inexistante ? ce qui donnerait {"Loi n 01-12351 du 13 brumaire 1234" : NA} (où on remplacerait NA par une valeur "manquante" bien choisi ?) Ou bien est-ce qu'il s'agit d'empêcher une référence uniquement par l'intutilé de la législation ? En tout cas, il me semble qu'il y a, dans l'usage, une asymétrie : il est possible qu'un intitulé sans URL existe, mais l'inverse est plus rare.

MattiSG commented 3 years ago

Version 1A d'une proposition pourDate du lien de l'URL de la description (métadonnée de Variable)

Je ne suis pas sûr de comprendre ce qu'apporte cette information par rapport à une date de parution au JO

Je suis d'accord. À mon sens il n'y a même pas d'intérêt à stocker la date de parution au JO dans la mesure où cette information peut être obtenue sur la page de destination de la reference.

Il me semble que le seul cas d'usage est le suivant […] source "immuable" (type BO ou JO) n'est pas disponible pour une information + le contenu de la source disponible pour un paramètre donné peut potentiellement être modifié

C'est ce que je vois également.

Mais en l'état, je ne suis pas convaincu par la pertinence de l'approche. Une date seule n'apporte que peu d'information. Elle peut seulement permettre de savoir que l'information référencée est potentiellement obsolète, si l'URL de destination a une date de dernière modification.

Je serais plus en faveur de la création d'un outil qui enregistrerait dans une base de données dédiée l'intégralité des références à chaque mise à jour, et qui notifierait en cas de changement dans les pages référencées.

MattiSG commented 3 years ago

Version 1A d'une proposition pour UX Name (métadonnée de Variable)

l'objectif ici est-il bien d'avoir un label unique au niveau du premier noeud au-dessus de chaque feuille ?

Je ne sais pas, justement, d'où les propositions 1A et 1B qui diffèrent uniquement sur cet aspect. Je comprends que l'objectif est d'avoir un label non-ambigu dans une interface utilisateur. Cette non-ambiguité peut être obtenue par l'unicité, ou par des éléments dans l'interface. Je ne sais pas à quel point il est important de garantir la non-ambiguité au niveau du modèle ou si on peut faire l'hypothèse que l'éditorialisation côté réutilisateurs sera suffisamment bonne.

MattiSG commented 3 years ago

Version 1B d'une proposition pour reference (métadonnée de Variable)

Il me semble que cette proposition pourrait inclure explicitement l'inclusion du cas d'une URL inexistante ?

Oui, c'était implicitement le cas car on peut laisser une chaîne vide, mais autant l'indiquer.

ce qui donnerait {"Loi n 01-12351 du 13 brumaire 1234" : NA} (où on remplacerait NA par une valeur "manquante" bien choisi ?)

Le plus simple serait d'avoir une chaîne vide ; on pourrait aussi imaginer une URI dédiée, mais ça me semble plus compliqué.

Ou bien est-ce qu'il s'agit d'empêcher une référence uniquement par l'intutilé de la législation ?

Non, ça me semble rarement légitime mais ça peut l'être, comme dans l'exemple que tu donnes.

il est possible qu'un intitulé sans URL existe, mais l'inverse est plus rare.

Tout à fait, d'où le choix du dictionnaire dans ce sens-là, où une clé vide ne peut pas être acceptée 🙂

Je fais une proposition v2 sur cette base, les votes respectifs pour la 1A et 1B donnant une direction claire 🙂

MattiSG commented 3 years ago

Version 2A d'une proposition pour reference (métadonnée de Variable)

On demande systématiquement un intitulé et une URL (lorsqu'elle existe) pour chaque référence législative, par le biais d'un dictionnaire plutôt que d'un tableau. Ceci a l'inconvénient d'alourdir la déclaration et suppose de normaliser la manière de référencer les URLs (i.e. de définir les clés du dictionnaire), et a l'avantage de traiter à la fois le cas d'usage pour le titre et l'URL de la reference.


- Nom : `reference` - Type : ```diff - texte libre, ou tableau de texte libre. + dictionnaire d'URLs ou de chaîne vide. ``` - Objet : “a dictionary of legislative references, with legal text names as keys and URLs pointing to the relevant legislative references for this variable as values, when possible.” ```diff - Variable. + Formule. ``` ```diff + Convention : utiliser une version HTTPS, à moins que seul du HTTP soit disponible. + Convention : privilégier les URLs Légifrance, à défaut les adresses en .gouv.fr, à défaut service-public.fr, à défaut wikipédia. + Convention : utiliser les URLs ELI pour Légifrance. + Convention : utiliser les identifiants juridiques fournis par Légifrance ou le BOFIP comme clés. + Convention : si aucune URL de destination n'existe, laisser une chaîne vide. ``` - Cas d'usage : - Vérifier la validité d'une formule en consultant son origine légale. ```diff - Afficher l'intitulé de la source légale dans l'explorateur de législation. + Afficher un lien vers la source légale dans l'explorateur de législation. ``` - Exemples : ```diff - "http://bofip.impots.gouv.fr/bofip/1852-PGP" + { "BOI-IR-BASE-20-60-20": "https://bofip.impots.gouv.fr/bofip/1852-PGP" } ``` ```diff - reference = [ + reference = { - "Décret n°2020-371 du 30 mars 2020" - "https://www.legifrance.gouv.fr/eli/decret/2020/3/30/ECOI2007755D/jo/texte", + "Décret n°2020-371 du 30 mars 2020": "https://www.legifrance.gouv.fr/eli/decret/2020/3/30/ECOI2007755D/jo/texte", - "Ordonnance n° 2020-705 du 10 juin 2020" - "https://www.legifrance.gouv.fr/eli/ordonnance/2020/6/10/ECOI2012371R/jo/texte" + "Ordonnance n° 2020-705 du 10 juin 2020": "https://www.legifrance.gouv.fr/eli/ordonnance/2020/6/10/ECOI2012371R/jo/texte", - ] + } ``` `{"Loi n°51 du 13 brumaire de l'an 2" : ""}` * Lieu de documentation : openfisca.org/doc pour le format de données, `CONTRIBUTING.md` pour la manière de rédiger les références.
MattiSG commented 3 years ago

Le dernier commentaire demandant des clarifications date d'il y a 3 semaines, et les dernières propositions d'il y a 17 jours. Ce message tient lieu de relance avant clôture de la RFC à l'expiration du délai de 3 semaines, dans 4 jours (dimanche 05/09 à 14h34). Je vais également effectuer une relance pour participation sur le Slack 🙂

MattiSG commented 2 years ago

Adoption

label (métadonnée de Variable)

Les label restent les mêmes, avec deux contraintes supplémentaires : un nombre maximum de caractères et unicité dans le système socio-fiscal.

Adoption combinée pour les références

Les références seront désormais traitées de la manière suivante :

On demande systématiquement un intitulé et une URL (lorsqu'elle existe) pour chaque référence législative, par le biais d'un dictionnaire plutôt que d'un tableau.

Via les trois adoptions combinées ci-dessous.

reference (métadonnée de Variable)

2A adoptée.

Libellé du lien de l'URL de la description (métadonnée de Variable)

1A adoptée.

Libellé de l'URL de la note (métadonnée de Variable)

1B adoptée.

Ajouts abandonnés

Les votes et discussions mènent à l'abandon de l'ajout des métadonnées suivantes.

Obsolète (métadonnée de Variable)

1A adoptée.

Date du lien de l'URL de la description (métadonnée de Variable)

1B adoptée.

Notes (métadonnée de Variable)

1B adoptée.

Discussion supplémentaire recommandée

Last reviewed (métadonnée de Variable)

1C (On stocke un dictionnaire de dates et de relecteurs pour chaque formule, afin de créer une trace d'audit.) est le plus consensuel, et 1B (Abandonner l'ajout d'une telle métadonnée dans OpenFisca.) le plus soutenu.

@Sasha-Laniece avait voté pour 1B et 1C et contre 1A, peut-on prévoir un échange pour déterminer une alternative convenable qui réponde à ton besoin ? 🙂 cc les autres personnes qui ont voté : @pzuldp @clallemand @benjello.

UX Name (métadonnée de Variable)

Le consensus est clairement en faveur de l'ajout de cette métadonnée, sous le nom short_label. L'unicité de cette valeur n'est cependant pas décidée. @Sasha-Laniece peut-on prévoir un échange sur vos cas d'usage afin de déterminer si l'unicité serait utile ou non ? 🙂

MattiSG commented 2 years ago

Afin de faciliter la lecture de cette RFC déjà longue, et après consultation sur Slack, j'ai fait le choix d'éclater en deux parties : cette issue reste dédiée aux métadonnées des variables, et #1672 vise la normalisation des métadonnées des paramètres 🙂

MattiSG commented 2 years ago

En l'absence de retour de @Sasha-Laniece (relancée également sur Slack) d'ici la fin de semaine, je pense que nous arbitrerons pour privilégier les options les plus soutenues, sans ajustement particulier.

DorineLam commented 2 years ago

@MattiSG Je viens de voir la RFC suite à un message de relance de @Sasha-Laniece. Nous avons été pris par les développements ces dernières semaines qui s'intensifient. Cette RFC, notamment la suppression d'informations qui sont déjà présentent, nous met en risque du côté de l'interface utilisateur.

Est-il possible de décaler la date de clôture de cette RFC à après la sortie du PLF et du PLFSS ? Ou a minima de nous avertir de la date de mise en place de ces changements ?

Je suis désolée de cette réaction tardive, mais les mois d'août et septembre sont toujours hyper chargés de notre côté et je suis aussi moins présente sur github Openfisca.

MattiSG commented 2 years ago

Je suis désolé, cela fait déjà 7 semaines que cette RFC traîne et qu'il y a eu de nombreuses relances. La date de clôture était le 05/09. Je ne vois pas trop comment avancer si on peut rouvrir le processus de prise de décision systématiquement 😕

a minima de nous avertir de la date de mise en place de ces changements ?

Bien sûr, la version qui contiendra ces changements fera l'objet d'une version majeure et sera notifiée dans le changelog 🙂

sandcha commented 2 years ago

[DRAFT]

Tout d’abord, merci pour ces RFC qui mettent au clair la situation actuelle et ce vers quoi nous nous dirigerions ensemble. Pardon pour le temps de réaction qui au-delà des contextes propres aux personnes (période estivale) ou aux équipes (pic d’activité LexImpact) est de mon point de vue en partie relié au fait que les questions des métadonnées et des RFC ont mis le doigt sur des difficultés qu’on n’a pas su expliciter à temps. En voici une ébauche de liste afin que nous puissions en discuter et qui a pour objet de partager une vision et avec l'espoir d’éviter à ce que cette situation ne se reproduise :

Des métadonnées, avant cette RFC :


Des RFC :


L’équipe LexImpact n’a au démarrage pas voté en partie parce qu’il a été pensé que :

bfabre01 commented 2 years ago

Hello, merci pour ce retour @sandcha . Il y a plusieurs choses avec lesquelles, je ne suis pas d'accord:

Pardon d'être un peu direct. Sur le fond, je ne suis pas du tout fermé sur les points à améliorer quant à nos processus de prise de décision, au contraire. Mais ce qui me gêne, c'est que j'ai l'impression que ces remarques ne sont pas tout à fait objectives, et cela me gêne. Et je pense qu'il est important quand même de souligner le travail important qui a été fait en termes de processus. On a eu une longue réunion, pas mal d'échanges, cette longue issue très détaillée, du temps pour répondre, diffusion sur Slack, etc. Même si ce process n'est pas parfait, il va clairement dans le bon sens.

MattiSG commented 2 years ago

Merci @sandcha de partager ces éléments de contexte et ces retours ! 🙂 Afin de s'assurer que cette issue reste focalisée sur la normalisation des métadonnées des variables, je préfère ne pas m'étendre ici sur le processus et les apprentissages associés. Il est clair que nous apprenons en marchant, et qu'il y a de nombreuses améliorations à apporter en terme de lisibilité et de predictabilité générale du processus de RFC, et ce message offre des éléments intéressants, que nous avons pu déjà expliciter en partie par des échanges en visio. Continuous à avancer !

MattiSG commented 2 years ago

J'ai pu ce matin échanger avec l'équipe LexImpact (@sandcha, @Sasha-Laniece et @DorineLam, en présence de @benoit-cty) sur les sujets qui restaient ouverts à ce stade, à savoir ux_name et last_review. Les conclusions sont les suivantes.

UX Name (métadonnée de Variable)

Last reviewed (métadonnée de Variable)

Je propose donc comme porte de sortie, au vu des votes en faveur de sa suppression et des votes acceptant une version plus complète, et en accord avec les personnes présentes :

  1. La dépréciation de l'implémentation actuelle de last_reviewed. Cela signifie que les métadonnées actuellement renseignées ne seront pas supprimées dans l'immédiat, mais que leur usage est découragé, que leur pérennité n'est pas garantie, qu'elles ne seront pas documentées, et que les PRs qui les modifient seront réduites au strict minimum, a priori uniquement pour les besoins de LexImpact.

Afin de garantir l'effectivité de cette décision, je propose en complément :

  1. La fixation d'un délai maximum pour le vote d'une solution alternative, au-delà duquel la proposition actuelle la plus soutenue, à savoir la suppression de last_reviewed de la base de code OpenFisca, sera appliquée à défaut de meilleure solution, avec responsabilité pour l'équipe LexImpact d'extraire l'information dont elle dépend. Au vu des demandes liées aux délais (publication du PLF et PLFSS), je propose de fixer cette date au 31/12/2021, date de publication au journal officiel au plus tard.

label (métadonnée de Variable)

Nous avons également échangé rapidement sur label, le point suivant émerge : pour augmenter la découvrabilité, il serait utile de préciser que les « surnoms », ou « petits noms » des variables, devraient être inclus dans le label. Par exemple, les exonérations « dites Fillon » ou le PFU « dit flat tax ».

L'idée d'une métadonnée dédiée a été évoquée mais écartée en raison du faible nombre de cas où elle serait remplie, et de la difficulté à l'exploiter.

MattiSG commented 2 years ago

Un point sur le processus

Merci à toutes les personnes ayant participé à cette RFC d'une manière ou d'une autre. Comme je l'indiquais plus haut, nous apprenons tou‧te‧s comment cela fonctionne. Vous avez pu voir que j'ai pris le parti d'animer une proposition plus formelle sans donner de formation particulière, et sur un outil pas forcément le plus adapté, à savoir GitHub. Nous avons en effet à mon sens un problème de bootstrapping : comment intéresser et faire comprendre l'importance d'un tel dispositif de prise de décision, sachant que personne n'a fondamentalement envie d'y consacrer beaucoup de temps ? J'ai fait le choix de démarrer par la démonstration. Il est donc normal qu'il y ait des frictions (qui me semblent pour le moment mineures 🤞) au fur et à mesure que chacun‧e découvre l'importance de participer à ces opportunités de décision collective. Cela peut créer un peu de frustration, mais je suis convaincu que nous aurons plus d'engagement maintenant que la démonstration est faite de l'importance d'y participer et d'y consacrer un minimum de temps 🙂

Nous devons bien évidemment trouver des manières d'améliorer ce processus, et le fonctionnement actuel ne me semble pas idéal. Il comprend à ce stade de nombreuses failles et points d'incertitude (Les votes sont-ils par individu ou par entité ? Quels moyens de traçabilité des votes ? Quels délais pour quels sujets ? Quand peut-on être flexible sur les résultats d'un vote ?). J'ai de nombreuses propositions sur tout cela, mais il me semble important de garder à l'esprit que ce que nous cherchons, c'est à avancer ensemble sur OpenFisca pour fournir la meilleure modélisation possible du système socio-fiscal français, et au-delà 😃 Tant que nous pouvons déjà avancer avec ce que nous avons déjà, faisons-le !

Nous aurons bientôt l'occasion d'échanger plus avant sur le processus et les apprentissages liés à cette RFC. Je vous demanderai donc de ne pas surcharger cette issue avec ces sujets, mais plutôt de prendre des notes que nous pourrons partager lors d'un moment dédié 🙂

La suite

MattiSG commented 2 years ago

Plan d'implémentation

Échéance : au plus tôt

Déprécier last_reviewed

Échéance : à la clôture de #1672

En espérant une adoption combinée avec les métadonnées des paramètres, afin de n'opérer les changements sur OpenFisca Core, Web API et Country Template en une seule fois.

Transformer les reference en un dictionnaire

Core

France

Contraindre label

France

Transformer ux_name en short_label

Core

France

Échéance : au 31/12/2021

A priori, last_reviewed pour les variables n'est pas implémenté dans Core ni utilisé dans les variables de France, il n'y a donc rien à faire.

MattiSG commented 2 years ago

La RFC sur les métadonnées des paramètres (#1672) est complète !