Réalisation d’applications Desktop Windows/Mac Os avec PHP
-
Upload
alexandre-morgaut -
Category
Technology
-
view
4.875 -
download
1
description
Transcript of Réalisation d’applications Desktop Windows/Mac Os avec PHP
![Page 1: Réalisation d’applications Desktop Windows/Mac Os avec PHP](https://reader033.fdocuments.us/reader033/viewer/2022052823/55512bf0b4c905b3598b4b88/html5/thumbnails/1.jpg)
Réalisa'ond’applica'onsDesktopWindows/MacOSavecPHP
![Page 2: Réalisation d’applications Desktop Windows/Mac Os avec PHP](https://reader033.fdocuments.us/reader033/viewer/2022052823/55512bf0b4c905b3598b4b88/html5/thumbnails/2.jpg)
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.
![Page 3: Réalisation d’applications Desktop Windows/Mac Os avec PHP](https://reader033.fdocuments.us/reader033/viewer/2022052823/55512bf0b4c905b3598b4b88/html5/thumbnails/3.jpg)
Réalisation d’applications Desktop Windows/Mac Os avec PHP
4D doit
supporter PHP
![Page 4: Réalisation d’applications Desktop Windows/Mac Os avec PHP](https://reader033.fdocuments.us/reader033/viewer/2022052823/55512bf0b4c905b3598b4b88/html5/thumbnails/4.jpg)
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
![Page 5: Réalisation d’applications Desktop Windows/Mac Os avec PHP](https://reader033.fdocuments.us/reader033/viewer/2022052823/55512bf0b4c905b3598b4b88/html5/thumbnails/5.jpg)
Réalisation d’applications Desktop Windows/Mac Os avec PHP
4D et PHP
![Page 6: Réalisation d’applications Desktop Windows/Mac Os avec PHP](https://reader033.fdocuments.us/reader033/viewer/2022052823/55512bf0b4c905b3598b4b88/html5/thumbnails/6.jpg)
Réalisation d’applications Desktop Windows/Mac Os avec PHP
Solutions pour applications Desktop
![Page 7: Réalisation d’applications Desktop Windows/Mac Os avec PHP](https://reader033.fdocuments.us/reader033/viewer/2022052823/55512bf0b4c905b3598b4b88/html5/thumbnails/7.jpg)
Réalisation d’applications Desktop Windows/Mac Os avec PHP
Mozilla Prism / Google Chrome
• Cache le navigateur
• Base de données côté client
![Page 8: Réalisation d’applications Desktop Windows/Mac Os avec PHP](https://reader033.fdocuments.us/reader033/viewer/2022052823/55512bf0b4c905b3598b4b88/html5/thumbnails/8.jpg)
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
![Page 9: Réalisation d’applications Desktop Windows/Mac Os avec PHP](https://reader033.fdocuments.us/reader033/viewer/2022052823/55512bf0b4c905b3598b4b88/html5/thumbnails/9.jpg)
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
![Page 10: Réalisation d’applications Desktop Windows/Mac Os avec PHP](https://reader033.fdocuments.us/reader033/viewer/2022052823/55512bf0b4c905b3598b4b88/html5/thumbnails/10.jpg)
Réalisation d’applications Desktop Windows/Mac Os avec PHP
PHP via Java
• JavaBridge
• Quercus PHP engine
![Page 11: Réalisation d’applications Desktop Windows/Mac Os avec PHP](https://reader033.fdocuments.us/reader033/viewer/2022052823/55512bf0b4c905b3598b4b88/html5/thumbnails/11.jpg)
Réalisation d’applications Desktop Windows/Mac Os avec PHP
Flex
• Adobehttp://www.adobe.com/devnet/flex/flex_php.html
• AMFPHP
![Page 12: Réalisation d’applications Desktop Windows/Mac Os avec PHP](https://reader033.fdocuments.us/reader033/viewer/2022052823/55512bf0b4c905b3598b4b88/html5/thumbnails/12.jpg)
Réalisation d’applications Desktop Windows/Mac Os avec PHP
4D v12
• PHP embarqué (5.3)
• Base de données intégrée
![Page 13: Réalisation d’applications Desktop Windows/Mac Os avec PHP](https://reader033.fdocuments.us/reader033/viewer/2022052823/55512bf0b4c905b3598b4b88/html5/thumbnails/13.jpg)
Réalisation d’applications Desktop Windows/Mac Os avec PHP
1 - Développement
2 - Déploiement
![Page 14: Réalisation d’applications Desktop Windows/Mac Os avec PHP](https://reader033.fdocuments.us/reader033/viewer/2022052823/55512bf0b4c905b3598b4b88/html5/thumbnails/14.jpg)
Réalisation d’applications Desktop Windows/Mac Os avec PHP
• 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
Développement
![Page 15: Réalisation d’applications Desktop Windows/Mac Os avec PHP](https://reader033.fdocuments.us/reader033/viewer/2022052823/55512bf0b4c905b3598b4b88/html5/thumbnails/15.jpg)
Réalisation d’applications Desktop Windows/Mac Os avec PHP
Installation de l’environnement
![Page 16: Réalisation d’applications Desktop Windows/Mac Os avec PHP](https://reader033.fdocuments.us/reader033/viewer/2022052823/55512bf0b4c905b3598b4b88/html5/thumbnails/16.jpg)
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 déployé (Zend Server, XAMPP, WAMP, MAMP, ...)
![Page 17: Réalisation d’applications Desktop Windows/Mac Os avec PHP](https://reader033.fdocuments.us/reader033/viewer/2022052823/55512bf0b4c905b3598b4b88/html5/thumbnails/17.jpg)
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
![Page 18: Réalisation d’applications Desktop Windows/Mac Os avec PHP](https://reader033.fdocuments.us/reader033/viewer/2022052823/55512bf0b4c905b3598b4b88/html5/thumbnails/18.jpg)
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
![Page 19: Réalisation d’applications Desktop Windows/Mac Os avec PHP](https://reader033.fdocuments.us/reader033/viewer/2022052823/55512bf0b4c905b3598b4b88/html5/thumbnails/19.jpg)
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, ...)
![Page 20: Réalisation d’applications Desktop Windows/Mac Os avec PHP](https://reader033.fdocuments.us/reader033/viewer/2022052823/55512bf0b4c905b3598b4b88/html5/thumbnails/20.jpg)
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, ...)
![Page 21: Réalisation d’applications Desktop Windows/Mac Os avec PHP](https://reader033.fdocuments.us/reader033/viewer/2022052823/55512bf0b4c905b3598b4b88/html5/thumbnails/21.jpg)
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, ...)
![Page 22: Réalisation d’applications Desktop Windows/Mac Os avec PHP](https://reader033.fdocuments.us/reader033/viewer/2022052823/55512bf0b4c905b3598b4b88/html5/thumbnails/22.jpg)
Réalisation d’applications Desktop Windows/Mac Os avec PHP
Apprentissage des outils et/ou langages
![Page 23: Réalisation d’applications Desktop Windows/Mac Os avec PHP](https://reader033.fdocuments.us/reader033/viewer/2022052823/55512bf0b4c905b3598b4b88/html5/thumbnails/23.jpg)
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
![Page 24: Réalisation d’applications Desktop Windows/Mac Os avec PHP](https://reader033.fdocuments.us/reader033/viewer/2022052823/55512bf0b4c905b3598b4b88/html5/thumbnails/24.jpg)
Réalisation d’applications Desktop Windows/Mac Os avec PHP
Design de la base de données
![Page 25: Réalisation d’applications Desktop Windows/Mac Os avec PHP](https://reader033.fdocuments.us/reader033/viewer/2022052823/55512bf0b4c905b3598b4b88/html5/thumbnails/25.jpg)
Réalisation d’applications Desktop Windows/Mac Os avec PHP
Design de la base de données
• PHPmyAdmin
• Visual Architect pour Eclipse
![Page 26: Réalisation d’applications Desktop Windows/Mac Os avec PHP](https://reader033.fdocuments.us/reader033/viewer/2022052823/55512bf0b4c905b3598b4b88/html5/thumbnails/26.jpg)
Réalisation d’applications Desktop Windows/Mac Os avec PHP
Design de la base de données
• 4D
![Page 27: Réalisation d’applications Desktop Windows/Mac Os avec PHP](https://reader033.fdocuments.us/reader033/viewer/2022052823/55512bf0b4c905b3598b4b88/html5/thumbnails/27.jpg)
Réalisation d’applications Desktop Windows/Mac Os avec PHP
Design de l’interface
![Page 28: Réalisation d’applications Desktop Windows/Mac Os avec PHP](https://reader033.fdocuments.us/reader033/viewer/2022052823/55512bf0b4c905b3598b4b88/html5/thumbnails/28.jpg)
Réalisation d’applications Desktop Windows/Mac Os avec PHP
Design de l’interface
• Dreamweaver, Zend Studio
![Page 29: Réalisation d’applications Desktop Windows/Mac Os avec PHP](https://reader033.fdocuments.us/reader033/viewer/2022052823/55512bf0b4c905b3598b4b88/html5/thumbnails/29.jpg)
Réalisation d’applications Desktop Windows/Mac Os avec PHP
Design de l’interface• GTK - Glade
![Page 30: Réalisation d’applications Desktop Windows/Mac Os avec PHP](https://reader033.fdocuments.us/reader033/viewer/2022052823/55512bf0b4c905b3598b4b88/html5/thumbnails/30.jpg)
Réalisation d’applications Desktop Windows/Mac Os avec PHP
Design de l’interface
• Qt Designer
![Page 31: Réalisation d’applications Desktop Windows/Mac Os avec PHP](https://reader033.fdocuments.us/reader033/viewer/2022052823/55512bf0b4c905b3598b4b88/html5/thumbnails/31.jpg)
Réalisation d’applications Desktop Windows/Mac Os avec PHP
Design de l’interface• Netbeans
![Page 32: Réalisation d’applications Desktop Windows/Mac Os avec PHP](https://reader033.fdocuments.us/reader033/viewer/2022052823/55512bf0b4c905b3598b4b88/html5/thumbnails/32.jpg)
Réalisation d’applications Desktop Windows/Mac Os avec PHP
Design de l’interface• Flex
![Page 33: Réalisation d’applications Desktop Windows/Mac Os avec PHP](https://reader033.fdocuments.us/reader033/viewer/2022052823/55512bf0b4c905b3598b4b88/html5/thumbnails/33.jpg)
Réalisation d’applications Desktop Windows/Mac Os avec PHP
Design de l’interface• 4D
![Page 34: Réalisation d’applications Desktop Windows/Mac Os avec PHP](https://reader033.fdocuments.us/reader033/viewer/2022052823/55512bf0b4c905b3598b4b88/html5/thumbnails/34.jpg)
Réalisation d’applications Desktop Windows/Mac Os avec PHP
Données et utilisateur de test
![Page 35: Réalisation d’applications Desktop Windows/Mac Os avec PHP](https://reader033.fdocuments.us/reader033/viewer/2022052823/55512bf0b4c905b3598b4b88/html5/thumbnails/35.jpg)
Réalisation d’applications Desktop Windows/Mac Os avec PHP
Données et utilisateur de test
• PhpMyAdmin ?
• Formulaire entrée/sortie ?
• Flush ?
• Utilisateurs & Groupes
![Page 36: Réalisation d’applications Desktop Windows/Mac Os avec PHP](https://reader033.fdocuments.us/reader033/viewer/2022052823/55512bf0b4c905b3598b4b88/html5/thumbnails/36.jpg)
Réalisation d’applications Desktop Windows/Mac Os avec PHP
Débogage
![Page 37: Réalisation d’applications Desktop Windows/Mac Os avec PHP](https://reader033.fdocuments.us/reader033/viewer/2022052823/55512bf0b4c905b3598b4b88/html5/thumbnails/37.jpg)
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
![Page 38: Réalisation d’applications Desktop Windows/Mac Os avec PHP](https://reader033.fdocuments.us/reader033/viewer/2022052823/55512bf0b4c905b3598b4b88/html5/thumbnails/38.jpg)
Réalisation d’applications Desktop Windows/Mac Os avec PHP
• Publication de l'exécutable
• Installation sur les postes utilisateurs
Déploiement
![Page 39: Réalisation d’applications Desktop Windows/Mac Os avec PHP](https://reader033.fdocuments.us/reader033/viewer/2022052823/55512bf0b4c905b3598b4b88/html5/thumbnails/39.jpg)
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
![Page 40: Réalisation d’applications Desktop Windows/Mac Os avec PHP](https://reader033.fdocuments.us/reader033/viewer/2022052823/55512bf0b4c905b3598b4b88/html5/thumbnails/40.jpg)
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
![Page 41: Réalisation d’applications Desktop Windows/Mac Os avec PHP](https://reader033.fdocuments.us/reader033/viewer/2022052823/55512bf0b4c905b3598b4b88/html5/thumbnails/41.jpg)
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
![Page 42: Réalisation d’applications Desktop Windows/Mac Os avec PHP](https://reader033.fdocuments.us/reader033/viewer/2022052823/55512bf0b4c905b3598b4b88/html5/thumbnails/42.jpg)
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
Installation
Apprentissage
Design base de données
Design interface
Editeur de code
Données et utilisateurs test
Débogage
Coût
Déploiement
Publication de l'exécutable
Installation sur le poste utilisateur
Niveau d’intégration
Coût
Open source Open source Open source GPL Open source Mixte Commerciale
Bien Mauvais Mauvais Convenable Convenable Optimal
Aucun GTK + Roadsend + outils QT + Roadsend + outils Java + outil Flex + outil 4D + outil
Convenable Convenable Bien Convenable Convenable Optimal
Mixte Bien Bien Bien Bien Bien
Mixte Convenable Convenable Excellent Bien Mixte
Convenable Convenable Convenable Convenable Bien Bien
Convenable Mauvais Mixte Mixte Mixte Bien
gratuit / mixte gratuit / mixte gratuit gratuit gratuit / 214 / 600 / 299 / 999
Convenable Convenable Convenable Convenable Excellent Optimal
Convenable Convenable Bien Convenable Convenable Optimal
Mauvais Convenable Convenable Bien Excellent Optimal
gratuit gratuit gratuit gratuit gratuit gratuit
![Page 43: Réalisation d’applications Desktop Windows/Mac Os avec PHP](https://reader033.fdocuments.us/reader033/viewer/2022052823/55512bf0b4c905b3598b4b88/html5/thumbnails/43.jpg)
Réalisation d’applications Desktop Windows/Mac Os avec PHP
Faire son choix
![Page 44: Réalisation d’applications Desktop Windows/Mac Os avec PHP](https://reader033.fdocuments.us/reader033/viewer/2022052823/55512bf0b4c905b3598b4b88/html5/thumbnails/44.jpg)
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é ?
![Page 45: Réalisation d’applications Desktop Windows/Mac Os avec PHP](https://reader033.fdocuments.us/reader033/viewer/2022052823/55512bf0b4c905b3598b4b88/html5/thumbnails/45.jpg)
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