[réglé] utiliser GTK(4) en Perl? Autre possibilité pour GUI simple?

utiliser GTK(4) en Perl? Autre possibilité pour GUI simple? [réglé] - Perl - Programmation

Marsh Posté le 24-03-2021 à 21:15:56    

TL;DR: GTK4 est très/trop récent mais GTK3 fonctionne très bien en Perl.
 
Bonsoir gilou et Bonsoir les autres :o ,
 
quelqu'un a déjà utilisé GTK4 en Perl? Sur le site officiel je vois un exemple qui dit "use Gtk4;", mais la commande cpan -D ne connaît pas ce module et le site cpan.org non plus. Plus loin dans le code ça parle de GTK3, du coup est-ce une faute de frappe?
 
Pour Gtk3 il existe un module de ce nom sur CPAN, mais je vois pas mal de FAIL et GTK3 est ancien(??), du coup est-ce une bonne idée d'utiliser ce module? Je n'arrive pas à savoir combien de temps ce module (Perl et toute la "souscouche" GTK3) va encore exister / est encore maintenu / ...
 
Je cherche à créer une interface graphique simple (sous Linux, le cross-platform n'est pas obligatoire) et malheureusement je ne maîtrise que (plus ou moins :o ) le C et Perl5. En C, language bas niveau, tout est chiant ou presque, du coup je pensais au Perl. Je n'ai pas le temps/l'envie pour apprendre le Python ou autre là. J'aime pas du tout le Javascript et j'y connais presque rien en dév web, du coup partir dans cette direction n'est pas une solution non plus.
 
Je précise que je suis sous Debian, donc j'ai pas forcément un accès (simple) aux toutes dernières versions de tel ou tel truc.
 
Je peux partir sur un autre Toolkit mais - petit "détail" important - il me faut un "widget" ou autre qui permet de dessiner des pixels individuels, comme sur un petit écran. Sinon quelque boutons, checkbox et des dialogues ouverture/sauvegarde de fichier, tout ce qu'il y a de plus classique. J'ai pensé SDL mais c'est trop bas niveau je pense, pas de dialogues notamment et pas envie de réinventer la roue...
 
OS: Debian 10
Perl: v5.28.1


Message édité par rat de combat le 17-04-2021 à 18:28:48

---------------
Si vous ouvrez un sujet merci de ne pas le "laisser mourir" subitement et de le marquer comme "résolu" le cas échéant!
Reply

Marsh Posté le 24-03-2021 à 21:15:56   

Reply

Marsh Posté le 10-04-2021 à 20:55:07    

Personne? :(

Reply

Marsh Posté le 10-04-2021 à 23:13:36    

Ben faut avouer que tu cherches compliqué :/ Pas de C/C+, pas de PHP ou Python ni Javascript.
Perso, à part pour des besoins de hautes perfs, je vois plus l'intérêt aujourd'hui de faire une IHM en client lourd.
Il te reste Java sinon.
 
Tu veux coder quoi comme IHM ?


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 11-04-2021 à 02:13:34    

Perso, ces temps-ci, je ne fais plus du tout de perl, mes devs en java+spring+angular JS+xquery (sans oublier les plug-ins maven, les fichiers de déploiement gradle, les trucs en activeMQ...) m'occupent suffisamment.
 
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 11-04-2021 à 02:20:29    

Un truc tout basique, mais je ne peux pas en dire plus pour des raisons d'anonymat. Disons simplement un truc pour faciliter des histoires de configuration qui se font actuellement en éditant des fichiers texte à la main. Désolé de rester dans le flou... :o
 
Si y a pas moyen en Perl5, pourtant un bon language avec pleins de modules existants, je vais me replier sur le C, même si GTK me rappelle des mauvais souvenirs. :o (Leur système de macros qui cachent des casts faut aimer...)
 
Python faudra que je m'y penche un jour, mais pas tout de suite, pas le temps. Les trucs web j'aime pas du tout et c'est compliqué/long à apprendre (car il faut HTML+CSS+Javascript voir plus pour un backend).
 
Merci en tout cas et bonne nuit. :jap:
 
edit:

gilou a écrit :

Perso, ces temps-ci, je ne fais plus du tout de perl

Dommage. :( J'ai l'impression que Perl5 est mourant (ou déjà décédé??), pourtant à mon avis c'est un bon language.


Message édité par rat de combat le 11-04-2021 à 02:23:39
Reply

Marsh Posté le 11-04-2021 à 10:16:16    

Ben clairement, Perl n'a pas le vent en poupe :/ Mon avis est effectivement qui est mourant à petit feu. Il était surtout utilisé par les admin système pour automatiser. Aujourd'hui, t'as le bash sur Unix et Powershell sur Windows. Mais surtout, depuis quelques années sont apparus de nouveau outils de plus haut niveau et plus pratiques comme Ansible Kubernate, Docker...
 
Tu parle de faire un outil pour faciliter des confs. Regarde du côté d'Ansible si ça ferait pas ce dont tu as besoin. ;)


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 11-04-2021 à 18:17:13    

Merci mais c'est des fichiers de conf pour des bricolages µC, donc Ansible et Co c'est pas ça qu'il me faut.
 
Bon sinon je viens de voir que GTK4 est - evidemment - pas dispo dans les répos Debian. Je vais voir, soit je m'emmerde à compiler moi-même, soit je laisse tomber et je fais sans GUI soit ... à voir. :o

Reply

Marsh Posté le 11-04-2021 à 18:52:02    

Ah ok, je vois. Bon ben bon courage à toi ;)


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 11-04-2021 à 19:48:41    

Merci. :o  :jap:

Reply

Marsh Posté le 12-04-2021 à 11:58:58    

Mais tu as impérativement besoin que ça soit du GTK4, du GTK3 ne te suffirait pas ?
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 12-04-2021 à 11:58:58   

Reply

Marsh Posté le 12-04-2021 à 16:01:11    

GTK3 ferait largement l'affaire, mais est-ce pas "ancien" vu que la version 4 est sortie? :??: Je voudrais éviter d'apprendre un truc qui va disparaître bientôt, mais je n'ai pas trouvé d'info claire la-dessus...

Reply

Marsh Posté le 12-04-2021 à 19:49:23    

En tout cas GTK3 fonctionne avec Perl sous Debian 10 - si on passe par apt install libgtk3-perl et pas par cpan qui m'engeule avec des messages d'erreurs. J'ai beaucoup de doc à lire là...

 

edit: https://metacpan.org/pod/Gtk3

 

edit2: Y'a aussi Tk, mais ça fait un peu années 90 leurs exemples. :o Installation par cpan cette fois.


Message édité par rat de combat le 12-04-2021 à 19:57:15
Reply

Marsh Posté le 14-04-2021 à 10:56:43    

rat de combat a écrit :

GTK3 ferait largement l'affaire, mais est-ce pas "ancien" vu que la version 4 est sortie? :??: Je voudrais éviter d'apprendre un truc qui va disparaître bientôt, mais je n'ai pas trouvé d'info claire la-dessus...

C'est sorti mi-décembre, donc c'est un poil trop récent pour que tu trouves des modules Perl utilisables IMHO.
 
Et si tu regardes un peu tout ce qu'il y a dans le genre, au vu de ce que tu dis sur Tk, tu as aussi https://metacpan.org/release/Wx a prendre en considération.
 
A+,


Message édité par gilou le 14-04-2021 à 11:00:21

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 14-04-2021 à 18:19:37    

Merci. :jap:  
 
Je vais regarder Wx mais je pense partir sur GTK3. Je vais voir.

Reply

Marsh Posté le 17-04-2021 à 18:19:57    

Bon bah je suis parti sur Perl + GTK3 comme je disais. Faut refléchir / bricoler un peu pour "traduire" depuis la doc (pour le C) vers Perl mais ça va... (pour l'instant :o )

 

(edit: J'ai pris cette décision aussi car en passant je deviens un peu familier avec GTK3 "natif" == en C ce qui pourrait être utile un jour.)


Message édité par rat de combat le 17-04-2021 à 18:20:49
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed