Retour aux projets Application Web

QuickShare Chat

Outil de sessions éphémères auto-hébergeable pour collaborer en temps réel

2025
Projet continu
Projet personnel

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

5 Go
Quota par session
7 j
Durée de vie session
500 Mo
Max par fichier
Participants simultanés