Apache Cordova

De EduTech Wiki
Aller à : navigation, rechercher

1 Introduction

Apache Cordova est un framework open-source permettant de créer des applications mobiles multi-plateformes en HTML, CSS et Javascript. Ce framework était à l'origine Apache Callback ou plus connu, Adobe PhoneGap.

Pour plus de détails, vous pouvez consulter la documentation officielle: Documentation

2 Installer Cordova

A l'inverse de PhoneGap qui bénéficie d'un assistant de conception, Cordova nécessite de passer par des lignes de commande qui s'exécute dans Node.js. Il est donc nécessaire d'avoir certaine connaissance en Node.js.

Pour installer Cordova, il faut taper la commande NPM suivante:

npm install -g cordova

3 Créer un projet

Pour créer un projet vierge vous devez commencer par vous rendre dans le dossier où vous souhaitez créer votre projet. Pour cela, utilisé les commandes de navigation:

cd = pour vous déplacer ls = pour lister le contenu d'un dossier

Une fois dans le répertoire cible, utilisé la commande suivante:

cordova create AppName (AppName fait référence au nom de votre application)

Si vous désirez de l'aide vis à vis de la commande create, vous pouvez utiliser la commande:

cordova help create

4 Ajouter une plateforme

Une fois le projet créer, vous devez indiquer à votre applicaton la ou les plateformes cibles. Commencez par vous rendre dans le dossier de votre application. cd AppName. Puis, utilisez la commande suivante:

cordova platform add <plateformName>

Voici la liste des différentes plateformes disponibles:

  • ios = Apple IOS
  • amazon-fireos = Amazon Fire OS
  • android = Google Android
  • blackberry10 = Blackberry OS
  • firefoxos = Firefox OS

5 Lancer l'application

Une fois que votre application est prête à être lancée, utilisez la ligne de commande suivante:

cordova run <nom plateform>

6 Ajouter des plugins

Cordova propose une grande liste de plugin pour permettre à votre application d'avoir accès aux fonctionnalités natives du téléphone. Ces plugins sont organisés dans différentes catégories:

  • Battery Status
  • Camera
  • Device
  • Dialogs
  • File
  • Geolocation
  • Inappbrowser
  • Media
  • Media Capture
  • Network Information
  • Screen Orientation
  • Splashscreen
  • Statusbar
  • Vibration
  • Whitelist

Les plugins sont disponible via NPM et une simple commande de recherche va vous permettre de trouver le plugin que vous recherchez. Vous pouvez également aller directement chercher cette information dans la documentation technique.

Pour effectuer une recherche sur NPM, utilisez la commande suivante:

cordova plugin search nomPlugin

Il faudra ensuite ajouter les informations du plugin dans votre fichier config.xml ainsi que package.json. Voici un exemple avec le plugin de la camera:

cordova plugin add cordova-plugin-camera

Il est également possible d'installer un plugin depuis un dossier ou un espace Git.

7 Personnaliser les icones de l'application

Vous pouvez personnaliser l'icône de votre application. Si vous ne le faites pas, l'icône de Cordova sera affichée. Pour modifier l'icone, vous devez vous utiliser l’élément icône dans le fichier config.xml.

Voici la ligne de code à utilsier:

<icon src="res/ios/icon.png" platform="ios" width="57" height="57" density="mdpi" />

Cette ligne de code modifiera l'icône uniquement pour IOS.

<icon src="res/icon.png" />

Voici une ligne de code plus généraliste qui fonctionnera de base pour toutes les plateformes. Utilisez la première version si vous désirez personnaliser l'icône plus en détails en fonction des plateformes.

Notez que seul le paramètre src="" est indispensable. Tout le reste est optionnel.

8 Configurer votre application

Pour modifier la configuration de votre application, vous devez modifier le document config.xml

Voici un exemple de document de configuration

<?xml version='1.0' encoding='utf-8'?>
<widget id="io.cordova.helloworld" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
  <name>HelloWorld</name>
  <description>
      Application Hello World avec Cordova
  </description>
  <author email="dev@etu.unige.ch" href="http://tecfaetu.unige.ch">
      Team TECFA
  </author>
  <content src="index.html" />
  <access origin="*" />
  <allow-intent href="http://*/*" />
  <allow-intent href="https://*/*" />
  <allow-intent href="tel:*" />
  <allow-intent href="sms:*" />
  <allow-intent href="mailto:*" />
  <allow-intent href="geo:*" />
  <platform name="android">
      <allow-intent href="market:*" />
  </platform>
  <platform name="ios">
      <allow-intent href="itms:*" />
      <allow-intent href="itms-apps:*" />
  </platform>
</widget>

8.1 Widget

Comme vous pouvez le voir dans l'exemple ci-dessus, l'élément <widget> est l'élément racine du document de configuration. Cet élément va prendre plusieurs attributs. Seul 4 sont obligatoires.

  • id(string) = l'identifiant au format reverse-domain
  • version(string) = la version de l'application
  • xmlns(string) = namespace pour le document config.xml
  • xmlns:cdv(string) = représente le prefix du namespace

8.2 Name

Cela représente simplement le nom de l'application.

8.3 Description

Cela représente une brève description de ce que fait votre application.

8.4 Author

Cela représente l'auteur de l'application. Il est nécessaire de renseigner deux attributs pour cet élément:

  • email(string) = l'e-mail de l'auteur
  • href(string) = le site web de l'auteur