Le premier réseau social français et souverain
Conçu en France, hébergé en France, pour les Français.
@imbiston Fondateur & Dev |
@youtsuhodev Fondateur & Lead Dev |
À l'origine une application de messagerie, Wouaff se transforme en réseau social souverain, sans équivalent en France. Nos engagements sont clairs :
- 🇫🇷 Hébergement 100 % français — toutes les données restent sur le territoire national.
- ⚖️ RGPD & lois européennes — le droit français et européen s'appliquent, sans compromis.
- 🔒 Politique zéro log — nous ne traçons pas votre activité.
Le projet suit une approche « privacy by design » : la souveraineté numérique n'est pas une option, c'est le socle du produit.
- 🏠 Page d'accueil façon réseau social (Twitter / Instagram / Mastodon) : fil d'actualité, boîte de publication, tendances en France, suggestions de comptes.
- 🔐 Connexion & inscription — email, mot de passe sécurisé, vérification d'email.
- 🎨 Thèmes clair / sombre.
- 📱 Cross-platform : Web (PWA), Desktop (Electron), Mobile (PWA).
- 💬 Messagerie — réintégrée au réseau social, comme sur Instagram ou Twitter (actuellement accessible sur
/chat). - 📡 Fil d'actualité connecté au backend — le front-end est en place, le back-end arrive.
- 📞 Appels, stories, groupes, etc.
| Couche | Technologies |
|---|---|
| Frontend | React 18, TypeScript, Vite, Tailwind CSS |
| Backend | Express 4, Socket.IO, MySQL (mysql2) |
| Desktop | Electron 33, electron-builder |
| Security | ECDH + AES-256-GCM (E2EE), bcrypt, sessions httpOnly |
| Real-time | Socket.IO (messagerie, appels, typing, présence) |
- Node.js 18+
- MySQL 8+
- npm (ou pnpm)
# Cloner le dépôt
git clone https://github.com/ton-username/wouaff.git
cd wouaff
# Installer les dépendances
cd client && npm install
cd ../server && npm install
cd ..
# Configurer l'environnement
cp server/.env.example server/.env
cp client/.env.example client/.env
# Éditez les fichiers .env avec votre configuration
# Lancer les migrations DB (auto au démarrage du server)
cd server && npm run dev# Terminal 1 — Serveur
cd server
npm run dev
# Terminal 2 — Client
cd client
npm run devLe client tourne sur http://localhost:5173 et proxyfie les requêtes API vers le serveur sur http://localhost:7284. Une fois connecté, vous arrivez sur la page d'accueil ; l'ancienne messagerie reste accessible sur /chat.
cd client && npm run build
cd ../server && npm run build
cd ..
npm run start:prodcd client
npm run electron:dev # Mode développement
npm run electron:build # Build production (Windows/Mac/Linux)wouaff/
├── client/ # React SPA (Vite + TypeScript)
│ ├── src/
│ │ ├── components/ # UI components
│ │ │ ├── Home/ # Page d'accueil (fil social)
│ │ │ ├── Auth/ # Connexion / inscription
│ │ │ ├── Chat/ # Messagerie (à réintégrer)
│ │ │ └── ...
│ │ ├── data/ # Données de démonstration (tendances, suggestions)
│ │ ├── hooks/ # React contexts (Auth, Call, Theme)
│ │ ├── pages/ # Route pages
│ │ ├── services/ # API client, Socket.IO, E2EE, WebRTC
│ │ ├── types/ # TypeScript definitions
│ │ └── utils/ # Helpers
│ └── electron/ # Electron main process
├── server/ # Express API (TypeScript)
│ ├── src/
│ │ ├── config/ # Database, migrations
│ │ ├── middleware/ # Auth, rate limit, error handling
│ │ ├── routes/ # REST API endpoints
│ │ ├── services/ # Business logic, storage
│ │ ├── socket/ # Socket.IO server
│ │ └── types/ # TypeScript definitions
│ └── migrations/ # SQL migration files
└── docs/ # Documentation
- 🔒 E2EE : Messages chiffrés côté client avec échange de clés ECDH et AES-256-GCM.
- 🍪 Auth par session : cookies httpOnly, aucun JWT exposé au JavaScript.
- 🚦 Rate limiting : protection par endpoint contre les abus.
- 🧼 Prévention XSS : sanitization HTML sur le contenu affiché.
- 🛡️ CSRF : cookies SameSite.
- 🕵️ Zéro log : aucune donnée d'activité n'est conservée ni partagée.
Voir CONTRIBUTING.md.
Wouaff License — Autorisé pour contributions et améliorations uniquement. Redistribution sous un autre nom ou branding interdite.
Fait avec ❤️ en France · wouaff.app

