14,90 € TTC
p.06 Côté livres…
p.08 Introduction à l’AR avec ARcore et Flutter
p.23 Introduction au dossier
p.24 Construction d'un jeu de mémoire avec Tkinter
p.44 Réalisez une application de traitement d'images avec wxPython et OpenCV
p.62 Créez une interface graphique de construction et d'apprentissage de réseaux de neurones avec PyQt6
p.84 Utilisation et intégration du protocole TCP dans une application Erlang/OTP
La ligne de commande est l’interface ultime, certes... mais pas pour tout le monde.
Inutile de le nier, pour un utilisateur avec de l’expérience et une bonne connaissance du système, ou à fortiori un développeur, le réflexe est connu et éprouvé : on ouvre un terminal et on dialogue d’égal à égal avec le système, car c’est ce qu’il y a de plus efficace. Cependant, vous n’allez pas faire de la retouche d’images en utilisant uniquement les outils ImageMagick, naviguer sur le Web à coup de curl et de wget, ou encore appeler un ami avec votre smartphone en tapant dial suivi de son numéro.
Il est tout aussi stupide de penser « tout CLI » que « tout graphique ». Les extrêmes ne sont jamais de bons choix. À chaque utilisateur ses besoins, à chaque besoin son outil et à chaque outil son interface la plus adaptée. Et cela tombe excessivement bien, car le choix offert par le logiciel libre apporte toute la diversité qu’on peut souhaiter, permettant de décliner chaque réalisation dans l’interface qui lui correspond le mieux, et bien sûr, dans le langage de développement qui vous paraît le plus pertinent.
Le langage dont il sera question dans ce hors-série sera Python et vous y découvrirez que celui-ci se prête parfaitement à la réalisation d’applications graphiques, et dans un sens plus large, à la création d’interfaces homme-machine (IHM) adaptables à n’importe quel type de projet.
Bonne lecture !
Denis Bodor
GNU/Linux Magazine s'adresse aux professionnels et aux particuliers désireux de mieux maîtriser les techniques et problématiques liées à la programmation et à l’utilisation de solutions open source. Tous les deux mois avec ses articles techniques, la publication couvre les thématiques suivantes : programmation système, algo, bas niveau, sécurité du code, développement web...
L'évolution technologique que nous vivons depuis plus d'une décennie (eh oui, encore elle, et ce n'est pas terminé) s'accompagne par de nombreux changements, voire bouleversements dans bien des domaines, à commencer par le développement des Interfaces Homme-Machine, couramment appelée IHM. Ces dernières ne se résument plus à la mise en œuvre de simples fenêtres rectangulaires, où les actions se cantonnent à de vulgaires clics effectués via un curseur mu lui-même par une souris, mais à une interface complète intégrant ainsi des moyens de commande de plus en plus complexes, tels que des commandes tactiles, vocales, gestuelles, visuelles, haptiques...
Parmi les principaux frameworks graphiques figurent bien évidemment Qt et GTK, mais également wxWidget, anciennement wxWindow et son implémentation Python dénommée wxPython, qui reste un peu plus méconnue du grand public. Cependant, nombre d'applications l'utilisent comme Audacity, Code::Block, Kicad...
Au moment de la rédaction de cet article est publiée une mise à jour de Qt, à savoir la version 6.3, qui n'apporte pas de grandes innovations, mais corrige nombre de bugs. Dans un article précédent [1], nous avions utilisé PyQt5, car tous les modules n'étaient pas encore disponibles en version 6. C'est chose faite. Nous allons donc utiliser PyQt6 dans cet article pour mettre en œuvre le framework Graphics View. Cela permettra de voir, via la construction d’une interface graphique dédiée à la création de réseaux de neurones, les petites différences entre PyQt5 et PyQt6.