Sortie de QElectroTech 0.7

39
20
juil.
2019
Science

Un peu moins d’un an après la dernière version stable de QElectroTech (QET), la version 0.7 est maintenant disponible en téléchargement.

QElectroTech est un logiciel libre multi‐plate‐forme, permettant de réaliser des schémas de circuits électriques. QET est disponible sous licence GNU GPL v2. Le développement du logiciel se fait en C++ et Qt5.

logo QelectroTech

Sommaire

Retour sur la 0.6

Ce fut une grosse version avec de profonds changements, comme le détaille l’annonce de la version 0.6 [en].

Dans les grandes lignes :

  • refonte totale du panel des collections d’éléments, avec de nouvelles possibilités de filtrage ;
  • réduction drastique de la consommation de mémoire vive (grâce au nouveau panel d’éléments) ;
  • utilisation de l’exécution en paralèlle (multi‐threading) lors du chargement de la collection d’éléments.

Ces trois améliorations font partie d’un même travail de fond, qui a représenté beaucoup de temps :

  • règle de numérotation automatique poussée, générateur de folio, folios non consécutifs ;
  • diverses améliorations des formes basiques (carré, ellipse…) ;
  • nouvelles propriétés épaisseurs de trait pour les conducteurs (souvent demandé) ;
  • copier‐coller entre projets (demande de longue date) ;
  • nouveau thème d’icônes (Breeze de KDE) ;
  • rétro-portage depuis la 0.7 d’une correction d’un crash très chi**t de QET ;
  • et comme toujours, diverses améliorations et corrections.

Version 0.7

La version 0.7 devait initialement être une version de polissage, dans le but d’effacer les divers petits défauts, qui parfois demandent beaucoup de boulot. Mais en cours de route, les petites choses deviennent grandes et la version 0.7 n’a plus rien à voir avec sa grande sœur (cf. le fil de discussion durant le développement de la version 0.7).

Correction du crash des « conducteurs fantômes »

Il existait dans QET un bogue, lié à la bibliothèque Qt, qui provoquait un crash systématique. Celui‐ci était prédictible dès lors qu’un conducteur ou une forme simple, d'abord effacés, restaient affichés à l’écran et provoquaient des artefacts lors du survol de la souris ou du changement de zoom. Il a finalement été corrigé et la correction a été rétro‐portée.

Textes d’éléments éditables

L’un des gros changements de cette version est la gestion des textes d’éléments. Dans les versions précédentes, les textes d’éléments étaient créés depuis l’éditeur d’éléments. Une fois l’élément posé sur l’éditeur de schéma, la seule possibilité offerte à l’utilisateur était de modifier le contenu du champ texte.

Avec les nouveaux textes, il en est tout autrement :

Premièrement, les textes peuvent être ajoutés ou enlevés à la volée depuis l’éditeur de schéma, ce qui est énorme par rapport aux versions précédentes, mais les améliorations ne s’arrêtent pas là.

Les textes peuvent avoir trois sources :

  • texte utilisateur : un simple texte écrit directement par l’utilisateur ;
  • information d’élément : le texte affiche l’une des informations de l’élément (libellé, commentaire, fabricant, etc.) ;
  • texte composé : il s’agit du mélange des deux.

On dispose désormais de grands pouvoirs :

  • taille de texte ajustable ;
  • police de texte modifiable ;
  • couleur de texte ;
  • encadrement du texte ;
  • définition de la largeur maximale du texte afin de forcer le retour à la ligne ;
  • édition de la position (x, y) au pixel près depuis le widget de propriété de la sélection ;
  • édition de la rotation depuis le widget de propriété de la sélection ;
  • justification du texte.

Groupe de textes

Les textes peuvent être groupés afin de les manipuler plus facilement. Les groupes proposent aussi quelques options :

  • alignement des textes au sein du groupe (gauche, centré ou droite) ;
  • édition (X, Y) au pixel près depuis le widget de propriétés de la sélection ;
  • édition de la rotation depuis le widget de propriété de la sélection ;
  • ajustement vertical, correspondant à l’espacement vertical entre les textes quand ceux‐ci sont alignés ;
  • encadrer le groupe ;
  • forcer la position en bas du schéma (afin de garder un comportement existant avec les anciennes versions).

Importation et exportation des configurations de textes

Dans un schéma électrique, la disposition, la taille et les autres aspects visuels des textes sont souvent identiques. Afin d’éviter d’avoir à éditer des textes d’élément pour au final toujours leur donner la même configuration, il est possible d’exporter ou d’importer une configuration de texte. Cela permet un gain de temps non négligeable.

Compatibilité avec les anciens textes

Les nouveaux champs de texte n’étant pas compatibles avec les anciens, ces derniers ont simplement été supprimés du code (permettant par la même occasion de mieux découper le code). Lors de l’ouverture d’un projet créé avec une version antérieure, une moulinette fait la conversion entre anciens et nouveaux textes de manière transparente pour l’utilisateur.

Malheureusement, le code des anciens textes possédait beaucoup de rustines afin d’être rétrocompatible, ce qui provoque des défauts de positionnement lors de la conversion et, au pire, la perte de textes sur des vieux projets (0.3 et 0.4). Donc, un conseil, si vous ouvrez un projet d’une version antérieure : faites une copie (ce conseil est aussi valable pour les photos des enfants à la plage, documents importants, etc.).

Et l’éditeur d’éléments dans tout ça ?

Toutes les possibilités offertes avec les nouveaux textes depuis l’éditeur de schémas, le sont aussi dans l’éditeur d’éléments. Étant donné que les textes peuvent être ajoutés à la volée, il n’est dorénavant plus obligatoire d’avoir un champ texte label pour pouvoir sauvegarder un élément.

Il est également possible de préremplir les informations d’un élément dans l’éditeur.
Informations
Dock informations

Voir la vidéo de présentation.

Rechercher, remplacer

Il s’agit du second gros changement de cette version, le célèbre « rechercher‐remplacer », déjà présent dans beaucoup de logiciels. Un habituel Ctrl + F permet d’ouvrir le widget en question. La recherche s’effectue sur :

  • les folios ;
  • les textes de folio ;
  • les éléments (eux‐mêmes triés selon leur type : maître, esclave, etc.) ;
  • les conducteurs.

Il est ensuite possible de modifier ou d’ajouter des propriétés, soit une par une, soit en masse sur les sélections en cours. L’outil peut aussi tout simplement servir à retrouver rapidement un élément (pas facile dans un projet de plus de 200 pages).

Un bouton « Avancé » permet de chercher et remplacer un texte de propriété ou d’utiliser une expression rationnelle (diagramme, élément, conducteur, texte de diagramme).
chercher‐remplacer dans QET
Voir la vidéo de présentation.

Récupération et sauvegarde automatique

Un système de récupération a été mis en place.

Lors du lancement de QET suite à un crash, une boîte de dialogue propose d’ouvrir le fichier de restauration, limitant ainsi la perte de travail. Parallèlement, une fonction de sauvegarde automatique à intervalle régulier a été créée (le code étant en partie le même que celui de la restauration).

L’intervalle de sauvegarde est paramétrable ou désactivable.

Chemins des collections d’éléments

Le chemin par défaut des collections d’éléments (commune et perso) peut être modifié. C’est aussi valable pour les cartouches utilisateur. C’était une demande récurrente de la part des utilisateurs.

À noter qu’il n’y a pas de prise en charge réseau, pour cela il faudra passer par un partage de dossier, par exemple Samba. Mon manque de connaissances en matière de réseau et les limites de Qt sur ce point ont eu raison de moi. La porte est ouverte si une âme charitable pouvait nous éclairer sur ce sujet.

Multi‐collage

Un petit outil accessible depuis le menu contextuel permet de coller plusieurs fois une sélection avec un décalage en une seule opération. Lors du multi‐collage, il est possible de connecter automatiquement les éléments, ainsi que de continuer les numérotations automatiques des éléments et conducteurs.
Voir la vidéo de présentation.

Autres nouveautés

  • conducteurs bicolores ;
  • position des textes de conducteurs paramétrables (gauche, droite, haut ou bas, par rapport au conducteur) ;
  • lors de la suppression d’un élément sur lequel plusieurs conducteurs sont raccrochés sur une même borne, le potentiel électrique n’est plus détruit (cf. vidéo de présentation) ;
  • ajout d’un outil « main libre » ou RubberBands permettant une sélection à main levée d’une zone et de connecter automatiquement les bornes sélectionnées par des conducteurs ;
  • édition de la coordonnée z des items dans l’éditeur de schémas (avant‐plan ou arrière‐plan) ;
  • possibilité d’arrondir les angles d’un rectangle (éditeur de schémas et d’éléments) ;
  • possibilité d’ajouter et supprimer les points d’un polygone (éditeur de schémas et d’éléments) ;
  • les informations des éléments (fabricant, fournisseur, référence, etc.) peuvent maintenant être renseignées depuis l’éditeur d’éléments ;
  • ajout de nombreuses variables pour les cartouches (%projectpath, %projectfilename, %projecttitle, %previous-folio-num et %next-folio-num), et de variables mises à jour seulement lors de l’enregistrement du projet (%saveddate, %savedtime, %savedfilename et %savedfilepath) ;
  • une liste déroulante a été créée dans le dialogue de création de texte de l’éditeur de cartouche, afin de pouvoir coller une variable rapidement et sans erreur ;
  • ajout dans la configuration de QET du choix de police et de taille par défaut pour les textes simples, les pages sommaires, et les textes dynamiques ;
  • possibilité de travailler avec des cartouches dont l’index des colonnes commence à 0 ;
  • le panneau latéral « Propriétés de la sélection » peut maintenant éditer les propriétés des textes indépendamment de l’éditeur de schéma, il permet aussi d’éditer plusieurs textes à la fois ;
  • la police des textes indépendants peut maintenant être modifiée ;
  • le panneau latéral « Propriétés de la sélection » peut maintenant éditer les propriétés de plusieurs formes simples en même temps.

Polissage

Comme toujours, chaque sortie d’une nouvelle version s’accompagne de divers polissages et petites corrections de bogues, dont entre autres :

  • lors du chargement d’un gros projet, la barre de progression figeait vers la fin ; la barre de progression reflète mieux l’avancement de l’ouverture du projet ;
  • la navigation avec les flèches du clavier a été améliorée ;
  • amélioration de la prise en charge des écrans à haute résolution (HiDPI) ;
  • amélioration de l’algorithme de recherche des conducteurs au même potentiel ;
  • lors d’une recherche dans le panel d’éléments, en plus de leur nom, les éléments sont aussi filtrés par leurs informations (fabricant, référence, code interne, etc.) ;
  • grâce au travail de Re‐searcher, la densité de la grille de l’éditeur de schéma peut être modifiée, ainsi que le pas lors du déplacement au clavier ;
  • ajout de nombreux messages dans la barre d’état, épaulant ainsi les nouveaux utilisateurs dans la découverte de certains outils de dessin ;
  • refonte de la boîte de dialogue si le greffon Python « générateur de bornier » n’est pas trouvé ou installé, les instructions pour installer le greffon sont différenciées en fonction du système d’exploitation ; des liens cliquables ont été insérés, ils facilitent le téléchargement des bibliothèques nécessaires et du greffon.

À côté du code

Durant le développement de la version 0.7, Laurent, en plus des paquets Debian/Ubuntu, Windows et macOS, fournit maintenant des AppImage de QET. Les versions 0.5, 0.6, 0.7 et de développement sont disponibles en AppImage.

En plus de l’avantage de pouvoir utiliser QET sur toutes les distributions prenant en charge AppImage, cela permet aussi d’avoir plusieurs versions de QET, et d’éviter ainsi des problèmes de rétro‐compatibilité, avec un projet créé sur une autre version que celle disponible dans les dépôts de votre distribution.

Un paquet au format snap est aussi disponible grâce à la contribution de Max (cf. la discussion sur le forum de QET).

À l’heure actuelle, aucune version de QET au format flatpak n’est disponible, mais nous avons trouvé quelqu’un qui pourrait nous aider à y remédier (cf. la discussion sur le forum de QET).

Une cagnotte Leetchi a été créée afin de permettre à Laurent de s’offrir une nouvelle machine de construction‐compilation. Nous avons ajouté des dépendances vers les bibliothèques KF5 (KDE Frameworks) comme libkf5widgetsaddons, libkf5coreaddons, et sûrement plus tard libkf5archive et d’autres… Ceci, hélas, complique énormément les travaux d’empaquetages de Laurent sur les différents système d’exploitation en compilation croisée.

À la date du 22 mai 2019, QET dispose de 5 330 éléments, répartis dans 713 catégories. Une quantité écrasante des éléments fournis par QET provient des utilisateurs qui nous font part de leurs propres éléments afin d’étoffer la collection officielle !

L’interface est traduite dans vingt‐et‐une langues (partiellement ou totalement, les traductions étant faites bénévolement, majoritairement par des contributeurs externes au développement de QET). De nouvelles traductions font leur apparition, dont le hongrois et le turc.

Une refonte de la documentation est en cours d’écriture, elle est toujours basée sur le logiciel Sphinx.

Pas besoin d’être développeur pour contribuer à l’évolution de QET. ;)

Version 0.8

Les fonctionnalités manquant à QElectroTech sont toutes plus ou moins aussi importantes les unes que les autres. C’est pourquoi nous avons mis en place chez nos amis de Framasoft un petit questionnaire des fonctionnalités que les utilisateurs souhaitent avoir en priorité. Le résultat de ce questionnaire définira la feuille de route de la version 0.8 :

page de vote en français ;
page de vote en anglais.

Dans les grandes lignes, on peut noter :

Le « futur » n’est bien sûr pas figé et continue d’évoluer au fil des retours des utilisateurs.

En résumé

Sans conteste, QET propose nettement moins d’outils que les logiciels phares de ce domaine (EPLAN Electric P8, SEE Electrical, SchemELECT et beaucoup d’autres). Entre autres, il manque certaines fonctions de base que l’on est en droit d’attendre de ce genre de produit, telles que la génération automatique de borniers intégrée, la création de câbles, l’identification de structures selon la norme ISO IEC 81346.

Pour autant et malgré ces lacunes, QET a de plus en plus d’utilisateurs professionnels pour les raisons suivantes :

  • il répond aux principaux besoins des professionnels sans nécessiter une longue formation ;
  • il n’impose pas de coûts de licences exorbitants (le GPL étant aujourd’hui un peu moins taxé que ses concurrents) ;
  • il prend en compte les retours des utilisateurs, en général sous une à deux semaines, parfois même le lendemain pour les petits détails ; dans le cas contraire, les demandes vont directement dans la todo list.

L’équipe de QElectroTech tient à remercier toutes les personnes qui l’encouragent dans ce projet, que ce soit par des remerciements, des dons, des propositions, des rapports de bogues ou des retours d’expérience.

Si ce n’est déjà fait, je vous laisse visiter ce lien et juger par vous‐mêmes des divers schémas présentés. Ce schéma (d’une vraie installation industrielle) est représentatif des possibilités offertes par QET.

Aller plus loin

  • # Complement

    Posté par (page perso) . Évalué à 10. Dernière modification le 20/07/19 à 18:21.

    En complément de la dépêche nous sommes passé de Subversion à GIT, enfin diront certains … :p Nous restons fidèle à l’équipe de Tuxfamily.org, mais nous avons aussi externalisées nos sources sur Github, il sera ainsi plus facile pour certains de nous soumettre des patchs.
    La documentation Sphinx ne se fera qu'a partir du Github qelectrotech-doc.
    Dans ce cas du paquet Snap les plugins qet_tb_generator et DXFtoelmt sont intégrés dans le snap.

    Voila ;-)

    • [^] # Re: Complement

      Posté par . Évalué à 3.

      ce logiciel meme en version très ancienne ma bien rendu service, pour des rapports de BTS eletrotech et maintenance industriel. (2008/2010)

      a l’époque il était un peu rugueux dans le style Xfig, mais je pouvais tous faire, même si cela prenais du temps.

      j'avais aussi fait quelques schéma hydraulique, le rendu est très bon à l'impression. J'avais adoré pouvoir dessiner mes propres disjoncteur magneto-thermique, contacteur etc … assez simplement et l'ajouter dans ma propre bibliothèques.

      diablement efficace.

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.