IGNF / cnig-sg6-demo

0 stars 1 forks source link

Gestion des identifiants #45

Closed MFrangi closed 7 months ago

MFrangi commented 9 months ago

Sur le github "structuration-reglement-urbanisme", une issue a été ouverte pour discuter du formalismes des identifiants des différentes classes : https://github.com/cnigfr/structuration-reglement-urbanisme/issues/11

Comme mentionné dans cette discussion, tout n'est pas clair pour moi sur la manière dont je dois implémenter les identifiants dans l'éditeur.

Ce que j'ai compris :

Identifiant du règlement : {IDURBA}/reglement => il faudrait donc rendre obligatoire le renseignement de l'IDURBA par l'utilisateur

Identifiants des titres : {IDURBA}/reglement/{zone}/{sous-zone} => dans l'éditeur, il est possible de renseigner la zone d'un titre à sa création, faut-il rendre cela obligatoire ? => il n'y a rien de prévu dans l'éditeur pour renseigner une "sous-zone" (i.e. zone UE sous décomposée en UE1 et UE2) => j'ai l'impression qu'il manque un incrément numérique pour que les identifiants des titres soient uniques

Identifiants des contenus : {IDURBA}/reglement/{zone}/{sous-zone}/contenu{incrément numérique}

Éléments particuliers : Certains éléments semblent avoir des identifiants spécifiques. Le cas des dispositions générales est donné en exemple. => quels sont ces éléments ? Comment les identifier dans l'éditeur ?

Ai-je bien compris le formalisme attendu ? Pourriez-vous répondre à mes remarques/interrogations ?

GT-CNIG-DDU commented 9 months ago

=> il faudrait donc rendre obligatoire le renseignement de l'IDURBA par l'utilisateur

Oui. n'est-ce pas d'ailleurs déjà le cas ?

Identifiants des titres : {IDURBA}/reglement/{zone}/{sous-zone}

Plutôt : \/reglement/\/\/contenu\... comme suggéré ici

=> dans l'éditeur, il est possible de renseigner la zone d'un titre à sa création, faut-il rendre cela obligatoire ?

Oui. Zone untel ou "dispositions générales" comme indiqué dans le standard SRU niveau 1 §3.3.2

=> il n'y a rien de prévu dans l'éditeur pour renseigner une "sous-zone" (i.e. zone UE sous décomposée en UE1 et UE2)

C'est normal, le standard SRU considère des titres et des sous-titres. Le standard PLU ne considère que :

=> j'ai l'impression qu'il manque un incrément numérique pour que les identifiants des titres soient uniques

Chaque titre ou sous-titre est identifiable suivant le mécanisme décrit dans cette issue.

MFrangi commented 9 months ago

Plutôt : \/reglement/\<titre>/\<sous-titre>/contenu\<ii>... comme suggéré ici

Je ne comprend pas à quoi correspondent \<titre> et \<sous-titre>. Sur le lien je vois marqué dans les exemples pour les titres : 44712_PLU_20041103/reglement/UE UE, c'est une zone non ?  

Oui. Zone untel ou "dispositions générales" comme indiqué dans le standard SRU niveau 1 §3.3.2

Dans le document, je vois :

"LIBELLE de la classe ZONE_URBA du standard CNIG PLU ou la valeur « porteeGenerale » si le titre s’applique à toutes les zones."

Est-ce que "porteeGenerale" = "dispostions générales" ?  

Chaque titre ou sous-titre est identifiable suivant le mécanisme décrit cette issue.

Désolé, je dois rater quelque chose mais je ne comprend pas quel est l'élément qui rend l'identifiant d'un titre unique.

GT-CNIG-DDU commented 9 months ago

Je ne comprend pas à quoi correspondent \ et \. Sur le lien je vois marqué dans les exemples pour les titres : 44712_PLU_20041103/reglement/UE UE, c'est une zone non ?

Oui bien sûr, mais dans le standard SRU c'est avant tout un titre d'article du règlement.

Dans cet exemple UE est considéré comme le Titre de l'article correspondant. Ce titre et ses contenus sont en relation "s'applique à" avec la ZONE_URBA considérée, en l'occurrence la ZONE_URBA "UE"

image

D'autre part, les exemples actuels sont... des illustrations mentionnées dans une issue en cours de discussion. Ils n'ont pas valeur de spécification avant d'être validés et intégrés dans les standards SRU de niveau 1 et 2.

Est-ce que "porteeGenerale" = "dispositions générales" ?

"Dispositions générales" est un exemple d'intitulé de titre (standard SRU niveau 1 §3.3.2). "porteeGenerale" est une valeur conventionnelle » de l'attribut TITRE.idzone (matérialisant la relation _"Titre s'applique à ZONEURBA") pour indiquer que le titre s’applique à toutes les zones. C'est effectivement le cas pour le titre "Dispositions générales" mais potentiellement pour d'autres titres, par exemple "Lexique", "Annexes", etc.

Désolé, je dois rater quelque chose mais je ne comprend pas quel est l'élément qui rend l'identifiant d'un titre unique.

L'identifiant est la totalité de la chaine hiérarchique. En prenant par exemple cet identifiant : 44003_PLU_20041103/reglement/UE/UE2/contenu02/regle01/cdu03/routebordante01 tu remarques que tous les objets (contenu, regle, classe, etc.) sont bien incrémentés : routebordante 1 de la conditionunitaire 3 composant la règle 1, du contenu 2 de la zone UE2 du PLU de la commune d'Ancenis

MFrangi commented 9 months ago

"Dispositions générales" est un exemple d'intitulé de titre (standard SRU niveau 1 §3.3.2).

Comment détecter dans l'éditeur qu'un titre correspond aux dispositions générales ? En regardant son intitulé qui sera toujours "Dispositions générales" ?

L'identifiant est la totalité de la chaine hiérarchique. En prenant par exemple cet identifiant : 44003_PLU_20041103/reglement/UE/UE2/contenu02/regle01/cdu03/routebordante01 tu remarques que tous les objets (contenu, regle, classe, etc.) sont bien incrémentés : routebordante 1 de la conditionunitaire 3 composant la règle 1, du contenu 2 de la zone UE2 du PLU de la commune d'Ancenis

Étant donné que l'éditeur repose sur le modèle de niveau 1, il n'y a pas de notion de règle, de condition unitaire ou de route débordante (ou alors j'ai vraiment raté un épisode). Quelque chose comme "44003_PLU_20041103/reglement/UE/UE2/contenu02/" correspond pour moi à l'identifiant d'un contenu. L'identifiant d'un titre serait ""44003_PLU_20041103/reglement/UE". La seule la manière que cet identifiant soit unique, c'est qu'il n'existe jamais, dans aucun règlement, plus d'un titre appartenant à une zone UE. Est-ce le cas ?

GT-CNIG-DDU commented 9 months ago

Comment détecter dans l'éditeur qu'un titre correspond aux dispositions générales ? En regardant son intitulé qui sera toujours "Dispositions générales" ?

Oui. Il contiendra cette chaîne (ce peut être 1. Dispositions Générales) tous les règlements ne sont pas titrés pareillement.

Étant donné que l'éditeur repose sur le modèle de niveau 1, il n'y a pas de notion de règle, de condition unitaire ou de route débordante (ou alors j'ai vraiment raté un épisode).

Non bien sûr. et tu n'as pas raté d'épisode ;-) En se limitant au modèle SRU niveau 1, la syntaxe de l'identifiant est 44003_PLU_20041103/reglement/UE/UE2/contenu02

Quelque chose comme "44003_PLU_20041103/reglement/UE/UE2/contenu02/" correspond pour moi à l'identifiant d'un contenu.

Nous sommes bien d'accord

L'identifiant d'un titre serait ""44003_PLU_20041103/reglement/UE". La seule manière que cet identifiant soit unique, c'est qu'il n'existe jamais, dans aucun règlement, plus d'un titre appartenant à une zone UE. Est-ce le cas ?

Oui c'est le cas, car la dénomination des zones est unique dans le règlement. Autrement dit, le règlement ne peut pas définir deux zones UE avec deux règlementations différentes.

MFrangi commented 9 months ago

Très bien. Merci pour les clarifications.

MFrangi commented 9 months ago

À l'heure actuelle, il est possible de changer 2 attributs d'un contenu : prescription et zone.

De ma compréhension, l'attribut zone n'a pas lieu d'être : tous les contenus devraient concerner la zone attribuée au titre dont il dépend.

Est-ce bien ça ?

GT-CNIG-DDU commented 9 months ago

Le MCD (ci-dessus) du standard SRU niveau 1 montre que les Titre et Contenu sont en relation "s'applique à" ZONE_URBA.

On peut effectivement s'interroger sur cette double relation dans la mesure où le contenu d'un titre s'applique nécessairement à la ZONE_URBA à laquelle le Titre s'applique.

Cette double relation a été introduite du fait qu'un titre (disons : "U") peut s'appliquer à plusieurs ZONE_URBA ("UA", "UB, "UC", "UD") et contenir des contenus qui pour les uns s'adresseront à ("UA", "UB, "UC") et un autre à "UD", à l'image du règlement du PLU de Preignan par exemple.

Il n'y a donc pas stricte identité entre les ZONE_URBA auxquelles un Titre s'applique et les ZONE_URBA auxquelles ses Contenu s'appliquent.

MFrangi commented 9 months ago

D'accord. Dans ce cas là, je laisse le champ zone pour les contenus. Par défaut, la zone d'un contenu sera identique à celle du titre mais l'utilisateur aura la possibilité de la modifier.

alisonlenain commented 7 months ago

Proposition AG (mentionnée issue 16) et issue30 que les attributs "identifiants" de chaque classe soit nommés : id

id => idRegle (en décidant - ou pas - de renommer RegleStruture en Regle) id => idCondition (ou idCdu) id => idContrainte (ou idCtu)

Intégration dans l'outil de saisie web

MFrangi commented 7 months ago

Proposition AG (mentionnée issue 16) et issue30 que les attributs "identifiants" de chaque classe soit nommés : id

id => idRegle (en décidant - ou pas - de renommer RegleStruture en Regle) id => idCondition (ou idCdu) id => idContrainte (ou idCtu)

Intégration dans l'outil de saisie web

Il n'y a pas de règles, de conditions ni de contraintes dans les xml générés par l'outil de saisie web.

Il n'y a qu'un règlement (j'ai mis idReglement), des titres (j'ai mis idTitre) et des contenus (j'ai mis idContenu).

GT-CNIG-DDU commented 7 months ago

@alisonlenain, cette proposition :

1/ porte sur le standard SRU de niveau 2. Du coup, soit @MFrangi ne la prend pas en compte, soit - s'il le fait pour les trois attributs cités (idReglement, idTitre, idContenu) il faut également modifier le standard SRU de niveau 1 car cette modification n'est pas conforme au standard de niveau 1 dans sa version actuelle.

2/ porte sur chaque classe du standard SRU de niveau 2. Or à la lecture du projet de standard SRU niv2 v2024-04, seules les trois classes citées en exemple semblent avoir été traitées.

alisonlenain commented 7 months ago

Manuel a déjà traité cette modification. Je te propose de modifier le standard SRU de niveau 1 afin de maintenir la cohérence entre les deux niveaux. Je voulais valider cette modification d'identifiant du niveau 2 avec Mickael Brasebin lors de la réunion de demain mais en raison d'un imprévu, il ne pourra pas participer à la réunion. J'intégrerais ces modifications dans les standards SRU (niveau 1 et 2) suite à la prochaine réunion.

GT-CNIG-DDU commented 7 months ago

Manuel a déjà traité cette modification. Je te propose de modifier le standard SRU de niveau 1 afin de maintenir la cohérence entre les deux niveaux.

Ok pour moi

Je voulais valider cette modification d'identifiant du niveau 2 avec Mickael Brasebin lors de la réunion de demain

?? Nous l'avons déjà validé à la réunion du 8 mars. Extrait du CR : "L’issue Nommage des attributs d'identifiants #30 propose que les attributs "identifiants" de chaque classe soit nommés : id\. Cette proposition est validée".

Je souhaiterais au contraire que tu l'intègres dans le projet de standard SRU niveau 2 en vue de la réunion de demain.