De l’idée à la publication – Une application mobile en quelques jours

Aujourd’hui ce n’est pas vraiment de code dont je vais vous parler. En fait, c’est plutôt de ce qu’il se passe dans la tête du développeur.

Lorsque l’on commence à travailler sur des projets pour des clients qui prennent de plus en plus de temps, il est assez simple de ne plus penser à ses propres projets, ou en tout cas de se forcer à ne plus y penser.
Développer prend du temps, d’autant plus lorsque l’équipe autour d’un projet « personnel » se résume à un développeur. Ajoutez à cela le temps de veille, les rencontres clients, les quelques nuits de la semaine pendant lesquelles on essaye de garder un minimum de vie sociale et le résultat est là, le temps qu’il reste est quasi-nul.

Pourtant, à mon humble avis, il est important de continuer à garder un petit laps de temps sur la semaine, le mois, pour se consacrer à ses projets. J’ai appris, avec le temps que lorsque je travaille, il faut que je consacre, sur les 100% de temps du projet de mes clients, environ 10% à faire les choses ennuyeuses. Nous en avons tous. Ce ne sont pas toujours les mêmes selon les personnes, mais elles existent. Écrire une documentation complète, tester de long en large son programme, faire des papiers, des dossiers. Nous en avons tous. Je pensais qu’il restait donc 90% de sa semaine de travail à passer sur ce qui nous intéresse le plus.
En bien je pense qu’il faut encore soustraire 10%. Ces 10% représentent du temps passé à faire vraiment ce que l’on aime. Car c’est en faisant cela que l’on s’améliore, que l’on progresse et que l’on reste au top de son métier. 10% à travailler sur un projet personnel, une application, une technologie que l’on souhaite apprendre, tester, jouer.

Car le mot est là. Des lors que ça en devient un jeu, la courbe de progression et ce que l’on va en retirer n’en seront que plus importants.

Une introduction un peu longue pour vous parler de ma propre expérience. J’ai vu passer il y peu un article de Drew Wilson, expliquant comment et pourquoi il avait créé Namebox.io en 3 jours (2 nuits en fait).

Et c’est surtout ce tweet qui m’a le plus marqué. L’origine de ce projet? Voir si il « l »‘avait encore. Vous savez, ce petit côté nerd, cette sensation de voir votre projet sortir de son oeuf. Un peu comme ces jeux qu’on créait et que l’on partageait à l’époque sur nos TI.
Alors certes, il a utilisé des outils qu’il a lui-même développé et qu’il utilise sur tous ses projets. D’accord. Mais il l’a quand même fait. 3 jours.

Alors je voulais voir si moi aussi j’avais toujours ce petit cliché en moi.

Le projet a été assez simple à choisir. Vous ne le savez sûrement pas, mais j’ai travaillé pendant 1 an à Marseille-Provence 2013, l’association qui gère l’année Capitale européenne de la culture cette année.
« Les chercheurs de midi » compte parmi les projets que j’ai le plus apprécié. Un projet participatif avec pour description :

On a tous chez soi des photos classées dans des boîtes, rangées dans des albums ou remisées au fond d’un tiroir.
On a tous des photos de vacances, de famille, des portraits d’identité ou de studio qui révèlent par éclats des épisodes de nos vies, multitude d’histoires privées qui sont un peu notre histoire à tous.
[…]
Les chercheurs de midi nous offrent l’opportunité de constituer ensemble l’album de nos albums. En le feuilletant, les images nous diront l’ombre et la lumière des choses de la vie.

Un grand album numérique, entretenu par tous les habitants, que vous pouvez voir sur le site du projet. Une des choses qui m’a toujours manqué c’est bien l’application mobile. Les photos étant géolocalisées, présentées, elles sont un guide de voyage d’une autre sorte.

Alors, j’ai voulu essayer. Essayer de réaliser une application qui permettrait d’afficher les photos sur une carte, géolocalisées.

Les spécifications sont simples. Dans cette application il me faut :
– Une carte,
– une fonction de géolocalisation de l’utilisateur, pour se retrouver au milieu de cette jungle de photos
– Les points sur la carte.

Un problème à régler, la quantité, assez énorme, de photo. Les afficher sous la forme de clusters selon le zoom est indispensable. Problème qui n’avait pas été réglé à l’époque sur le site mais qui le sera dans l’application.

Maintenant le temps. 3 jours c’est court. Et dans l’idée, j’aimerais que cette application soit disponible sur le maximum de supports, iOS comme Android, voir plus si affinités.
L’idéal aurait été de créer les applications dans leurs langages respectifs, mais le temps de réalisation aurait été tout autre. Mon choix s’est donc porté sur Cordova, anciennement Phonegap. Apache Cordova, pour être précis, est un ensemble d’API permettant à un développeur d’applications mobiles, d’accéder aux fonctions natives des appareils comme la caméra ou l’accéléromètre via Javascript. Associé à des framework d’interfaces telles que jQuery Mobile ou Sencha Touch, Cordova permet de réaliser une application pour smartphones ou tablettes avec HTML, CSS et Javascript.

Concernant le choix des technologies donc, mon choix a été :

Ce dont je vais surtout vous parler, maintenant, c’est de ce qui n’a pas fonctionné, ce sur quoi j’ai perdu du temps. Car dans l’ensemble, réaliser l’application a été assez rapide. La documentation de Cordova étant assez importante, utiliser son API fut relativement simple. En revanche, c’est lors des manœuvres pour publier l’application sur le store que ça s’est compliqué.

J’avais souhaité essayer le nouveau service de Phonegap (Cordova), Build. Ce service sur le cloud, construit par dessus la librairie Phonegap, est censé (je dis bien censé), permettre de compiler notre application mobile (donc faite en HTML, CSS et Javascript), en quelques clics pour toutes les plateformes. Sauf que.

Sauf que ce n’est pas si simple que ça.

Lorsque vous compilez une application avec les outils qui lui sont dédiés (Xcode pour iOS par exemple), vous avez besoin de le faire avec un certificat de sécurité. Pour iOS, il est fourni par Apple, ainsi qu’un profil de provision, qui est un peu la fiche d’identité du développeur et de sa compagnie. Si vous passez par Build.Phonegap, vous avez donc besoin de le leur fournir.
Dans mon cas, et alors même que ce sont les mêmes documents que j’ai utilisé plus tard pour les compiler moi-même, ils n’ont pas été acceptés par le service pour diverses erreurs. Évidemment, difficile de corriger les problèmes soi-même. Le service est basé sur le cloud, les logs ne nous sont donc pas accessibles, et malheureusement, l’assistance est aussi présente qu’un bus les jours de grève. Mon ticket a été ouvert il y a 15 jours, après de nombreuses lectures (le problème semble récurrent) et de nombreuses informations. La seule réponse que j’ai pu avoir d’un salarié, c’est un message avec des liens que j’avais évidement déjà lu. Un peu comme une réponse de la CAF.

Pour tout vous dire j’ai passé beaucoup trop de temps là-dessus. Ayant espéré une réponse un moment, j’ai patienté, j’ai parcouru les forums. Mais jamais de réponse. La principale raison était évidemment le temps que j’aurais pu gagner pour la publier sur tous les supports, dont ceux qui ne me sont pas facilement accessibles (je pense surtout aux smartphones de Windows). Résultat, j’ai perdu quelques jours à attendre.

Le tout a fini par bien fonctionner. Je me suis pris par la main, j’ai mis à jour les SDK d’Android et iOS, et fait ce qu’il fallait pour compiler mes applications normalement.

Aujourd’hui, l’application est sur le store d’Android et la version iOS, à l’heure où j’écris, est toujours en attente de validation.

J’essaierai, lorsque j’aurai un peu plus de temps, de publier l’application sur les autres store, afin d’en parler ici également.

En attendant, n’hésitez pas à me dire ce que vous en pensez. Il y a beaucoup de choses que je peux améliorer, ça viendra des que j’aurai un peu de temps.

Mat_

Au départ on sort avec un diplôme d’ingénieur de l’ESIL (devenu Polytech’Marseille) en Informatique, réseau et multimédia, spécialisé dans les Systèmes d’Informations et Services E-Business.
En même temps on bosse, on développe, on apprend. Et maintenant on entreprend.

Passionné de nouvelles technologies, et évangéliste de WordPress, j’aime découvrir, tester, rechercher.

Vous aimerez aussi...

1 réponse

  1. 21 septembre 2013

    […] Aujourd’hui ce n’est pas vraiment de code dont je vais vous parler. En fait, c’est plutôt de ce qu’il se passe dans la tête du développeur.  […]

Suivez Kune.fr sur les réseaux sociaux !

Kune.fr est votre site de ressources web. Vous y trouverez de nombreux outils utiles pour le web.
Alors n'hésitez plus, aimez notre page !

  • Ressources Wordpress, tutoriels, plugins et thèmes
  • Ressources design, packs d'icônes, kits UI ...
Fermer cette popup
%d blogueurs aiment cette page :