Aperçu du projet
QuickShare Chat est un outil de sessions collaboratives éphémères que j'ai développé
pour permettre une collaboration rapide et temporaire sans inscription ni données
personnelles.
L'application propose un ensemble complet d'outils de collaboration : un mini tableur,
un espace de dessin, un système de partage de fichiers avec quota de 5 Go, un chat en
temps réel et un éditeur de texte collaboratif. Tout est synchronisé instantanément
via Socket.IO.
Le défi
Temps réel
Synchronisation instantanée entre tous les participants d'une session
Auto-hébergeable
Conçu pour être déployé sur son propre serveur, en toute confidentialité
Éphémère
Sessions temporaires avec nettoyage automatique après expiration
Multi-outils
Tableur, dessin, fichiers, chat et texte dans une seule interface
La solution
J'ai construit une architecture moderne et légère avec une stack JavaScript full-stack :
-
Node.js + Express comme serveur backend, gérant les API REST
et le routing des fichiers statiques
-
Socket.IO pour la communication bidirectionnelle en temps réel,
synchronisant toutes les actions entre les participants
-
Multer pour la gestion des uploads de fichiers avec validation
et contrôle de quota
-
Docker pour un déploiement simplifié et reproductible sur
n'importe quel serveur
-
Nginx en reverse proxy pour servir l'application sous un
sous-chemin avec certificat SSL
Fonctionnalités clés
Ce qui rend QuickShare Chat unique :
-
Mini tableur collaboratif — Grille de cellules
éditables synchronisées en temps réel
-
Espace de dessin — Canvas partagé avec outils de
dessin, undo et effacement
-
Partage de fichiers — Upload jusqu'à 500 Mo par fichier,
quota de 5 Go par session
-
Chat temps réel — Messages instantanés avec possibilité
d'attacher des fichiers
-
Éditeur de texte — Zone de texte collaborative
synchronisée (jusqu'à 256 Ko)
-
Sessions publiques/privées — Choix de visibilité
pour chaque session
-
Indicateur de présence — Voir qui est connecté
à la session en temps réel
-
Zéro inscription — Aucune donnée personnelle requise,
collaboration anonyme
Caractéristiques techniques
∞
Participants simultanés