Retour : Page Principale > sommaire aide > Aide Phonegap

Phone Gap


ATTENTION (2017-07-19) - la situation peut avoir changé depuis que ces informations ont été écrites


Apache Cordova est un framework open-source de développement mobile développé par Nitobi Software (racheté par Adobe Systems) et ensuite repris par la Fondation Apache. Il permet de créer des applications pour appareils mobiles utilisant  JavaScript, HTML5 et CSS3, au lieu de langages moins connus tels que l'Objective-C. Les applications qui en résultent sont hybrides, ce qui signifie qu'elles ne sont ni vraiment natives, ni purement basées sur le Web.  PhoneGap est désormais connu, depuis le rachat de Nitobi par Adobe et  PhoneGap 1.2, sous le nom de Apache Callback et plus récemment sous le nom de Apache Cordova, le nom "Callback" ayant été jugé comme trop générique.

Utilisation de Adobe  PhoneGap Build


Si l'on ne peut ou ne veut installer  PhoneGap en local, il est possible d'utiliser
Adode  PhoneGap build, qui permet de compiler une application hébergée sous github.

Il est disponible à l'adresse suivante : https://build.phonegap.com/

Attention : il est nécéssaire d'avoir enregistré les clés correspondantes aux app store pour lesquels on désire compiler
si l'on veut publier son application sur ceux-ci.

Installation de Phonegap en local


Attention l'installation seule de  PhoneGap ne suffit pas, dans notre cas il est également nécéssaire d'installer
les outils de développements Android (Iphone, Blackberry etc...) si l'on veut debugger et compiler en local.
Sinon il est possible d'utiliser l'application de build dans le cloud décrite plus haut.

1) Dépendances
Installer phonegap nécessite l'installation préalable de node.js et de npm
- Installer node.js : http://nodejs.org/
- Installer npm (node package manager) : https://npmjs.org/doc/install.html

Attention : il semblerait que les executables de node et de npm doivent être dans
le path afin que tout fonctionne correctement.

2) Installation :
Suivre ensuite les quelques commandes à lancer sur cette page :
http://phonegap.com/install/

3) Premiers pas :
Le sommaire de l'aide est disponible ici : http://docs.phonegap.com/en/3.3.0/index.html

Convertir un code source brut d'application  PhoneGap dans un projet compilable et debuggable


Dans le cas des applications tela botanica, seuls les codes javascript, html et css sont stockés sur le dépot git.
Pour pouvoir compiler et debugger l'application avec Android, le plus simple est d'effectuer les étapes suivantes.

1) Créer un projet  PhoneGap avec la commande suivante :
phonegap create com.example.hello Hello
où Hello est à remplacer par le nom du projet et com.example.hello est le nom package (similaire à la nomenclature de création de projet GWT)

2) Faire un checkout du projet qui contient les sources html, css et js dans le dossier www du projet ainsi crée (certains fichier comme le config.xml et d'autres
  • seront remplacés dans l'opération).

Utilisation en conjonction avec Android


Pour compiler et débugger l'application pour Android, la marche à suivre est décrite sur la page suivante :
http://docs.phonegap.com/en/2.2.0/guide_getting-started_android_index.md.html

La documentation demande l'installation du sdk android puis du plugin ADT pour eclipse mais le plugin eclipse peut lui même
télécharger les SDKs nécéssaires lors de son installation.

Compiler l'application


Attention : Les variables d'environnement liées à java, telles que JAVA_HOME doivent être dans le path.

Ligne de commande : une documentation précise est disponible ici
http://docs.phonegap.com/en/3.0.0/guide_cli_index.md.html

Ici, nous prendrons l'exemple de la compilation et du debuggage pour Android mais ceci est valable pour
les autres plateformes si l'on a installé les SDKs nécéssaires.

Une fois le projet  PhoneGap crée, il suffit de se rendre dans le dossier www/ de l'application avec un terminal et lancer la commande suivante :
phonegap compile android
La commande semble avoir changé:
phonegap build android
Un apk sera généré dans le dossier /platforms/android/bin du projet

Debugger l'application


Plusieurs possibilités sont disponibles :

- Si l'émulateur android a été configuré :
Le sdk android est livré avec un émulateur de système Android qui permet de tester différentes plateformes et
différentes versions d'android. Pour le configurer voir cette page : http://developer.android.com/tools/devices/emulator.html

Toujours dans le dossier www/ il est possible de lancer l'application en mode émulation avec la commande :
phonegap run android
- Si un appareil Android est connecté et reglé en mode débug, l'application sera compilée et déployée sur celui-ci.
- Si aucun appareil n'est connecté, l'application sera déployée dans un apparreil émulé via l'émulateur

Attention : au moins un appareil doit avoir été crée avec avd manager pour l'émulateur fonctionne.

- Utilisation à travers eclipse :
Pour configurer le projet comme projet Android dans eclipse, il suffit de créer un projet android à partir d'un code existant,
ce qui permettra de lancer l'émulateur et configurer les appareils à travers éclipse.
Pour plus de détails voir la page consacrée : http://docs.phonegap.com/en/2.5.0/guide_getting-started_android_index.md.html section 5A.Deploy to emulator


Signer et déposer l'application sur les app stores correspondants


La dernière étape est de déposer l'application ainsi compilée dans les app stores liés à chaque système d'exploitation.
Attention la plupart du temps l'application doit être signée avec une clé dont le mode d'obtention peut varier

Signer l'application avec la compilation dans le cloud

- Dans le cas d'utilisation de Adobe  PhoneGap build, Il est possible de préciser la clé de licence en uploadant un fichier pour chaque plateforme.
Auquel cas, le fichier créé par le build distant sera déjà signé et prêt à être déployé.

Signer et deployer l'application pour Android


Une documentation complète sur les différentes manières de signer l'application est disponible ici ;
http://developer.android.com/tools/publishing/app-signing.html

Plus d'informations sur la procédure de dépot sur google play :
Déposer l'application sur google play