TFE 17 : La machine est lancée

Et il est temps de rattraper le retard accumulé bêtement en mettant les bouchées doubles ou triples …

Récapitulons depuis le début

J’étais parti sur l’idée de créer une installation à base d’Arduino. Cependant il me fallait une idée concrète et le temps commençait à manquer. De plus ça demandait un certain investissement financier afin de commander les pièces sur Amazon et espérer qu’elles arrivent assez vite. Le projet n’était donc pas vraiment fiable et il m’aurait fallu plus de temps pour trouver quelque chose d’intéressant à concevoir.

Je suis donc parti sur l’idée d’une application mobile quelconque. C’était ma seconde piste proposée dans le premier article.

Une app mobile … ?

En fait, avant de réfléchir au “quoi” j’ai réfléchi à “comment”. Pour développer une application mobile il existe plusieurs techniques :

  • la web app HTML/CSS hébergée en ligne et accessible via un navigateur ou une web view
  • utiliser une technologie comme Phonegap / Apache Cordova qui permet de convertir du HTML/CSS/JavaScript en code natif pour iOS et Android
  • coder l’application en natif (Java pour Android, Swift pour iOS)
(source: commitstrip.com)

Mais comme toujours, j’ai voulu explorer des pistes que je ne connaissais pas. Pour moi il fallait que le développement de l’application est un minimum d’intérêt. Le faire en HTML/CSS était la solution de facilité pour moi et j’ai besoin de challenge. J’ai déjà testé la création d’application native (notamment une web view pour le Reboot Factory) mais faire une vraie application me permettait d’ajouter une nouvelle corde à mon arc.

Cependant, le développement serait limité à la plateforme Android, n’ayant pas d’iPhone et la licence développeur étant payante pour Apple.

Une autre idée que je voulais essayer est de faire communiquer conjointement cette application mobile avec un serveur web. Les informations seraient stockées sur une base de données en ligne et récupérées via une API que je développerais moi-même. L’avantage est que je peux utiliser les données sur n’importe quel support. D’abord Android, puis peut-être plus tard une webapp ou une application iOS.

Oui, mais une application sur quoi ?

J’ai du coup chercher plusieurs idées d’application mobile. Il fallait qu’elle ait un minimum d’utilité, peut-être pas pour tout le monde, mais pour un certain groupe de personne.

J’ai d’abord pensé à une application qui permettrait aux utilisateur de répertorier des lieux d’urbex (exploration urbaine) avec divers infos tel que si le lieu est dangereux, si il est interdit d’accès au publique et si il est dangereux. L’urbex étant un pratique interdite, je me serais déchargé de toute responsabilité en prévenant les utilisateurs d’une petite phrase sur la page d’accueil.

Après discussion avec M. Thronte et M. Di Nunzio, ils m’ont dit qu’un élève avait déjà fait quelque chose de semblable il y a 2 ans (et il s’avère que je connais cette personne, en plus) et qu’il avait le même problème : les lieux d’urbex sont tenus secrets afin d’éviter toute dégradation ou qu’il y ait trop de visiteurs. M. Bourgaux m’a alors conseillé de chercher un autre type de contenu qui peut être répertorier : les musées et les centres culturels.

Tous les chemins mènent à l’art

Les musées et les centres culturels sont des lieux qui sont parfois mal indiqués. Il n’y a, par exemple, aucun panneau qui donne la direction vers les abattoirs de Bomel à Namur.

Bref, j’ai défini comment devait fonctionner mon application comme ceci :

Un utilisateur peut s’enregistrer, se connecter, afin de chercher un musée ou un centre culturel, le mettre en favoris et poster son avis sur chaque lieux culturel. Il peut aussi proposer d’en ajouter un.

Structure de l’application

Les mains dans le cambouis

Après avoir réfléchi à ça, il fallait que je détende mon esprit en codant un peu. J’ai décidé de m’attaquer à une base fondamental de mon application : l‘inscription et la connexion. J’ai donc utilisé mon framework php afin de gagner du temps et j’ai codé les méthodes permettant de connecter et d’inscrire un utilisateur dans mon contrôleur User.

Le code du contrôleur de l’API utilisant mon framework PHP.

Les URI de l’API vont retourner du JSON, un format de données qui permet à deux applications de communiquer entre-elle. Ça tombe bien, je vais devoir faire communiquer du PHP et du Java entre-eux.

Ensuite, j’ai commencé à créer le code de l’application en elle-même. Ceci se fait sur Android Studio, un logiciel dédié à la création d’application Android et j’ai codé les fonctions permettant de se connecter et de s’inscrire via une “activité” (c’est l’équivalent d’une page en HTML).

Du Java dans Android Studio. Ici je récupère les données depuis mon API.

Maintenant, je m’atèle à coder les autres pages. Je sais qu’il me reste peu de temps et j’essaie d’avancer un maximum pour le 10 mai. J’ai quand-même bien peur de ne pas avoir tout fini, principalement dans les détails (landing page, web app minime permettant d’accéder aux données, etc). Je reste confiant malgré tout !

La base est là, je dois rajouter le logo avant le texte de présentation sur la page de gauche.

Prochain Médium ? Je ne sais pas quand !

Show your support

Clapping shows how much you appreciated Anthony Pauwels’s story.