Profile picture of Armand PETITđŸ“±
Armand PETITđŸ“±
Expert React Native & Expo
Follow me
Generated by linktime
August 4, 2025
90% des projets React sont des chaos organisĂ© ?  Essaie ça : Un projet bien structurĂ©, ça change tout.   LisibilitĂ©, maintenabilitĂ©, Ă©volutivitĂ©. La Clean Architecture te permet justement ça :   organiser ton code par feature, et non par type de fichier. Voici comment je le fais concrĂštement : → Un dossier features qui contient toutes les features de ton app   → À l’intĂ©rieur, chaque feature a sa propre structure isolĂ©e Prenons une feature comme “Dashboard”.   Elle est dĂ©coupĂ© en 3 grandes couches : 1. đ—±đ—źđ˜đ—ź_đ—¶đ—»đ˜đ—Čđ—Žđ—żđ—źđ˜đ—¶đ—Œđ—»Â Â  C’est ici qu’on gĂšre les appels externes (API, stockage, etc).   Un seul endroit pour tout ce qui vient de l’extĂ©rieur. 2. đ—±đ—Œđ—șđ—źđ—¶đ—»Â Â  Le cƓur de la feature.  On y trouve : → behavior_rules : la logique mĂ©tier sous forme de hooks ou de fonctions pures   → business_object : les objets mĂ©tier, les types, les interfaces   → business_rules : les rĂšgles mĂ©tiers (tri, calculs, validations)   → constants : tout ce qui est fixe, centralisĂ© 3. đ˜‚đ—¶_đ—°đ—Œđ—șđ—œđ—Œđ—»đ—Čđ—»đ˜đ˜€Â Â  Les composants React qui affichent les donnĂ©es et interagissent avec le domaine.   Ils sont dĂ©couplĂ©s, testables, rĂ©utilisables. Et Ă  cĂŽtĂ© de ça, deux autres dossiers importants au mĂȘme niveau que features : → app : les routes/pages (dans mon cas avec Expo Router)   → cross_project : le design system, les outils partagĂ©s, les helpers Ce dĂ©coupage te permet de : - Naviguer rapidement dans ton projet   - Travailler en Ă©quipe sans marcher sur les pieds   - Tester facilement chaque couche indĂ©pendamment   - Éviter les dĂ©pendances circulaires Tu sais oĂč coder.   Tu sais oĂč lire.   Tu sais oĂč refactorer. Ce n’est pas de la magie.   C’est juste une structure qui respecte la logique de ton produit. Ne sous-estime jamais la puissance d’un bon dossier features.   C’est lĂ  que commence un bon projet. PS : deux corrections sur la vidĂ©o →   1. useBalance.ts doit ĂȘtre utilisĂ© dans le screen, pas directement dans le composant   2. Les fichiers dans data_integration et domain doivent ĂȘtre en `.ts`, pas `.tsx`
Stay updated
Subscribe to receive my future LinkedIn posts in your mailbox.

By clicking "Subscribe", you agree to receive emails from linktime.co.
You can unsubscribe at any time.

169 Likes
August 4, 2025
Discussion about this post
Profile picture of Johann Pouponnot
Johann Pouponnot
Developer @Tylia
1 month ago
L’organisation des dossiers n’est pas une architecture. J’aime appeler ça Nomenclature. Ici, tu peux trĂšs bien sĂ©parer en couches et pourtant avoir du couplage parce que pas de DI. Dans ce cas ce ne serait pas de la clean architecture. Par ailleurs, je pense que ton domain devrait rester agnostique de ton framework/librairie. Aucune raison d’y trouver des hooks,
 Toutefois, je te rejoins sur l’importance de bien organiser un projet.
Profile picture of âšĄïžMichaĂ«l Azerhad
âšĄïžMichaĂ«l Azerhad
Formateur de rĂ©fĂ©rence TDD/DDD & Clean Archi ‱ Tech Lead Full-Stack (12 langages) ‱ Founder@WealCome ‱ Admin Slack d’entraide devs 4k+ ‱ Speaker/YouTube ‱ CertifiĂ© Qualiopi (formations finançables) ‱ NoEstimates advocate
1 month ago
Je ne suis pas en phase avec cette vision. En Clean Archi, il n’y a pas de hooks dans le domain, et encore moins de hook TanStack Query. Il manque une notion importante : les presenters / gĂ©nĂ©rateur de view models, qui sont hors domain et qui concentrent une trĂšs grosse partie de logique algorithmique de l’appli.
Profile picture of Ezahie KOUMA
Ezahie KOUMA
Développeur web & mobile
1 month ago
Un peu comme angular , super idĂ©e👌
Expo vient de frapper un grand coup. Tu peux maintenant dĂ©ployer ton app mobile depuis un SAAS. Tu te souviens du temps oĂč shipper une app iOS nĂ©cessitait : - un Mac - Xcode - des certificats Apple - une config manuelle d’App Store Connect - un cafĂ© bien serrĂ© et quelques sueurs MĂȘme avec EAS, tu devais encore passer par la CLI. Autant dire que les PM, QA ou designers restaient sur la touche. Et que les devs perdaient du temps pour de simples builds de test. Evan Bacon vient de montrer quelque chose qui change la donne. Avec launch.expo.dev, tu peux : → coller l’URL GitHub de ton projet → cliquer sur “Launch” → laisser la plateforme crĂ©er ton app cĂŽtĂ© Apple, signer ton code, build, et soumettre sur TestFlight → recevoir l’invitation sur ton iPhone quelques minutes plus tard Le tout, sans ouvrir un terminal. Depuis un navigateur. Sur Windows, sur mobile
 ou mĂȘme sur une Nintendo Switch. Ce n’est pas juste un raccourci. C’est une nouvelle maniĂšre de shipper : - Aucun setup local requis - Aucune CLI Ă  apprendre - N’importe qui dans l’équipe peut dĂ©clencher une release - Une app testable en quelques minutes via TestFlight - Et une version web dĂ©ployĂ©e en bonus si tu veux Launch.expo.dev, c’est EAS pour les humains. C’est le dernier kilomĂštre, enfin automatisĂ©. Evan Bacon l’a dit simplement : “It has never been easier to build and submit an iOS app.” Difficile de dire le contraire. CrĂ©dit : Evan Bacon
105 comments
August 22, 2025