Stéphanie nous montre ses meilleures techniques
Création d'une application mobile native de jeu Pyramide (émission TV) avec React Native/Expo, rencontrant des problèmes classiques de dépendances et révélant des techniques avancées de gestion de projet IA.
À propos de cette session
Stéphanie démarre par une phase de préparation méthodique dans ChatGPT, générant les règles du jeu en Markdown plutôt que de se lancer directement dans le code. Elle teste d'abord la compréhension du concept par l'IA avant de passer aux spécifications techniques.
Dans Windsurf, elle adopte une approche en deux temps : d'abord une discussion en mode chat pour établir un plan de développement par étapes, puis passage en mode write une fois le plan validé. L'initialisation du projet Expo se complique quand l'IA détecte des fichiers existants, forçant un nettoyage et une réinitialisation complète.
Alexis lance l'application mobile sur son téléphone via Expo Go, révélant rapidement des problèmes de dépendances d'icônes (erreurs Lucide) qui perturbent le fonctionnement. Stéphanie opte pour une analyse complète du projet par l'IA plutôt qu'un débogage ponctuel, illustrant sa philosophie de prise de recul systématique.
L'application basique fonctionne malgré les warnings : elle affiche des indices un par un (neige, sommet, roche pour "montagne"), gère un système de score improvisé par l'IA, mais échoue à détecter correctement les bonnes réponses et gérer les fins de partie.
La phase de design "ambiance égyptienne" produit des résultats visuels corrects mais génériques (couleurs sable, pyramides), avec des animations Lottie basiques. L'IA ajoute des fonctionnalités non demandées comme le système de score, confirmant les craintes de Stéphanie sur les "initiatives" non contrôlées.
La session se termine sur une analyse des bonnes pratiques de sécurité proposées par l'IA, révélant des recommandations inappropriées au contexte (HTTPS pour app mobile, chiffrement excessif pour un jeu simple).
Points clés
- Préparation méthodique essentielle : ChatGPT en amont pour brainstorming et spécifications avant le code, contrairement aux approches "prompt unique massif"
- Gestion du contexte critique : Stéphanie privilégie les conversations courtes (2-3h max) car les LLM perdent la cohérence sur les sessions longues, oubliant la stack technique utilisée
- Contrôle du processus via modes chat/write : Basculer en mode chat pour valider les étapes avant exécution, éviter les modifications non contrôlées
- Committing atomique obligatoire : Sauvegardes fréquentes par petites briques fonctionnelles pour permettre les rollbacks quand l'IA part en vrille
- Claude 3.5 Sonnet préféré aux versions récentes : Les modèles "sur-stéroïdes" (3.7, 4) prennent trop d'initiatives non demandées, réécriture de code sans demande explicite
- Problèmes récurrents Expo/React Native : Dépendances d'icônes systématiquement défaillantes, même problème observé sur Bolt, stack moins stable que le web pur
- Débogage par analyse globale : Face aux bugs, demander une revue complète du projet plutôt qu'un fix ponctuel, identifier les causes racines multiples possibles
- Vérification systématique post-génération : Tester toute l'application après chaque modification, l'IA modifie parfois des éléments non demandés (pricing, contenus, fonctionnalités)
- Architecture modulaire indispensable : Imposer des "briques" réutilisables dès le début, sinon l'IA crée des "pelotes de laine" impossibles à maintenir
- Code review obligatoire via Git diff : Relecture systématique des modifications en mode review GitHub, plus lisible que l'interface Windsurf
- Sécurité : audit critique requis : L'IA admet facilement les failles majeures quand on lui demande une analyse de risque post-développement
- Gestion de la mémoire projet : Utiliser les fonctions de mémorisation Windsurf et faire des wrap-ups de session pour maintenir le contexte entre reprises
- Recommandations techniques à filtrer : L'IA propose parfois des solutions inadaptées au contexte (HTTPS mobile, chiffrement excessif), discernement technique nécessaire
- Approche QA transposable : Background test/qualité précieux pour structurer le vibe coding, analyse de risque, bonnes pratiques de développement
- Réalisme sur les limitations : Echec fréquent à finaliser les projets complexes (mobile notamment), même avec expertise technique, nécessite plusieurs tentatives