Topic: Gestion des variables et arboresence des folios

Bonjour,

I. Contexte
Si j'ai bien compris le message de scorpio810 du 2016-04-23 00:46:40 on peut considérer qu'il y a cinq [s]niveaux[/s] portées de variables :

  1. Variables globales communes à tous les projets. Ce sont des variables qui servent à initialiser les variables des nouveaux projets. Elles sont enregistrées dans les préférences de QET et sont copiées dans les propriétés de chaque nouveau projet.

  2. Variables spécifiques à un projet. Ce sont des variables valide pour l'ensemble des folios du projet (du fichier .qet). Elles correspondent principalement au nom de l'installation, du client, à la date du projet, etc. Elles sont enregistrées dans les propriétés du projet

  3. Variables spécifiques à un ensemble de folios. Ce sont des variables communes à un ensemble de folios regroupé par selon un certain critère (type de folio, fonctionnalité, sous-ensemble de l'installation, etc). Ce "groupe" de folios pouvant très bien n'être composé que d'un seul folio. Ces variables n'ont pas d'emplacement spécifique et sont donc dupliquées dans chaque folio. (J'y reviens plus tard)

  4. Variables spécifiques à un folio. On y retrouve essentiellement les dimensions, le nom et le numéro de chaque folio. Elles sont accessibles dans les propriétés du folio.

  5. Variables spécifiques à un composant du folio. Tout ce qui décrit chaque élément / conducteur. Elles sont accessibles dans le menu "Éditer l'élément" / "Éditer de connecteur"

Pour le fonctionnement de ces différents niveaux, voici ce que je m'imagine (je n'ai pas vérifié le fonctionnement de QET):
Rien n'empêche, à priori, la déclaration d'une même variables dans deux niveaux différents. Cela permet d'avoir (par exemple) une variable commune à tout le projet mais pouvant être redéfinie pour certains folios.
On peut faire ça facilement en cherchant la variable dans les variables du composant puis du folio etc jusque aux variables du projet. Si jamais on ne trouve toujours pas la variable mais qu'elle existe dans les variables globales définies dans les préférences de QET, on peut alors proposer de l'importer dans les propriétés du projet.

II) Ma proposition
Revenons en maintenant aux "Variables spécifiques à un ensemble de folios". Comme précisé plus haut, ces variables n'ont, à ma connaissance, pas d'emplacement spécifiques pour les enregistrer. Pour cela, je pense qu'il pourrait être intéressant de créer ce qui peut s'apparenter à des "dossiers de folios". Chaque "dossier" pouvant (re-)définir ses propres variables. Les variables définies dans un dossier devant être accessibles à tous les folios situés dans ledit dossier.
Les "dossiers" correspondant alors à des sous-ensembles, il serait alors intéressant de pouvoir les imbriquer pour créer des sous-sous-ensembles.

III) Subtilités techniques (part-ce que le diable se cache dans les détails)
Comme on doit pourvoir réorganiser les folios d'un projet, certaines considérations doivent être prises en compte. En effet, changer un folio de "dossier" pourrait avoir des conséquences non voulues.

Postulats pour la suite :

  • Les dossier pouvant être imbriqués les uns dans les autres, on peut considérer le projet dans sa globalité comme étant un dossier englobant tout le reste à la manière de "/" dans les arborescences UNIX et dérivées. Les variables pouvant alors être assimilées aux droits d'accès des fichiers.

  • Lorsque je considère un dossier ayant une valeur (de variable) "différente", j'inclus les dossiers pour lesquels la valeur disponible est différente ET les dossiers dans lesquelles la variable n'est pas disponible.

À chaque changement de dossier il faudra, pour chaque variable utilisée par le folio, vérifier les points suivants :

  • Est-ce que, pour la variable, le dossier de destination possède une valeur différente du dossier source ?

  • Est-ce que, pour la valeur de la variable, le dossier de destination possède une autre variable ayant la même valeur ? (Attention à la casse et aux espaces invisibles)

Si la réponse est "oui" à l'une de ces questions il faudra, selon le cas, demander à l'utilisateur s'il souhaite copier la variable dans le folio, créer/écraser la variable dans le dossier de destination, modifier la variable utilisée ou ne pas toucher aux variables.

Re: Gestion des variables et arboresence des folios

Bonjour Naheulf,

et merci pour ton résumé sur les différentes variables.
Jusqu’à présent QET n'a pas de gestion de dossier, sous dossier au sein de l' architecture d'un projet.
On peut toutefois y palier avec des variables.

Le fichier projet est un simple fichier XML définissant la structure et le contenant des folios, les images et éléments embarqués, nous pensons modifier cela dans l'avenir non plus avec un simple fichier, mais une archive contenant les images, PDF, etc, la définition du projet par un ou plusieurs XML, dans ce cas il pourrait être possible de composer un projet façon Eplan avec dossiers et sous dossiers.

"Le jour où tu découvres le Libre, tu sais que tu ne pourras jamais plus revenir en arrière..."

Re: Gestion des variables et arboresence des folios

Bonjour Naheulf,
ce que tu propose ressemble très fortement à la norme IEC 81346 qui permet de faire ce que tu demande, mais aussi beaucoup d'autres choses.
Alors il est vrai qu'en france cette norme est très peu utilisé, en revanche dans beaucoup d'autre pays c'est le cas.
Donc pour résumer, dès lors que la norme IEC 81346 sera implémenté dans qet, tu pourra organiser tes projets sous forme de dossier, avec des variables specifique aux sous dossiers.

Pour rebondire sur le second paragraphe de scorpio, effectivement nous projetont dans le futur de modifier le format de fichier afin que celui-ci soit une archive, ce qui nous donnera une plus grande flexibilité pour nous en tant que dev, mais pour vous en tant qu'utilisateur cela ne changera pas grand chose et en aucun la modification du format de fichier voudra dire que les projets aurons la possibilité d'être organisé sous forme de dossier, ce sont deux choses bien distincte.

Développeur QElectroTech