Deuxième article de ma série sur le développement de produits indépendants
L’article précédent présentait, du point de vue d’un développeur iOS, les ressources permettant de définir un besoin, de développer une app indépendante et de la publier. Mes ressources étant limitées, je ne pouvais réaliser que des utilitaires disponibles dans l’App Store d’Apple.
Cet article aborde le développement d’un produit complet sur plusieurs plateformes, les problèmes rencontrés et leurs solutions. Je vais expliquer comment j’ai progressivement créé un écosystème produit complet réunissant compte officiel WeChat, mini-programme et app.
1. Objectifs du produit
Au sens large, l’objectif d’un produit est la valeur qu’il apporte. Même si un cas d’usage existe, un produit sans valeur, qui ne rapporte rien et compte très peu d’utilisateurs, a peu de raisons d’exister.
Ou nous pourrions commencer d’encore plus haut, avec la vision du produit…
Arrêtons-nous là. Ne pensez pas encore à tout cela, sinon votre produit risque de ne jamais dépasser vos réflexions sans fin.
Lorsque les ressources, les personnes et l’investissement sont limités, l’objectif devient clair : quels problèmes le produit doit-il résoudre, ou quelles fonctions doit-il fournir ?
Par exemple, lorsque j’ai créé File Manager, le MVP avait un objectif précis : transférer des fichiers entre un téléphone et un ordinateur.
L’achèvement du MVP a naturellement entraîné d’autres exigences. Certaines venaient de mes plans produit, mais davantage encore des retours des utilisateurs :
- 1.0.0 Transférer des fichiers entre téléphone et ordinateur
- 1.1.0 Prévisualiser ou lire des images, vidéos et fichiers audio
- 1.2.0 Grouper, déplacer, supprimer, compresser et partager des fichiers
- 1.3.0 Améliorer le lecteur
- 1.4.0 Ajouter une vérification de sécurité : codes gestuels et biométrie
- 2.0.0 Ajouter des achats intégrés
- 2.1.0 Ajouter la numérisation de documents
- …


Choisissez un objectif. Il n’a pas besoin d’être grand, mais doit être réalisable. Concentrez-vous sur une chose à la fois et continuez même si elle semble erronée : comment le savoir sans la terminer ◔ ‸◔ ? Terminez, puis faites le bilan.
2. Prototypes du produit
Dans l’article précédent, je racontais avoir essayé de nombreux outils de prototypage et conclu que j’aurais pu construire les écrans avec xib pendant le temps consacré au prototype.
Laissez-moi me contredire ici ,,Ծ‸Ծ,,
Cette pensée se comprend lorsqu’on crée un utilitaire personnel sans projet ultérieur, uniquement dans le but de le terminer et de le publier.
À mesure que le produit évolue, avancer pas à pas sans prototype ni plan crée de graves problèmes pour le développement futur. Concevoir un prototype consiste en réalité à organiser la logique du produit.
Voici quelques outils de prototypage. Celui que j’utilise le plus actuellement est MockingBot.
3. Gestion de projet
Après avoir développé et publié seul une app iOS, j’ai remarqué un sérieux problème : je n’avais aucune notion de gestion de projet. Je travaillais quand j’avais le temps ou quand j’y pensais, et ne faisais rien lorsque la paresse me gagnait.
C’était mon produit, conçu et développé par moi. Le MVP n’avait probablement aucun utilisateur payant, je ne me sentais donc pas responsable envers eux.
Cela ralentit considérablement un projet. Travailler trop longtemps sans plan peut même le tuer.
Après plusieurs années à gérer des itérations au travail, j’ai constaté que les outils de gestion de projet conviennent aussi aux projets personnels. Avec des objectifs clairs et un prototype logiquement cohérent, le découpage en tâches vient naturellement.
J’utilise coding.net pour la gestion de projet ; il peut également héberger le code source.

Découpez les tâches en unités mesurées en heures. Elles sont alors plus faciles à gérer et les cas de test plus simples à écrire. J’ai aujourd’hui l’habitude de terminer les cas de test avant de coder. C’est essentiel.
Un prototype organise la logique du produit ; les cas de test organisent les détails de mise en œuvre. Des cas complets nous guident vers une logique métier correcte ✅ et évitent de nombreuses erreurs métier ❌.
4. Choix technologiques
Jusqu’ici, tout n’était que préparation ; nous n’avons pas commencé le développement. La difficulté principale est que je suis l’unique développeur, alors que je veux créer l’écosystème complet réunissant compte officiel WeChat, mini-programme et app.
Il faudrait maîtriser les mini-programmes, iOS et Android. Apprendre un langage de programmation n’est pas si difficile, mais mettre en œuvre trois fois la même logique métier demande trois fois plus d’efforts. C’est clairement irréaliste.
Habituellement, nous pourrions utiliser le web pour servir plusieurs plateformes, voire abandonner l’app et nous concentrer sur un compte officiel et un mini-programme. Au début, lorsqu’il faut valider rapidement les besoins du produit, cette approche est très raisonnable.
Une courte recherche révèle de nombreuses technologies multiplateformes. Pour créer une app et un mini-programme avec une base de code unique sur trois plateformes, nous pouvons utiliser Uni-App. Elle repose sur le framework frontend Vue.js, avec la prise en charge d’iOS et d’Android par Weex.
Cela suffit pour des produits personnels ou de petits produits commerciaux.
5. Gestion des données
Le choix d’une solution pour le mini-programme et l’app étant fait, une autre question cruciale demeure : où stocker les données ?
Pour un utilitaire, un stockage local dans l’app suffit. Mais que faire si l’objectif est une plateforme d’information avec un système utilisateur complet, voire une communauté plus complexe de contenu produit par les utilisateurs ?
Uni-App propose son propre service uniCloud. Le développement serveur peut se faire en JavaScript, et les mini-programmes et apps peuvent l’utiliser sans nom de domaine.
J’ai choisi une autre approche : héberger les données sur la plateforme serverless LeanCloud. Le mini-programme et l’app accèdent à la base hébergée par le SDK JavaScript de LeanCloud.
Son offre de développement autorise 30 000 requêtes API gratuites par jour et propose aussi des services SMS. Cela suffit pour créer un système utilisateur, téléverser ses données et récupérer celles de la plateforme.
Lorsque les requêtes dépassent ce quota, votre produit a atteint une certaine échelle. Je pense que les revenus générés par ce trafic devraient alors financer l’offre commerciale facturée à l’usage.
Une manière effrontée de trouver des données
Que faire si vous voulez créer une app météo ou d’information, mais ne disposez d’aucune donnée météo ou d’actualité ?
Il existe de nombreuses places de marché d’API en Chine, notamment :
entre autres.
Ces places de marché proposent des API payantes et gratuites.
Si votre produit monétise efficacement le trafic, envisagez les API payantes.
Dans le cas contraire, utilisez les quotas gratuits. Mais les 100 requêtes d’essai peuvent disparaître pendant les tests. Que faire alors ?
Vous pouvez associer la base serverless LeanCloud à une place de marché d’API. Pour la météo quotidienne, interrogez d’abord la base. Si les données manquent, demandez-les à la place de marché, puis enregistrez-les dans la base.
Et si 100 requêtes ne couvrent toujours pas toutes les villes ? Gardez l’esprit débrouillard et inscrivez-vous sur plusieurs plateformes.
6. Lancement et exploitation
Nous avons maintenant développé le mini-programme, l’app et le serveur. Comment les lancer ?
Les mini-programmes sont assez simples : sur la plateforme des comptes officiels WeChat, suivez les instructions pour en demander un.
Publier sur iOS nécessite un compte développeur payant. C’est un obstacle, mais pour une exploitation durable, je recommande de s’inscrire sur le site développeur d’Apple. L’inscription est désormais simple : téléchargez l’app Developer sur un iPhone et payez depuis celle-ci.
La distribution Android exige un enregistrement des droits d’auteur du logiciel. Une demande normale peut prendre 1-2 mois, ou vous pouvez rémunérer un intermédiaire pour s’en charger.
Restons dans l’esprit débrouillard : où stocker les images, l’audio et la vidéo destinés aux emplacements promotionnels de l’app et du mini-programme ?
La médiathèque du compte officiel résout ce problème. Stockez-y les images, l’audio et la vidéo, récupérez leurs URL d’origine, puis l’app et le mini-programme pourront y accéder.
7. Générer des revenus
La publicité est une façon simple de monétiser le trafic.
Cependant, les critères d’admissibilité des plateformes pour les éditeurs augmentent sans cesse, ce qui complique l’intégration publicitaire pour les développeurs indépendants.
Uni-App propose une intégration en un clic ; consultez sa documentation.
Lorsqu’un compte officiel a développé son audience, il peut activer des emplacements publicitaires dans les articles.
Un mini-programme peut activer la monétisation éditeur après avoir atteint 1 000 visiteurs uniques.
8. Conclusion
Nous avons maintenant achevé l’écosystème réunissant compte officiel WeChat, mini-programme et app décrit au début.
En suivant ces étapes, j’ai mené ce processus à terme pour trois produits. Scannez les codes pour les essayer :
