Le projet avance !
Si tu n’es encore au courant, je me suis lancé un défi récemment : développer une plateforme pour réaliser des états des lieux en ligne et gagner de l’argent avec. Pour avoir plus d’informations sur ce projet, tu peux lire (ou voir parce que j’ai aussi fait une vidéo 😁) mon article en cliquant ici
Aujourd’hui, je t’explique les technos que je vais utiliser pour ce projet, t’expliquer mes choix techniques mais aussi t’expliquer mon MVP (Minimum Viable Product). Tu peux regarder la vidéo ou lire la transcription texte de la vidéo ci-dessous
Transcription texte de la vidéo
Salut, c’est Thomas du blog Esprit web et aujourd’hui, on se retrouve dans une nouvelle vidéo pour faire le point sur mon défi. Dans cette vidéo je vais te parler des technos que j’ai utilisées et aussi du MVP (Minimum Viable Product).
Si tu ne me connais pas encore, moi c’est Thomas du blog Esprit web et je t’aide à devenir développeur web étape par étape.
Si tu as regardé ma précédente vidéo, tu sais que je me suis lancé un nouveau défi. Dans ce défi, le but va être de développer une plateforme pour que les particuliers qui ont des biens locatifs puissent réaliser leur propre état des lieux. J’ai commencé le développement de cette plateforme et dans cette vidéo, je voudrais faire le point sur les technos que j’ai utilisées et sur le Minimum Viable Produit. Donc sur la première version de la plateforme que j’ai faite.
Au niveau des technos, qu’est-ce que j’ai utilisé ?
Pour ce projet-là, je suis parti sur un framework que je maîtrisais bien. Je suis avec sur Symfony 5 et Boostrap, le framework CSS que j’ai utilisé.
Alors pourquoi utilisé Symfony 5 pour ce type de plateforme ?
Le but dans ce type de projet-là, c’était vraiment de partir sur quelque chose que je connaissais, de livrer une version le plus rapidement possible avec des technos que je connaissais. Ce n’est pas comme un « side project » que je peux avoir en parallèle où là, je vais me lancer sur une nouvelle techno, je vais essayer de nouveaux trucs.
Là, je voulais vraiment partir sur quelque chose que je connaissais, que je maîtrisais et le but, c’était d’aller le plus rapidement possible à l’essentiel , de sortir une version le plus rapidement possible. Donc c’est pour ça que j’ai choisi un framework que je connaissais, qui est Symfony.
Au niveau de la base de données, je vais partir sur une structure de données avec MySQL qui s’intègre très bien avec PHP et Symfony. Au niveau de mon éditeur de code, j’utilise Visual Studio Code depuis pas longtemps. Avant j’étais sur NetBeans, mais depuis que Visual Studio Code est sorti, je le trouve incroyable. Il y a plein de plugins qui t’aident à coder plus rapidement, à être plus efficace et tout et je trouve vraiment que Visual Studio Code, c’est le top pour coder. Donc je code tous les jours avec ça maintenant.
À terme, le but est que cette plateforme puisse être sur tablette donc d’avoir une application et que ça soit plus facile pour que les particuliers puissent réaliser leur logement dans leur logement.
Donc tu vas me dire « mais pourquoi tu n’es pas parti directement sur une techno qui permettait de faire des applications mobiles ? ».
Comme je le disais précédemment, le but est vraiment de livrer une version rapidement avec une techno que je connaissais. Je suis parti avec Symfony et donc avec Twig pour le côté front, mais je pense que par la suite j’utiliserai de toute façon un framework front donc JavaScript. Je n’ai pas encore décidé sur quoi j’allais partir.
Peut-être que j’utiliserai Cordova qui me permet justement d’adapter du code HTML, CSS que tu as déjà faite en format application. On va dire que c’est la façon un peu facile pour adapter en format application.
Ou je ferai peut-être une partie front en VuesJS qui fera des appels API. Je mettrai en place une API côté back. À mon avis, je ferai la partie front uniquement pour la réalisation état des lieux donc je n’aurai pas à refaire toute l’application. Je vais faire qu’une toute petite partie de l’application. J’ai vu qu’il y a une techno qui s’appelle Native Script et qui permettait justement de faire des applications Android et IOS avec le framework VueJS. Je pense que par la suite j’irai sur ce type de techno-là. Mais dans un premier temps, je voulais vraiment faire quelque chose que je connaissais et aller droit au but.
Parlons du MVP
Donc maintenant, on va parler rapidement du MVP, donc le Minimum Viable Product. J’en avais un petit peu parlé dans ma précédente vidéo et j’avais expliqué que le Minimum Viable Product, c’était le fait de créer, une première version très simplifiée, mais qui répondait aux besoins des utilisateurs. C’est vraiment livrer les fonctionnalités qui ont le plus de valeur en premier.
Comment je m’y suis pris pour faire ce MVP ?
En gros, j’ai listé toutes les fonctionnalités que je pensais mettre dans l’application. Alors, peu importe si elles étaient importantes, pas importantes. Je les ai toutes listées une par une donc on retrouve un petit peu de tout. On retrouvait autant les fonctionnalités principales (pouvoir signer un état des lieux), comme des fonctionnalités moins essentielles (le locataire pourrait scanner un QR codent et suivre l’état des lieux en direct par exemple). Donc voilà, ça, ce sont des fonctionnalités qui ont moins de valeur.
Mais peu importe, j’ai tout listé et après, je me suis demandé quelles sont, dans ces fonctionnalités, celles qui vont apporter le plus de valeur aux utilisateurs finaux et celles qui sont moins importantes. J’ai aussi fait un système de complexité par tâche. J’ai déterminé la complexité de chaque tâche, ce qui m’a permis par la suite de faire un ratio entre ce qui apportait le plus de valeur et qui n’étaient pas très complexe à faire de ce qui apportait pas du tout de valeur et qui était très complexe à faire. Donc ça, ça me permet de faire le tri entre les différentes fonctionnalités que je vais proposer et de définir comme ça une dizaine de fonctionnalités qui sont hypers essentiels pour l’utilisateur.
Une fois que j’avais fini de réaliser ce code, donc le développement du MVP, j’ai mis la plateforme en ligne. J’ai mis en ligne mon site pour avoir des premiers retours utilisateurs. On va dire que le développement de la première version s’est fait plutôt rapidement, c’est assez rapide.
Une fois que tu as tes fonctionnalités, tu codes, tu ne t’embêtes pas trop avec le design, tout ça. Le but est vraiment de livrer de la valeur, de faire un truc fonctionnel très, très rapidement. Ça m’a pris environ 2 semaines. Je l’ai livré en suivant pour commencer à avoir des retours utilisateurs.
Là, je me suis rendu compte qu’il y avait quand même quelques bugs, ce qui est normal au début. Tu ne peux pas tout tester non plus et c’est aussi le but de livrer un MVP. C’est que les personnes puissent commencer à l’utiliser et puissent te faire des retours, qu’ils puissent soulever des bugs. Et pour toi le but, c’est de le corriger très rapidement au début pour avoir une première version sans bug, qui fonctionne correctement et que les utilisateurs puissent utiliser rapidement.
J’ai mis cette première version à disposition gratuitement. Le but au début n’est pas de faire payer les gens, de gagner de l’argent là-dessus. Le but, c’est d’avoir une version qui soit fonctionnelle et que les utilisateurs, puissent remonter leurs retours.
Donc tous ces retours m’ont permis un peu de comprendre comment les personnes utilisaient l’application. C’est vrai que quand on est développeur, quand on est dans son coin en train de coder, on ne s’en rend pas forcément compte. Pour nous des fois, c’est logique, on se dit « bon ok, faut aller là, faut cliquer là. Hop, aller à tel endroit » et pour nous, c’est facile en tant que développeur parce qu’on sait, c’est nous qui l’avons développé. Mais en fait tu ne te rends pas compte de l’utilisation que les utilisateurs en font. Des fois tu te dis « mais comment ils utilisent ça ? Ce n’est pas comme ça qu’il faut faire ». Et puis finalement tu te rends compte qu’il n’avait peut-être pas compris, que ce n’était peut-être pas très clair. C’est à toi de comprendre, de discuter avec les utilisateurs pour avoir les premiers retours pour améliorer ta première version.
Je te montrerai dans une prochaine vidéo comment j’ai fait pour trouver ces premiers utilisateurs, comment je fais pour analyser un petit peu le comportement des personnes sur le site et comment j’ai amélioré mon application. Pour continuer à suivre mon défi tu peux t’abonner à la chaîne YouTube. Je vais poster régulièrement des vidéos pour t’expliquer l’avancée du projet et tu peux aussi me suivre sur Instagram et Facebook (Esprit Web).