URL: https://linuxfr.org/news/sortie-de-qelectrotech-0-8 Title: Sortie de QElectroTech 0.8 Authors: joshua palm123, Bruno Ethvignot, scorpio810, BAud, Ysabeau đ§¶, Yves Bourguignon et BenoĂźt Sibaud Date: 2020ćčŽ10æ31æ„T11:09:37+01:00 License: CC By-SA Tags: qelectrotech et flatpak Score: 41 Un peu plus dâun an aprĂšs la derniĂšre version stable de QElectroTech (QET), la version 0.8 est maintenant disponible en tĂ©lĂ©chargement. [QElectroTech](https://qelectrotech.org/) 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++](https://fr.wikipedia.org/wiki/C%2B%2B) et [Qt5](https://www.qt.io/). ---- [Le site de QelectroTech](https://qelectrotech.org/) [Guide utilisateur](https://download.tuxfamily.org/qet/manual_0.7/build/index.html) ---- Version 0.8 ======================== Bien que le dĂ©veloppement ait Ă©tĂ© plus long que pour la version prĂ©cĂ©dente, la liste des changements, quant Ă elle, est plus mince. Les trois grandes nouveautĂ©s sont : - nomenclature intĂ©grĂ©e au projet ; - nouveau sommaire ; - chargement de la collection dâĂ©lĂ©ments plus rapide. Ăditeur de diagramme =========== Nouvelles fonctionnalitĂ©s ----------- ### Nouveau sommaire et nomenclature intĂ©grĂ©e ### Nomenclature Un nouvel outil nomenclature fait son apparition dans le menu : projet -> Ajouter une nomenclature. La nomenclature se prĂ©sente sous la forme dâun tableau configurable sĂ©parĂ© en deux parties : lâaffichage (la forme) et le contenu (le fond). - Affichage : la taille et position du tableau, les marges entre texte et cellule du tableau, lâalignement du texte dans les cellules et la police dâĂ©criture. La configuration des en-tĂȘtes du tableau et du tableau lui-mĂȘme sont distinctes. - Contenu : les informations Ă afficher dans le tableau et lâordre dans lequel elles doivent ĂȘtre affichĂ©es.  Afin dâaccĂ©lĂ©rer la mise en place dâune nomenclature il est possible dâexporter/importer les configurations dâaffichage et de contenu sĂ©parĂ©ment. Câest la partie « Configuration » que lâon peut voir sur les photos ci-dessus. En arriĂšre-plan, câest une base de donnĂ©es SQLite qui fait le travail, ainsi la configuration du contenu nâest ni plus ni moins quâune requĂȘte SQL créée Ă lâaide dâun dialogue (capture dâĂ©cran de droite). La requĂȘte SQL se configure ainsi (de haut en bas sur la capture dâĂ©cran) : - « Informations disponibles » : les informations Ă afficher ; - « Filtre » : filtrer les informations (nâest pas vide, est vide, contient, ne contient pas, est Ă©gal Ă , nâest pas Ă©gale Ă ) un seul filtre peut ĂȘtre appliquĂ© par information, il nâest pas possible dâen combiner plusieurs ; - « Type dâĂ©lĂ©ments » : permet de filtrer sur quel type dâĂ©lĂ©ment lâon veut obtenir des informations. Tout en bas une coche « RequĂȘte SQL » permet dâĂ©diter une requĂȘte personnalisĂ©e, si les options de base ne sont pas suffisantes. Lorsquâune nomenclature est trop grande pour ĂȘtre contenue dans un seul folio, il est possible de la sĂ©parer sur plusieurs folios, les tableaux de chaque folio sont alors liĂ©s entre eux. Lors de la crĂ©ation dâune nomenclature cette option est activĂ©e par dĂ©faut, ce qui a pour effet dâajouter le nombre de folios nĂ©cessaire, ajouter un tableau dans chacun dâeux et les lier ensemble. Enfin deux boutons sont disponibles dans le panneau de propriĂ©tĂ© : - « Ajuster le tableau au folio » : positionne et ajuste la taille et dĂ©termine le nombre de lignes du tableau par rapport au folio ; - « Appliquer la gĂ©omĂ©trie Ă tous les tableaux liĂ©s Ă celui-ci » : applique les trois propriĂ©tĂ©s citĂ©es plus haut Ă lâensemble des tableaux liĂ©s afin de gagner du temps et garder une cohĂ©rence esthĂ©tique. Et pour finir un tableau :  ### Sommaire Lâancien sommaire, quant Ă lui, a Ă©tĂ© totalement supprimĂ© du code afin de laisser place au nouveau qui est exactement la mĂȘme chose que la nomenclature (une grande quantitĂ© du code est commune), Ă lâexception de la requĂȘte SQL (et de son dialogue pour la paramĂ©trer) qui propose des informations propres Ă lâĂ©dition dâun sommaire. ### Export de la base de donnĂ©es interne La base de donnĂ©es utilisĂ©e par la nomenclature et le sommaire peut ĂȘtre exportĂ©e dans un fichier « .sqlite ». Ă lâheure actuelle ceci nâa aucun intĂ©rĂȘt, la fonction ayant Ă©tĂ© créée pendant le dĂ©veloppement pour du dĂ©bogage, nous lâavons laissĂ©e. Ă noter que la base de donnĂ©es prendra de plus en plus dâimportance dans lâavenir de Qet. ### Export de la liste de fileries Afin de pouvoir utiliser plus facilement les imprimantes de numĂ©ro de fileries, les noms de conducteurs peuvent ĂȘtre exportĂ©s au format CSV, lâexport respecte la quantitĂ© de conducteurs afin dâimprimer la bonne quantitĂ© de numĂ©ros, par exemple un potentiel numĂ©rotĂ© 240 composĂ© de 3 fils donnera 6 Ăă°ă€ 240 (2 numĂ©ros par fil Ăă°ă€ 3 fils) dans le CSV. AmĂ©liorations et remaniement ----------- ### Export de la nomenclature retravaillĂ© Lâexport en CSV de la nomenclature a Ă©tĂ© remaniĂ© afin dâutiliser la nouvelle base de donnĂ©es, un nouveau dialogue dâexport (semblable Ă lâonglet « contenu » de la nomenclature) permet de paramĂ©trer les informations Ă exporter. ### Chargement de la collection dâĂ©lĂ©ments plus rapide _Bien que pas prĂ©vu pour la version 0.8, les tests Ă©tant tellement bluffants nous avons dĂ©cidĂ© de travailler sur ce sujet._ _Ă savoir les fichiers dâĂ©lĂ©ment (.elmt) sont de simples fichiers XML._ JusquâĂ la version 0.8 nous utilisions le [parseur XML](https://fr.wikipedia.org/wiki/Analyse_syntaxique) de [Qt](https://doc.qt.io/qt-5/qtxml-module.html). Il sâavĂšre que la vitesse du parseur de Qt est trĂšs trĂšs lente comparĂ©e Ă dâautres ([lien] (https://pugixml.org/benchmark.html)) et la balance a penchĂ© pour [pugixml](https://pugixml.org/). Malheureusement le gain de vitesse nâest pas identique suivant les OS, le chargement qui Ă©tait trĂšs long sous Windows est maintenant... long. ([lien] (https://programmer.group/efficiency-comparison-of-c-xml-parsing-qt-tinyxml-2-rapidxml.html)) Pour Windows on peut compter sur un gain de vitesse de 30 % environ, bien que cela puisse beaucoup varier dâune configuration Ă une autre sans que nous sachions pourquoi (quâimporte lâutilisation dâun SSD ou HDD, nombre de cĆurs du processeur). Sous Linux câest autre chose :) le chargement se fait au minimum deux fois plus vite. Le revers de la mĂ©daille est une consommation mĂ©moire un peu plus haute liĂ©e Ă la maniĂšre dont nous avons codĂ© la chose (pugixml nây est pour rien) mais cela reste nĂ©gligeable. ### Dialogue dâimpression et export PDF - La partie graphique du dialogue dâimpression a Ă©tĂ© totalement réécrite avec [Qt designer](https://doc.qt.io/qt-5/qtdesigner-manual.html) en lieu et place du C++. ConcrĂštement cela ne change rien pour lâutilisateur, mais nous permet de mieux sĂ©parer le code. - Le _widget_ de sĂ©lection des folios Ă imprimer possĂšde deux nouvelles options : « Ă partir de la date du : » et « Ă la date du : » cela est pratique quand vous souhaitez imprimer uniquement les schĂ©mas que vous avez mis Ă jour. - Lâimpression sur imprimante physique et PDF est maintenant sĂ©parĂ©e, un nouveau bouton « ExportĂ© en PDF » est disponible dans la barre dâoutils et le menu « fichier ». ### Nouvelles informations de conducteur Les conducteurs gagnent quatre nouvelles informations : Couleur du conducteur (textuelle, il Ă©tait dĂ©jĂ possible de modifier la couleur du conducteur), Section du conducteur, CĂąble, Bus. ### Widget rechercher / remplacer - Le widget du rechercher / remplacer est maintenant animĂ©, ça fait pas avancer le schmilblick mais un peu dâanimation ça fait toujours bien. :) - Il est maintenant possible de sĂ©lectionner les Ă©lĂ©ments et/ou conducteurs et/ou textes indĂ©pendants dâun folio en particulier grĂące Ă un clic droit sur le folio voulu.  ### Texte dâĂ©lĂ©ments Les textes dâĂ©lĂ©ments sont dotĂ©s dâune nouvelle fonctionnalitĂ© « Conserver la rotation visuelle ». Cela signifie que lorsque un Ă©lĂ©ment subit une rotation, le texte suit la rotation en x.y en revanche lâangle _visuel_ reste le mĂȘme. ### AmĂ©lioration de lâexport DXF Un nouveau contributeur, [David Varley](https://github.com/C-Born-Software), a beaucoup contribuĂ© sur la partie export [DXF](https://fr.wikipedia.org/wiki/Drawing_eXchange_Format) rendant celle-ci nettement meilleure. Ăditeur dâĂ©lĂ©ment =========== ### Widget dâĂ©dition de polygone La sĂ©lection dâun point du polygone dans la liste des points provoque le changement de couleur du point correspondant afin de mieux visualiser le point en cours dâĂ©dition. Dans cette mĂȘme liste, un clic droit ouvre un menu contextuel permettant de supprimer le point sĂ©lectionnĂ© ou insĂ©rer un nouveau point aprĂšs celui sĂ©lectionnĂ©. ### PrĂ©cision des dĂ©placements au clavier Lors du maintien de la touche `ctrl` + flĂšche directionnelle, les parties sĂ©lectionnĂ©es se dĂ©placent de 0,1 au lieu dâune unitĂ©. ### Couleurs Une Ă©norme quantitĂ© de couleurs aux « standard HTML » a Ă©tĂ© ajoutĂ©e. Nous continuons volontairement de « limiter » la quantitĂ© de couleurs afin de garder une certaine uniformitĂ© graphique des Ă©lĂ©ments. Nouveaux contributeurs ============================================================ [Simon De-Backer](https://github.com/De-Backer) nouveau contributeur a revu le code en profondeur en nettoyant les fonctions obsolĂštes et/ou dĂ©prĂ©ciĂ©es dans le but dâĂȘtre compatible avec la nouvelle version du framework Qt en version 6. Il a participĂ© aussi Ă lâamĂ©lioration de lâindentation pour une lecture plus aisĂ©e des sources, ainsi que sur la refonte de la documentation [Doxygen](https://fr.wikipedia.org/wiki/Doxygen). Ă cĂŽtĂ© ============================================================ Laurent a lancĂ© quelques tests de QElectrotech avec [Qt for WebAssembly](https://www.youtube.com/watch?v=W1HILian74I&feature=youtu.be) seules les versions 0.5 et 0.6 fonctionnent, les versions 0.7 et 0.8 ne fonctionnent pas, entre autres Ă cause des [KF5 addons](https://api.kde.org/). Lâutilisation elle-mĂȘme reste satisfaisante mĂȘme si on nâest pas au niveau dâune utilisation native. Affaire Ă suivre. Ajout des paquets [Snap](https://snapcraft.io/qelectrotech) avec lâexpertise de [Maximilian](https://github.com/ppd) et des paquets [Flatpak](https://qelectrotech.org/forum/viewtopic.php?pid=11227#p11227) avec lâaide de [Mathieu](https://github.com/bochecha). Ă la date du 21 fĂ©vrier 2021, QET dispose de 7279 Ă©lĂ©ments, qui sont rĂ©partis dans 1 005 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 ! Des Ă©lĂ©ments doublons mais avec des rĂ©fĂ©rences constructeurs diffĂ©rentes ont Ă©tĂ© Ă©cartĂ©s et mis Ă disposition sur ce dĂ©pĂŽt [Github](https://github.com/qelectrotech/qelectrotech-element-contrib) [SĂ©bastien](https://github.com/sdeffaux) a participĂ© Ă la refonte de la collection et Ă lâajout de nouveaux Ă©lĂ©ments collectĂ©s sur le forum, soulageant Laurent de cette tĂąche. Lâinterface est traduite dans vingt-trois 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 norvĂ©gien et le japonais, et tout rĂ©cemment le mongol. Une refonte de la [documentation](https://download.tuxfamily.org/qet/manual_0.7/build/index.html) est en [cours dâĂ©criture](https://github.com/qelectrotech/qelectrotech-doc), elle est toujours basĂ©e sur le logiciel Sphinx.