Introduction à PHP-GTK

Posté par  . Modéré par Nÿco.
Étiquettes : aucune
0
16
mai
2003
PHP
Une combinaison entre le langage le plus utilisé pour le web dynamique et GTK une bibliothèque graphique très connue chez les utilisateurs de Linux, pourquoi faire ?

PHP, un langage dynamique uniquement pour l'Internet ? Non, nous nous sommes égarés car PHP couplé à GTK vous permettra de créer des applications clientes ! (NdM : "client lourd" par opposition à "client léger aka web")

PHPTeam vous propose une introduction au couplage de ces deux technologies.

Aller plus loin

  • # Re: Introduction à PHP-GTK

    Posté par  . Évalué à 1.

    Le tutorial est extrement court.
    • [^] # Re: Introduction à PHP-GTK

      Posté par  . Évalué à 6.

      Oui court mais c'est une introduction.... Un autre article : http://www.xgarreau.org/techelp/cg/phpgtk/ pour ceux que cela intèresse. A noté que PHP-GTK 0.5x (diposnible depuis plus d'un ans) est basée sur GTK+ 1.2 (1.3) / PHP 4 et que la version 1.0 en cours de développement sera basée sur GTK+ 2 et PHP 5 :D . PHP-GTK est tres pratique pour faire de petits clients oriantés base de données, l'avantage par rapport a une applications web, est une plus grande réactivité (pas de connexion au serveur web), manipulation automatique des fichiers chez le client et traitement avant insertion dans la base SQL (ex: pour synchroniser un PDA). L'inconvéniant par rapport a une interface web c'est la mise à jour, sur un serveur web c'est centralisé.
  • # Re: Introduction à PHP-GTK

    Posté par  . Évalué à 1.

    J'ai développé quelques applications en PHP-GTK. Ce langage est très pratique et les nombreuses fonctionnalités du langage PHP permettent de réaliser des applications très complètes.
    • [^] # Re: Introduction à PHP-GTK

      Posté par  (site web personnel) . Évalué à 1.

      ah cool, car j'ai vraiment envie de m'y mettre mais faute de temps, je ne m'y suis toujours pas mis !!! (J'ai deja sous le coude une documentation d'installation de php GTK sur ma Woody mais ..... ) En plus dans l'exemple fournis sur le Site,j'obtiens des warnings : add() requires exactly 1 argument, 0 given $HorizontalBox->add($windows); $HorizontalBox->add(); $VerticalBox->add(); $VerticalBox->add(); $window->add(); C'est dommage !!!
      • [^] # Re: Introduction à PHP-GTK

        Posté par  (site web personnel) . Évalué à 1.

        J'ai le même soucis. php 4.2.3 php-gtk 0.5.1 Pour ta woody: apt-get install php-gtk
        • [^] # Re: Introduction à PHP-GTK

          Posté par  (site web personnel) . Évalué à 1.

          ah oui c'est vrai que pour 1 version de difference je me suis un peu pris la tete a vouloir compiler ce truc !!! mais a priori en regardant comme ca vite fait il faut : $MyExit1Button = &new GtkButton("Exit 1"); $MyExit1Button->connect('clicked', 'QuitFunction',$window); $MyExit2Button = &new GtkButton("Exit 2"); $MyExit2Button->connect('clicked', 'QuitFunction',$window); $MyExit3Button = &new GtkButton("Exit 3"); $MyExit3Button->connect('clicked', 'QuitFunction',$window); et j'arrive a afficher au moins un bouton en faisant a la fin : $window->add($MyExit1Button); PS: Sous Windows ca ne fonctionne pas non plus !!! dixit ma copine :-)
      • [^] # Re: Introduction à PHP-GTK

        Posté par  (site web personnel) . Évalué à 1.

        Heu j'ai pas été voir mais c'est très con de ne pas en passer. Il parait un peu évident que si on veut ajouter un truc faut dire quoi...
        • [^] # Re: Introduction à PHP-GTK

          Posté par  . Évalué à 2.

          Désolé, y'a eu une erreur lors de la rédaction du tuto pour le site.
          C'est réparé.

          Il est clair qu'il faut spécifier un argument à la fonction add.

          Sinon j'ai testé la super appli du tuto sous Windows XP avec "PHPGTK Interpreter" et ca passe très bien. Dit benjdto, ta copine, elle utilise koa ?

          Il est vrai que le tuto est court mais c'est une introduction. La suite sera plus musclée.

          Mobyone from PHPTEAM
          • [^] # Re: Introduction à PHP-GTK

            Posté par  (site web personnel) . Évalué à 1.

            Bein en fait le soucis du tuto qui a ete corrigé : <?php $HorizontalBox->add($MyExit1Button); $HorizontalBox->add($MyExit2Button); $VerticalBox->add($HorizontalBox); $VerticalBox->add($MyExit3Button); $window->add($VerticalBox); ?> Faisait que ni sous Windows ni sous Linux cela ne fonctionnait, mais maintenant cool ca marche et en plus ca m'a motive pour mettre en place des choses avec phpGTK Merci
  • # Re: Introduction à PHP-GTK

    Posté par  . Évalué à 0.

    Je doit être un peu bête, ou tout simplement ignorant, mais le modé entend quoi par : "client lourd" par opposition à "client léger aka web" Que la combinaison php-gtk fait des applis paquebot? Et c'est quoi aka Web?
    • [^] # Re: Introduction à PHP-GTK

      Posté par  (site web personnel) . Évalué à 0.

      "aka" signifie "ie" ou "cad" "c'est à dire" dans son acception la plus courante. aka web désigner donc les clients légers. La ndm signifait si je puis me permettre l'interprétation que les interfaces web pouvaient être considérés comme des clients légers (portail PHP dans un navigateur par exemple pour la gestion d'agenda) en comparaison avec des softs considéres comme ces clients lourds (organiser type Ms-Outlook qui va bien avec lourd).
    • [^] # Re: Introduction à PHP-GTK

      Posté par  . Évalué à 5.

      "client léger aka web" ca veut dire que c'est léger comme une puce et qu'on la voit pas (aka rien) et si l'application est moyennement encombrante c'est un client moyen (aka démi) Oui je sais, c'est akablant. Etienne
    • [^] # Re: Introduction à PHP-GTK

      Posté par  . Évalué à 3.

      Un client : "lourd" est un client qui est installé sur ta machine "léger" est un client qui tourne sur un serveur, sur la machine du client il n'y a presque rien (navigateur web, client générique au serveur d'application: EJB....) (corrigé moi si je me trompe). Mais PHP-GTK est très léger, certe c'est pas aussi rapide qu'un programme en C, car c'est du script. Le même code php marche sous windows ou linux sans aucune modification ( la portabolité se résume a un teste pour savoir quel type de bibliothèque charger: dll ou so).
  • # Re: Introduction à PHP-GTK

    Posté par  . Évalué à 1.

    Juste comme ça, à quand des "clients lourds" en qt et php ? (parce que sur le papier phpgtk est portable, mais en pratique gtk est quasiment inutilisable sous Windows, en tout cas sur le Win95 de mon PC)
    • [^] # Re: Introduction à PHP-GTK

      Posté par  (site web personnel) . Évalué à 1.

      ben réessaye alors ! perso j'utililise quotidiennemnet des chtits trucs fait maison en php-gtk depuis près de 2 ans ! sous linux, nonente-cinq et XP, sans aucun tracas ! il y a même des installeurs pour doz qui mettent les libs gtk là où il faut !
    • [^] # Re: Introduction à PHP-GTK

      Posté par  (Mastodon) . Évalué à 1.

      Euh, en pratique, QT c'est pas libre sous Windows, à moins d'installer un serveur X et la version GPL... Donc finalement, GTK c'est pas une mauvaise idée :-)
      • [^] # Re: Introduction à PHP-GTK

        Posté par  . Évalué à 1.

        Bah, de toutes façons, Windows c'est pas libre non plus, alors on est pas à ça près : p
        • [^] # Re: Introduction à PHP-GTK

          Posté par  . Évalué à 1.

          il veut dire que tu dois PAYER pour développer en QT version windows
          et distribuer tes logiciels

          vla le probleme

          pas en GTK. gtk est gratuit (et libre) quelque soit sa déclinaison

          GTK marche tres bien sur windows dorénavant

          PAN, xchat ou gimp sont des exemples de programmes complétements fonctionnels et de qualités sur windows+gtk

          enfin bon.. personnellement, je preferait que les gens virent windows pour profiter de gtk... :)

          mais voila, stop au FUD, GTK2 marche _bien_ sur windows. (avec meme un theme gtk en widget natif windows, impressionnant)


          bon, mon reve, un GTK-cocoa/aqua :) pour quand ?
          • [^] # Re: Introduction à PHP-GTK

            Posté par  . Évalué à 1.

            PAN, xchat ou gimp sont des exemples de programmes complétements fonctionnels et de qualités sur windows+gtk

            En tout cas, Gimp est (était ?) inutilisable sous Windows, je ne sais pas si ca s'est arrangé, mais le peu de fois où je l'ai essayé, il fallait avoir en premanence les doigts sur Ctrl-S et encore, quand c'était pas la sauvegarde qui faisait planter le programme. Ca a peut-être changé depuis ceci dit, quelqu'un pour confirmer/infirmer ?
          • [^] # Re: Introduction à PHP-GTK

            Posté par  . Évalué à 1.

            J'ai un vieil écran 256 couleurs et Gaim sous Windows est une véritable horreur. Par exemple, il suffit que je change de fenetre pour que mon apps GTK prenne des couleurs atroces, voire illisibles (texte noir sur noir souvent). D'ailleurs, il arrive souvent que gtk refuse de se lancer sous prétexte qu'il a besoin de plus de 256 couleurs.
            Une autre exemple : Sylpheed. Ca lui arrive souvent de crasher et souvent il veut plus redémarrer meme en redémarrant Windows.
            Je sais que toutes ces applications je peux les utliser sous linux, mais j'ai un winmodem :(
            XChat est aussi une horrreur. Par contre, je sais pas pourquoi, The Gimp passe bien. Mais faut dire que je m'en fous un peu, car The Gimp je l'utilise sous Linux.
            Donc tout ce que j'ai vu jusqu'ici à part The Gimp en GTK sous Windows est inutilisable. C'est plutot dommage, car PHP-GTK m'interesse vraiment.

            Quand à QT, il n'est pas libre sous Windows mais il existe tout de meme une version non commerciale (meme si c'est encore une 2.x). Le seul inconvénient c'est qu'il n'est pas compilable avec MingW (seulement avec Visual C++, vous savez le truc à plus de 2000 euros). Ha oui, et il est incompatible GPL.
  • # Re: Introduction à PHP-GTK

    Posté par  (site web personnel) . Évalué à 4.

    L'utilisation qui roxor c'est de faire une interface avec glade en définissant des callbacks (mettre le nom d'une fonction php et la definir dans le .php). Ensuite : $layout =& new GladeXml("lenomdufichier.glade"); $layout->signal_autoconnect(); Et hop pas une ligne de code inutile de création d'interface :-) Si on a besoin d'acceder à un objet pour appeler une de ses méthodes dans : $window =& $layout->get_widget("window1");
  • # Et en perl ?

    Posté par  . Évalué à 4.

    Ca a l'air sympa ...
    d'un autre cote je voulais creuser perl-GTK, pas pour troller mais pour donner
    une interface "clicable" a par mal de scripts perl d'administration ...
    c'est pour des scripts existants, ou devant tourner sur des machines ayant perl d'installé et pas python/php/...
    Ca m'amuse parce que je me souvient du temps ou il fallait bassiner tout le monde pour avoir perl d'installé sur les sun/aix ... et de montrer a chacun la puissance de perl pour scripter. Aujoud'hui on a perl en standard sur tous les unix du marché ... et on demande pyhton/php JAMAIS CONTENT :-)

    Est-ce que quelqu'un a de bonnes url sur le sujet perl-GTK ??
  • # C'est marrant

    Posté par  . Évalué à 1.

    PHP est en train de devenir ce que tout le monde repproche à perl.

    Je trolle dès quand ça parle business, sécurité et sciences sociales

    • [^] # Re: C'est marrant

      Posté par  . Évalué à -1.

      Qu'est-ce que « tout le monde » reproche à PERL, exactement?

      (Et pis de toutes façons, PERL r0x0r et mod_perl est une solution largement supérieure à PHP pour le web, niark niark ^^)
    • [^] # Re: C'est marrant

      Posté par  . Évalué à 1.

      explique ? php est tres bien comme langage, meme avec ses quelques lacunes objets.

      * pour un programmeur Perl, il est tres facile de migrer de l'un a l'autre,
      * il est somme toute assez proche du C ou C++.
      * c'est beaucoup mieux que Basic ou Javascript ; ces 2 langages n'acceptent pas tres bien les concepts objets.
      * une grande partie de ce que tu peux faire en Perl, tu peux le realiser de la meme maniere en php ; je pense en particulier aux expressions regulieres. Elle sont natives en Perl, et assez bien intégreés dans php.
      • [^] # Re: C'est marrant

        Posté par  (site web personnel) . Évalué à 1.

        Pour info le modèle objet de javascript est tout à fait viable et fonctionnel, etsurtout comparé à celui de PHP
        Pour basic il me semble que vb est objet aussi (plus que php).

        Sur les trois c'est probablement PHP qui a le plus mauvais support POO ;)


        > [expressions regulieres] assez bien intégreés dans php.

        C'est une vrai horreur, les problèmes d'échappement obligent souvent à rajouter des \ de partout justement car elles ne sont pas intégrées. C'est comme ca dans tous les langages où il n'y a pas d'intégration mais il faut avouer que c'est super moins pratique que perl.
        • [^] # Re: C'est marrant

          Posté par  . Évalué à 1.

          Pour la POO, ils prévoient de l'améliorer dans la version 5 (il me semble que la 4.3.2 est la dernière étape avant la 5 mais je ne suis pas sur).
  • # Mes questions à la noix

    Posté par  . Évalué à 3.

    PHP-GTK est un concept très intéressant, par contre j'ai un léger doute sur la fraîcheur du soft... Voir la mention suivante à la page http://gtk.php.net/download.php(...) :

    Note: PHP-GTK requires PHP 4.0.5 or greater (latest CVS version will work too). Versions 0.1.x currently require PHP 4.1.0 or CVS version to compile.

    PHP-GTK currently supports GTK+ v1.2.6 or greater, but not GTK+ v2.0 (which is still under development and won't be widely used for a while).


    PHP 4.1.0 CVS, GTK+ 2 "still under development"... PHP-GTK est-il activement maintenu ? Ce serait dommage de s'enfermer avec une combinaison qui ne bouge plus.

    D'autre part est-ce que quelqu'un a fait la comparaison avec Mono (GTK# ou Windows) pour la réalisation de petites applis graphiques portables ?

Suivre le flux des commentaires

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