Réalisation d’applications Desktop Windows/Mac Os avec PHP

5,426 views
5,282 views

Published on

Lorsqu'on commence à maîtriser un langage puissant tel que PHP, on est tenté de l'utiliser pour tout type de programmation, par enthousiasme, mais aussi par souci d'efficacité.

Cependant, alors que nous savons tous comment utiliser PHP au travers d’un serveur Web ou en ligne de commande, nous avons beaucoup moins de pratique pour créer une application Desktop, monoposte ou client-serveur, qui plus est, en exploitant l’interface native du système.

En effet, comment fournir un logiciel clé en main avec son installateur ou directement un « .exe » pour Windows ou un « .app » pour Mac OS ? Comment éviter d’avoir à installer successivement Apache, PHP et MySQL, ou du moins ne pas entrer en conflit avec des instances potentiellement déjà présentes ?

Nous évoquerons les différentes réponses existantes, de la plus « Geek » à la plus « RAD » en passant par Flex, Java, GTK2 et d’autres solutions surprenantes.

(Presentation Forum Php Paris 2009)

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
5,426
On SlideShare
0
From Embeds
0
Number of Embeds
489
Actions
Shares
0
Downloads
69
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Réalisation d’applications Desktop Windows/Mac Os avec PHP

  1. 1. Réalisa'on
d’applica'ons
Desktop
Windows
/
Mac
OS
avec
PHP
  2. 2. Réalisation d’applications Desktop Windows/Mac Os avec PHP Lorsqu'on commence à maîtriser un langage puissant tel que PHP, on est tenté de l'utiliser pour tout type de programmation, par enthousiasme, mais aussi par souci d'efficacité. Cependant, alors que nous savons tous comment utiliser PHP au travers d’un serveur Web ou en ligne de commande, nous avons beaucoup moins de pratique pour créer une application Desktop, monoposte ou client-serveur, qui plus est, en exploitant l’interface native du système. En effet, comment fournir un logiciel clé en main avec son installateur ou directement un « .exe » pour Windows ou un « .app » pour Mac OS ? Comment éviter d’avoir à installer successivement Apache, PHP et MySQL, ou du moins ne pas entrer en conflit avec des instances potentiellement déjà présentes ? Nous allons évoquer les différentes réponses existantes, de la plus « Geek » à la plus « RAD » en passant par Flex, Java, GTK2 et d’autres solutions surprenantes.
  3. 3. Réalisation d’applications Desktop Windows/Mac Os avec PHP 4D doit supporter PHP
  4. 4. Réalisation d’applications Desktop Windows/Mac Os avec PHP 4D et PHP • La société • Réalisation du driver PDO_4D avec Alter-Way • Membre de l’AFUP depuis 2009 • Sponsor du FORUM PHP Paris 2009 • Intégration de PHP 5.3 dans 4D v12 • Le présentateur • Product Manager responsable des technos PHP • Zend Certified PHP Engineer • 10 ans d'expérience sur des projets PHP
  5. 5. Réalisation d’applications Desktop Windows/Mac Os avec PHP 4D et PHP
  6. 6. Réalisation d’applications Desktop Windows/Mac Os avec PHP Solutions pour applications Desktop
  7. 7. Réalisation d’applications Desktop Windows/Mac Os avec PHP Mozilla Prism / Google Chrome • Cache le navigateur • Base de données côté client
  8. 8. Réalisation d’applications Desktop Windows/Mac Os avec PHP PHP-GTK • S’appuie sur la librairie GTK • Soutenue par le PHP Group: http://gtk.php.net
  9. 9. Réalisation d’applications Desktop Windows/Mac Os avec PHP PHP-Qt • S’appuie sur la librairie Qt • Zend ou Roadsend engine http://www.php-qt.org
  10. 10. Réalisation d’applications Desktop Windows/Mac Os avec PHP PHP via Java • JavaBridge • Quercus PHP engine
  11. 11. Réalisation d’applications Desktop Windows/Mac Os avec PHP Flex • Adobe http://www.adobe.com/devnet/flex/flex_php.html • AMFPHP
  12. 12. Réalisation d’applications Desktop Windows/Mac Os avec PHP 4D v12 • PHP embarqué (5.3) • Base de données intégrée
  13. 13. Réalisation d’applications Desktop Windows/Mac Os avec PHP 1 - Développement 2 - Déploiement
  14. 14. Réalisation d’applications Desktop Windows/Mac Os avec PHP Développement • Installation de l’environnement • Apprentissage des outils et/ou langages • Design de la base de données • Design de l’interface utilisateur • Données et utilisateur de test • Débogage
  15. 15. Réalisation d’applications Desktop Windows/Mac Os avec PHP Installation de l’environnement
  16. 16. Réalisation d’applications Desktop Windows/Mac Os avec PHP Installation de l’environnement • Votre environnement de développement habituel (Zend Studio, NetBeans, PHPEd, PHP Edit, ...) • Préférer le même moteur que celui ...) (Zend Server, XAMPP, WAMP, MAMP, déployé
  17. 17. Réalisation d’applications Desktop Windows/Mac Os avec PHP Installation de l’environnement • Roadsend PHP, MySQL ? • GTK, PHP-GTK • Votre environnement de développement habituel (Zend Studio, NetBeans, PHPEd, PHP Edit, ...) • Glade
  18. 18. Réalisation d’applications Desktop Windows/Mac Os avec PHP Installation de l’environnement • Roadsend PHP, MySQL ? • Qt, PHP-Qt • de préférence PDE Eclipse, Qt Designer
  19. 19. Réalisation d’applications Desktop Windows/Mac Os avec PHP Installation de l’environnement • De préférence NetBeans ou Eclipse • Préférer le même moteur que celui déployé (Zend Server, XAMPP, WAMP, MAMP, ...)
  20. 20. Réalisation d’applications Desktop Windows/Mac Os avec PHP Installation de l’environnement • De préférence Eclipse (Flex Builder) • Préférer le même moteur que celui déployé (Zend Server, XAMPP, WAMP, MAMP, ...)
  21. 21. Réalisation d’applications Desktop Windows/Mac Os avec PHP Installation de l’environnement • 4D • Votre éditeur de code PHP habituel (Zend Studio, NetBeans, PHPEd, PHP Edit, ...)
  22. 22. Réalisation d’applications Desktop Windows/Mac Os avec PHP Apprentissage des outils et/ou langages
  23. 23. Réalisation d’applications Desktop Windows/Mac Os avec PHP Apprentissage des outils et/ou langages • Mozilla Prism (ou un jour Google Chrome) : • tout va bien • GTK, QT: • nouvelle API • nouveaux outils • Java, Flex, 4D : • nouveau langage • nouveaux outils
  24. 24. Réalisation d’applications Desktop Windows/Mac Os avec PHP Design de la base de données
  25. 25. Réalisation d’applications Desktop Windows/Mac Os avec PHP Design de la base de données • PHPmyAdmin • Visual Architect pour Eclipse
  26. 26. Réalisation d’applications Desktop Windows/Mac Os avec PHP Design de la base de données • 4D
  27. 27. Réalisation d’applications Desktop Windows/Mac Os avec PHP Design de l’interface
  28. 28. Réalisation d’applications Desktop Windows/Mac Os avec PHP Design de l’interface • Dreamweaver, Zend Studio
  29. 29. Réalisation d’applications Desktop Windows/Mac Os avec PHP Design de l’interface • GTK - Glade
  30. 30. Réalisation d’applications Desktop Windows/Mac Os avec PHP Design de l’interface • Qt Designer
  31. 31. Réalisation d’applications Desktop Windows/Mac Os avec PHP Design de l’interface • Netbeans
  32. 32. Réalisation d’applications Desktop Windows/Mac Os avec PHP Design de l’interface • Flex
  33. 33. Réalisation d’applications Desktop Windows/Mac Os avec PHP Design de l’interface • 4D
  34. 34. Réalisation d’applications Desktop Windows/Mac Os avec PHP Données et utilisateur de test
  35. 35. Réalisation d’applications Desktop Windows/Mac Os avec PHP Données et utilisateur de test • PhpMyAdmin ? • Formulaire entrée/sortie ? • Flush ? • Utilisateurs & Groupes
  36. 36. Réalisation d’applications Desktop Windows/Mac Os avec PHP Débogage
  37. 37. Réalisation d’applications Desktop Windows/Mac Os avec PHP Débogage • Débogage du code non PHP • Débogage du PHP • Remontées d’erreurs PHP dans l’outil
  38. 38. Réalisation d’applications Desktop Windows/Mac Os avec PHP Déploiement • Publication de l'exécutable • Installation sur les postes utilisateurs
  39. 39. Réalisation d’applications Desktop Windows/Mac Os avec PHP Publication de l'exécutable • Mozilla Prism, GTK, Java, Flex : Phar • GTK, QT: RoadSend Compiler • Java : Jar • Flex : AIR • 4D : Compilation Windows et/ou Mac OS
  40. 40. Réalisation d’applications Desktop Windows/Mac Os avec PHP Installation sur les postes utilisateurs • Mozilla Prism, Java, Flex: au choix Zend Server, XAMPP, WAMP, MAMP • Mozilla Prism : Mozilla Firefox avec plugin Prism • GTK2, QT: MySQL ? • Java : JVM • Flex : Adobe AIR • 4D : Drag & Drop de l'exécutable
  41. 41. Réalisation d’applications Desktop Windows/Mac Os avec PHP Installation sur les postes utilisateurs • data Sqlite • fichier data intégré dans le dossier de l’application • data MySQL • Dump import • 4D • data déjà intégré dans le package
  42. 42. Réalisation d’applications Desktop Windows/Mac Os avec PHP Comparaison Application Desktop en PHP CRITÈRES PHP + PRISM PHP-GTK PHP-QT JAVA + PHP FLEX + PHP 4D V12 PHP Développement Licence Open source Open source Open source GPL Open source Mixte Commerciale Installation Bien Mauvais Mauvais Convenable Convenable Optimal Apprentissage Aucun GTK + Roadsend + outils QT + Roadsend + outils Java + outil Flex + outil 4D + outil Design base de données Convenable Convenable Bien Convenable Convenable Optimal Design interface Mixte Bien Bien Bien Bien Bien Editeur de code Mixte Convenable Convenable Excellent Bien Mixte Données et utilisateurs test Convenable Convenable Convenable Convenable Bien Bien Débogage Convenable Mauvais Mixte Mixte Mixte Bien Coût gratuit / mixte gratuit / mixte gratuit gratuit gratuit / 214 / 600 / 299 / 999 Déploiement Publication de l'exécutable Convenable Convenable Convenable Convenable Excellent Optimal Installation sur le poste utilisateur Convenable Convenable Bien Convenable Convenable Optimal Niveau d’intégration Mauvais Convenable Convenable Bien Excellent Optimal Coût gratuit gratuit gratuit gratuit gratuit gratuit
  43. 43. Réalisation d’applications Desktop Windows/Mac Os avec PHP Faire son choix
  44. 44. Réalisation d’applications Desktop Windows/Mac Os avec PHP Faire son choix • Combien de temps puis-je me permettre de consacrer à l’installation et l'appréhension de mon nouvel environnement de développement ? • Quelles autres technologies maîtrise-je en plus de PHP ? • Ai-je besoin d’une base de données, de quelle taille ? • Quelle est la configuration déjà présente sur les postes cibles ? • Dois-je déployer sur un seul ou de nombreux postes ? • Investir dans un produit commercial est-il envisageable compte tenu de l’objectif visé ?
  45. 45. Réalisation d’applications Desktop Windows/Mac Os avec PHP Plus d’infos 4D v12 : 1er semestre 2010 http://www.4d.com @amorgaut @amorgaut/fourd @amorgaut/php http://php.net/pdo_4d http://pecl.php.net/pdo_4d

×