Les systèmes d'exploitation mobiles équipant les terminaux Nokia sont au nombre de quatre :
- Symbian
- Maemo
- Meego
- Windows Phone 7.1
La technologie de développement applicative Qt permet de cibler les terminaux Symbian et les terminaux Linux (Maemo / Meego). Il n'est pas possible et il n'est pas prévu de rendre les applications Qt compatibles avec Windows Phone 7.1, ce dernier disposant des ses propres technologies de programmation interprétées (Silverlight, XNA).
Nokia met gratuitement à disposition des développeurs un certain nombre de ressources techniques (outils, documentation, exemples de code, forum, wikis) sur le site http://www.developer.nokia.com et vous invite à créer un compte de développeur afin de vous tenir au courant des dernières nouveautés et événements techniques. La création d'un compte développeur Nokia est gratuite.
Attention : un compte développeur Nokia ne permet pas de publier une application sur le Nokia store. Pour débuter le développement d'application Qt, vous devrez télécharger la dernière version du SDK Qt accessible depuis le site.
Pour publier une application sur le Nokia store, Nokia vous invite à créer un compte de publication (publisher en anglais) sur le site http://info.publish.ovi.com/ (bouton « Register now »). Le coût est de 1€ symbolique et vous pouvez publier autant d’applications gratuites ou payantes que vous le désirez, et ce, sans aucune limite dans le temps.
La procédure de publication est décrite sur le site suivant :
http://www.developer.nokia.com/Distribute/Packaging_and_signing.xhtml
Je vous invite à suivre la rubrique « Symbian and Qt apps ».
En résumé, il vous faut :
1. Créer un compte « publisher » : http://info.publish.ovi.com/
2. Envoyer un email à publishtoovi.support@nokia.com qui contiendra une liste d’IMEIs (jusqu’à 5) pour vos téléphones de tests. Voici un exemple de mail type :
Hi
I have a publisher OVI account with the following login : "mylogin" and I have accepted the Terms and conditions. The name of my company is "My Company".
Can you please send to me :
- the developer certificate/key files
- the root certificate installer file
- a list of 5 UIDs
IMEI 1 : 3xxxxxxxxxxxxxxxxxxxxxx
IMEI 2 : 3xxxxxxxxxxxxxxxxxxxxxx
etc
Best regards
En retour, le support PublishToOVI vous renverra :
- Une paire de fichiers clef/certificat de signature numérique
- Un fichier sis d’installation de certificat root
- 5 UIDs
- Une paire de fichiers clef/certificat de signature numérique
- Un fichier sis d’installation de certificat root
- 5 UIDs
Notes :
- Pour éviter tout stress, pensez à envoyer cet email en début de projet car le temps de traitement de votre demande peut prendre quelques jours
- Il est tout à fait possible de démarrer son projet sans disposer des UID, certificats etc ; vous pouvez utiliser un UID de test généré par Qt Creator et une signature auto-générée ("self-signed package" en anglais)
Chaque application Nokia possède un identifiant unique dénommé UID représenté par un nombre hexadécimal sur 4 octets. L'unicité est garantie par Nokia ce qui explique pourquoi Nokia vous renvoie une liste de 5 UIDs. Ces identifiants sont donc des identifiants à utiliser pour les versions de prodution.
Lorsque de la création de votre projet sous Qt Creator, le wizard vous proposera une valeur de UID de test (ici la valeur est 0xE7752B1C) :
Vous pouvez remplacer cette valeur avec l'un des 5 UIDs fournis par Nokia à ce stade de création de projet ou le faire plus tard en éditant la valeur symbian:TARGET.UID3 du fichier projet (extension .pro)
Certificat et signature - Symbian
Afin de garantir l'intégrité et la non malveillance des applications, Nokia impose aux développeurs de signer numériquement leurs applications ; autrement dit une application non signée (i.e. non certifiée) ne peut pas s'installer sur un terminal Nokia. La signature peut être effectuée depuis Qt Creator ou depuis la ligne de commande. Il existe différents types de certification basés sur le modèle de sécurité SymbianSigned : un jeu de permissions est associé à chaque type de certification:
1. Self-signed
Cette certification est gérée automatiquement par Qt Creator ; une application Qt "self-signed" peut accéder aux permissions suivantes :
- SurroundingsDD : accès aux driver audio
- Read/WriteUserData : accès aux données privées de l'utilisateur (calendrier, contacts, etc
- NetworkServices : réseau, téléphonie, messagerie
- LocalServices : connectivité locale (Bluetooth, infrarougen NFC etc)
- UserEnvironment : capture d'information de l'utilisateur et son environnement ( Caméra, audio par exemple)
- Location : service de localisation (GPS)
2. Express signed
Cette certification correspond au niveau de sécurité octroyé par la certification PublishToOvi (et les certificat/clef de développement). Elle couvre, en plus des permissions précédentes, les permissions suivantes :
- SwEvent : permet de simuler des événements de type saisie clavier ou tactile, d'envoyer des messages
- ProtServ : execution en mode prioritaire
- PowerMgmt : permet de tuer des process, de passer le terminal en standby
- ReadDeviceData : accès en lecture aux préférences systèmes, aux données de réseaux (cellID), IMEI
- WriteDeviceData : accès en écriture des préférences systèmes
- TrustedUI : affichage en mode "trusted"
Cette certification correspond à un niveau de sécurité encore plus important nécessitant des tests de effectués par une société tierce de confiance (on parle de Testing House). Elle couvre les permissions additionnelles suivantes :
- NetworkControl : permet d'accéder à des fonctions réseaux avancées (VoIP, device management, VPN, etc)
- MultimediaDD
- CommDD
- DiskAdmin
Penser également à choisir un UID de test et à le reporter dans votre fichier .pro (onlget Manage UIDs) :
Ci-dessous les UIDs de test seront compris entre 0xA00118DA et 0xA00118DE.
Certificat et signature - Meego / Maemo
Aucune signature n'est requise pour les applications Qt ciblant ces OS
Format de binaire
Votre application symbian est représentée par un fichier d'extension ".sis" que vous devrez uploader sur l'interface web de publication ovi. Les applications ciblant Maemo et Meego sont packagées au format debian (.deb)
Conclusion
Pour développer une appli Qt sur téléphone Nokia, rien de plus simple :
- Vous créez un compte "Developer Nokia"
- Vous installez le sdk Qt et vous pouvez commencer le développement
- Vous créez un compte "Publisher" pour un 1€ et vous soumettez votre application