2025.04.01 (Mar)
2025.04.02 (Mer) mis Ă  jour

✹ 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 boutons sous 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/:id ou /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