Ceci est une ancienne révision du document !


Préambule

Les premières lignes de QElectroTech remonte à 2006, celui-ci a été crée en tant que projet d’étudiant et n'avait pas pour ambition d'être ce qu'il est aujourd'hui. De ce fait, certains choix techniques qui on été fait à l'époque ne sont plus adapté à l'heure actuel (mauvais design, manque d’évolutivité, code spaghetti, code pas assez découplé, etc…). En 2012 le créateur de QElectroTech quitta le projet et donna la mains à Joshua (la personne qui écrit ces lignes), bien que celui-ci était très motivé il était autodidacte (et l'est encore) et aggrava encore plus la situation. C'est pourquoi un jour il faudra passer par une refonte très conséquente du code afin de remettre celui-ci à niveau, ce travail est difficilement quantifiable mais il est certains qu'il prendra beaucoup de temps, ainsi il ne sera commencé que quand toutes les fonctionnalité de base seront implémenter ( à l'heure actuel on peut considéré qu'il manque : le générateur de bornier, le générateur de câble, structure de projet +=-)

Modification des format de fichier

C'est l'une des parties la plus importante aussi bien d'un point de vue de temps de travail, que de changement profond.

  • Les fichiers élément (.elmt).

Les fichiers éléments sont un dériver grossier du format svg avec beaucoup de modification plus ou moins propre. Le nouveau format (.selmt ? scalable element ?) sera donc . -La partie graphique sera du vrai svg, concrètement il faudra utiliser le namespace svg dans le xml pour toutes la partie graphique. Avantage du svg :

  1. C'est un format éprouvé de longue date ainsi même si on ajoute de nouvelle chose graphique, pas besoins de ré-inventer la roue, le svg aura forcement ce qu'il faut pour enregistrer ça.
  2. Il faudra créer du code pour parser le svg, ce qui veut dire que l'on pourra importer un svg directement dans l'éditeur d'élément (il existe plein de site en ligne qui convertisse du dxf en svg)

-Les parties non graphique (texte dynamque, information, bornes etc…) seront en dehors du namespace svg, il faudra la aussi réfléchir à amélioré tout ça.

  • Les fichiers project (.qet).

Bien que ce format étais parfait pendant de longue année, celui-ci montre quelque limite d'un point de vue de la facilité de mise en œuvre. Le nouveau format sera : Un dossier zipper (lib zip) dans ce dossier on retrouvera plusieurs chose dont :

  1. Un fichier .qet grandement simplifier.
  2. Un fichier .sqlite contenant toutes les info du projet.
  3. Un dossier images
  4. Un dossier elements
  5. Un dossier titleblock
  6. Un dossier conf ou pref (a voire pour le nom)

Le fichier .qet aura la liste des folios dans l'ordre, dans chaque folio, la liste des éléments présent dans le folio ainsi que leurs coordonné (x y z)sous forme d'un chemin de collection, la liste des images avec leurs coordonné (x y z), le cartouche utilisé avec la tailles des colonnes/lignes nombre de colonne/lignes affiché ou non. Les images, élément et cartouches ne seront plus embarqué dans le .qet, mais dans leurs dossier respectif, ce qui en plus de la simplicité d'utilisation aura une taille très petite grâce à la compression zip (la plupart des fichiers étant du texte, ceux-ci se comprime très bien). Le dossier conf quand a lui contiendra entre autre choses toutes les configuration par defaut du projet (conducteur par défaut, folio et cartouche par défaut etc…) Le fichier .sqlite quand à lui contiendra toutes les informations nécessaire au projet, il sera facile de retrouver les information entre le .qet et le .sqlite par les uuid (element, folio et autres si besoins posséderont leurs propre uuid) la bdd contiendra entre autre chose :

  1. Une table pour les informations d'éléments.
  2. Une table pour les infos de folio.
  3. Une table pour les info général du projet.

Cette base de donnée ressemblera beaucoup à la classe project data base

Autre (toutes les petites et grosse chose à améliorer

Imprimer/exporter