[đ ] Journal de dĂ©veloppement Secret Messenger #1 : Flutter Web + Node (test de Vibe Coding)
âš RĂ©sumĂ© de GPT ă
Une journĂ©e Ă finaliser lâarchitecture technique et la conception de sĂ©curitĂ© dâune messagerie centrĂ©e sur la sĂ©curitĂ© pour les transfuges nord-corĂ©ens en Chine, puis Ă rĂ©diger un plan de dĂ©veloppement MVP basĂ© sur Flutter Web + Node.
đ§ź Secret Messenger
Câest une messagerie destinĂ©e aux utilisateurs transfuges nord-corĂ©ens vivant en Chine sans piĂšce dâidentitĂ© officielle.
- đ± Accessible depuis un navigateur, sans installation
- đŹ Capable de recevoir des informations, de mener des conversations secrĂštes et de partager des fichiers
- đĄïž Un outil de communication centrĂ© sur la sĂ©curitĂ©, basĂ© sur Flutter Web
Ce projet est une expĂ©rimentation technique pour la protection des droits humains et lâaide Ă la survie, et non Ă des fins politiques. Il ne suppose ni distribution publique ni usage commercial. (đ GĂ©rĂ© uniquement dans un dĂ©pĂŽt GitHub privĂ©.)
đ Aperçu du projet
| ĂlĂ©ment | Contenu |
|---|---|
| Utilisateurs | Transfuges nord-corĂ©ens en Chine, avec une trĂšs faible littĂ©ratie numĂ©rique, dont les tĂ©lĂ©phones peuvent ĂȘtre surveillĂ©s par les autoritĂ©s de sĂ©curitĂ© publique |
| Objectif | Partage dâinformations, chat secret et partage de fichiers sĂ©curisĂ© |
| Forme | SPA Flutter Web basée sur le navigateur, sans installation requise |
| Domaine | https://???.net (déguisé en interface de calculatrice) |
| StratĂ©gie de dĂ©guisement UI | Premier Ă©cran ressemblant Ă une calculatrice -> une opĂ©ration prĂ©cise envoie une demande dâentrĂ©e au serveur |
| MĂ©thode dâentrĂ©e | Flutter Web envoie la clĂ© dâentrĂ©e au serveur en POST, puis le serveur dĂ©cide sâil Ă©met un jeton dâaccĂšs |
| Stratégie de sécurité du code | Les conditions et logiques sensibles ne sont pas incluses dans le client ; toutes les décisions sont prises cÎté serveur |
| PrioritĂ© des fonctionnalitĂ©s | â RĂ©ception dâinformations -> ⥠Chat -> âą Partage de fichiers |
đ§Ș Projet expĂ©rimental de Vibe Coding
En mĂȘme temps, ce projet est un MVP destinĂ© Ă tester lâapplicabilitĂ© rĂ©elle et les limites dâune mĂ©thode de dĂ©veloppement appelĂ©e Vibe Coding.
- La conception et lâimplĂ©mentation se font en langage naturel, et la majeure partie de la gĂ©nĂ©ration de code est rĂ©alisĂ©e avec lâaide de lâAI.
- Lâutilisateur joue le rĂŽle de concepteur/coordinateur plutĂŽt que dâĂ©crire directement la plupart du code.
- Lâobjectif est dâĂ©valuer dans la rĂ©alitĂ© lâefficacitĂ© et les facteurs de risque du dĂ©veloppement pilotĂ© par lâAI.
Ă travers cette expĂ©rimentation, je veux explorer lâavenir des mĂ©thodes de dĂ©veloppement fondĂ©es sur lâAI et vĂ©rifier si elles peuvent atteindre un niveau applicable Ă un vrai projet de droits humains.
âïž Stack technique
đ· Frontend (Flutter Web)
-
Flutter 3.x(Web build) -
Material 3(adapté au déguisement en UI de calculatrice) -
go_router(transitions de pages et composition dâune entrĂ©e cachĂ©e) -
Riverpod(gestion dâĂ©tat : UUID, sessions, etc.) -
http(communication REST API)
đ StratĂ©gie UI
- Ăcran initial :
TextField + grille de boutonssous forme de calculatrice - Saisie dâune opĂ©ration prĂ©cise -> envoi au serveur -> si elle est valide, lâentrĂ©e interne est autorisĂ©e
- Aucun dĂ©clencheur ni logique dâentrĂ©e nâest inclus cĂŽtĂ© client
đ· Backend (Node.js + Express)
Node.js 18+-
Express.js(serveur REST API) -
SQLite(base de données locale basée sur des fichiers) -
Multer(upload de fichiers) -
node-cron(planificateur de suppression basée sur TTL) - Middleware de sécurité comme
CORS,helmet,rate-limit
đ API principales
-
POST /check-trigger- Le serveur vérifie la chaßne saisie
- Si elle correspond à une condition de déclenchement préenregistrée, il émet un jeton de session
-
GET /session/:idou/inbox/:key- Seuls les utilisateurs possédant une clé de session émise par le serveur peuvent accéder aux fonctions internes
-
POST /message,GET /messages- Stockage/consultation de messages basés sur TTL
-
POST /upload,GET /file/:id- Prise en charge de lâupload de fichiers et de leur suppression automatique
đ· Infrastructure / dĂ©ploiement
-
Docker(cohĂ©rence et portabilitĂ© de lâenvironnement serveur) -
Ubuntu 22.04 LTS(Vultr VPS) -
Vultr VPS (rĂ©gion Hong Kong)â pour assurer une stabilitĂ© dâaccĂšs depuis la Chine -
Cloudflare(proxy DNS + SSL + masquage dâIP) - Domaine :
???.netâ domaine de dĂ©guisement en calculatrice
đ StratĂ©gie de sĂ©curitĂ©
| ĂlĂ©ment | Description |
|---|---|
| SĂ©paration du code | Le code sensible, comme la logique dâentrĂ©e et les dĂ©clencheurs, reste rĂ©servĂ© au serveur |
| RĂŽle limitĂ© de Flutter Web | Effectue uniquement le rendu UI et lâenvoi de la saisie |
| HTTPS forcĂ© | Cloudflare + Letâs Encrypt |
| Proxy Cloudflare | Masque lâIP du serveur et aide Ă se dĂ©fendre contre les DDoS |
| Restriction CORS | Bloque les requĂȘtes provenant de domaines non autorisĂ©s |
| Politique no-cache | Applique lâen-tĂȘte no-store Ă toutes les rĂ©ponses |
| TTL des messages | Suppression automatique basĂ©e sur lâheure de crĂ©ation |
| TTL des fichiers | Suppression des fichiers dans un dĂ©lai dĂ©fini aprĂšs lâupload, traitĂ©e par node-cron |
| Restriction du stockage local | Minimiser ou interdire lâusage de localStorage/cookies |
đïž Liste des fonctionnalitĂ©s
| FonctionnalitĂ© | Ătat | Description |
|---|---|---|
| đ§ UI dĂ©guisĂ©e | đą En cours dâimplĂ©mentation | DĂ©guisement en UI de calculatrice, avec condition dâentrĂ©e appliquĂ©e via le serveur |
| đ„ RĂ©ception dâinformations | đą En prĂ©paration | Annonces administrateur (lecture seule) |
| đŹ Salle de chat | đĄ PrĂ©vu | Chat de groupe anonyme (basĂ© sur TTL) |
| đ Partage de fichiers | đĄ PrĂ©vu | Partage de fichiers configurĂ©s pour suppression automatique |
| đ„ SystĂšme de suppression | đĄ PrĂ©vu | Automatisation de la suppression TTL des messages/fichiers |
đ Roadmap de dĂ©veloppement
- âïž Concevoir lâarchitecture systĂšme et Ă©tablir le modĂšle de sĂ©curitĂ©
- đ Finaliser la stack technique + dĂ©cider de la stratĂ©gie de dĂ©guisement
-
đ Acheter le domaine (
???.net) - đš Scaffold de calculatrice Flutter Web
- đš Scaffold API Express + SQLite
- đ Construire la structure de traitement serveur de la clĂ© dâentrĂ©e
- đŠ Docker + automatisation du dĂ©ploiement
- đ DĂ©ploiement VPS + intĂ©gration Cloudflare
- đ§Ș Test du MVP
- đŻ Stabilisation et distribution interne
đ Notes
- Ne jamais committer de code ou dâinformations sensibles sur GitHub.
- Le code Flutter destiné au déploiement va dans le répertoire
build/, et le code serveur sâexĂ©cute uniquement dans le conteneur Docker. - Toutes les communications API sont chiffrĂ©es en HTTPS, et les donnĂ©es utilisateur sont automatiquement dĂ©truites aprĂšs le paramĂ©trage TTL.
- Les informations sensibles comme les clĂ©s dâentrĂ©e de la calculatrice et les UUID utilisateur ne sont jamais incluses dans le frontend ; elles sont traitĂ©es uniquement Ă partir de clĂ©s de vĂ©rification privĂ©es Ă lâintĂ©rieur du serveur.
- La vĂ©rification des conditions dâentrĂ©e et lâidentification des utilisateurs sont construites comme une logique de vĂ©rification unidirectionnelle exĂ©cutĂ©e uniquement cĂŽtĂ© serveur, de sorte que mĂȘme si le code Flutter Web est exposĂ©, les informations de sĂ©curitĂ© ne sont pas rĂ©vĂ©lĂ©es Ă lâextĂ©rieur.
đ€ Note dĂ©veloppeur
Ce projet nâest pas une simple application. Je le commence avec lâidĂ©e que, pour certaines personnes, il pourrait ĂȘtre un outil de survie reliĂ© Ă la vie elle-mĂȘme.
Que la technologie ne devienne pas un outil de surveillance, mais un outil pour la liberté.
đ Journal
Pour quoi est-ce que je vis ? La richesse et lâhonneur ? Non. Ce genre de choses nâa jamais pu ĂȘtre un objectif au dĂ©part. Ce ne sont que des moyens.
Quelle vie est-ce que je veux vraiment ? ⊠Je ne saurais pas la dĂ©finir. En tout cas, il est clair quâelle appartient Ă la grande catĂ©gorie aimer Dieu / aimer son prochain.
Quoi quâil en soit, quand je vois que ce projet fait battre mon coeur et me donne une sensation dâexaltation, je pense que ce genre de chose est bien ce que je voulais le plus faire maintenant.
Alors, pour lâinstant, commençons par lĂ .
Laisser un commentaire