Topic: QElectroTech version 0.7 released
Bonjour,
nous avons le plaisir de vous annoncer la sortie de la version 0.7 après plus d'un an de travaux.
Retour sur la 0.6 Annonce de la version 0.6
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 RAM (grâce au nouveau panel d'éléments) ;
Utilisation du 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 chiant de QET.
Et comme toujours diverses améliorations et corrections.
Version 0.7
Fil de discussion durant le développement de la 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.
Correction du crash des « conducteurs fantômes »
Il existait dans QET un bug, 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 qui était effacée, restait affichée à l'écran et provoquait des artefacts lors du survol de la souris ou du changement de zoom. Il a finalement été corrigé et rétroporté.
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émas, 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 (label, 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 ;
Pouvoir encadrer le texte ;
Définir 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é, droite).
Édition (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 ;
Ajustement vertical : correspond à 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).

Import-export 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 textes 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.

ModifierRechercher, 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ême triés selon leur type : maître, esclave, etc.) ;
les conducteurs.
Il est ensuite possible de modifier et/ou 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 régulière (diagramme, élément, conducteur, texte de diagramme).

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 boite 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 utilisateurs.
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.
Vidéo de présentation
Autres nouveautés
Conducteurs bicolores ;
Position des textes de conducteurs paramétrables (gauche/droite/haut/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;
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/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 d'élément (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, %next-folio-num), et de variables mises à jour seulement lors de l'enregistrement du projet (« %saveddate, %savedtime, %savedfilename, %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 config 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 bugs, 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 HiDPI ;
Amélioration de l’algorithme de recherche des conducteurs au même potentiel ;
Lors d'une recherche dans le panel d'élément, en plus du 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 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 boite 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 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 et aussi disponible grâce à la contribution de Max. Discussion sur le forum.
À l'heure actuelle, aucune version de QET au format flatpak n'est encore disponible, mais Mathieu y travaille.
Discussion sur le forum de QET
Une cagnotte leetchi a été créée afin de permettre à Laurent de s'offrir une nouvelle machine de build.
Nous avons ajouté des dépendances vers les bibliothèques KF5 (kdeframework) 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 OS en cross-compilation.
À la date du 19 Juillet 2019, QET dispose de 5320 éléments, répartis dans 717 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 21 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 : Documentation
Pas besoin d'être développeur pour contribuer à l'évolution de QET .
Version 0.8
Les fonctionnalités manquantes à 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 :
Générateur de borniers natif (un greffon Python existe, rendez-vous dans le menu « projet -> lancer le greffon de création de bornier ») ;
Générateur de câbles ;
Outils de traduction des projets ;
Structure de projet selon la norme IEC 81346.
Le futurn'est bien sûr pas figé et continue d'évoluer au fil des retours 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 pour ce genre de produit, telles que la création de câbles, l'identification de structures selon la norme 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 1 à 2 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 nous encouragent dans ce projet, que ce soit par des remerciements, dons, propositions, retours de bug et d'utilisation.
Si ce n'est déjà fait, je vous laisse visiter ce lien et juger par vous-même des divers schémas présentés. Ce schéma (d'une vraie installation industrielle) est représentatif des possibilités offertes par QET.
Cette dépêche a été écrite par Joshua et en collaboration sur le site Linux.fr https://linuxfr.org.