PlaceCommune
Plateforme SaaS de participation citoyenne : sondages, forums et événements auxquels on répond sans créer de compte, hébergés en France.
Le projet
PlaceCommune est un produit interne NuCom : une plateforme SaaS multi-tenant de participation citoyenne. Une organisation crée un espace, y publie une consultation, partage un lien — et les citoyens répondent sans créer de compte, une seule fois chacun.
Elle est née de l'application de campagne municipale [Nouvelle Ère](/portfolio/nouvelle-ere), découplée de son client historique pour servir n'importe quelle organisation : commune, entreprise, association, école, collectif, administration.
En ligne
Le produit, la démonstration et la tarification : [placecommune.app](https://www.placecommune.app).
Ce qui a été construit
- Trois outils, un même lien de partage — sondage, forum et événement, publiés sous un jeton d'accès opaque de 24 caractères : aucun identifiant interne dans l'URL, aucun lien énumérable.
- Participation sans compte, dédoublonnée — l'identifiant de participant est dérivé par outil (HMAC-SHA256), ce qui empêche de recouper les réponses d'une même personne entre deux consultations.
- Urne mixte — une consultation protégée par code peut accepter les réponses de qui n'en a pas : elles sont comptées à part plutôt qu'écartées en silence.
- Restitution — une promesse datée annoncée *avant* la première réponse, puis la décision et son motif, publiés. C'est ce qui distingue une consultation d'un sondage sans suite.
- Isolation par Row-Level Security — l'autorisation vit dans Postgres, dans trois fonctions SQL, et non dans le code applicatif. Deux rôles d'espace (gestionnaire, lecteur), couverts par des tests d'isolation dédiés.
- RGPD côté utilisateur — export et effacement du compte depuis le profil, inventaire des cookies lu depuis le code plutôt que rédigé à la main : la page ne peut pas dériver de la réalité.
- Accessibilité RGAA tenue par la charte — anneau de focus visible partout, jamais la couleur seule pour porter une information, jetons de design imposés.
Souveraineté
Données, identités et polices vivent chez Scaleway (Paris). Aucun service Google dans la chaîne : Firebase a été retiré et l'authentification stocke sessions et mots de passe dans la même base Postgres. Motif assumé : le CLOUD Act disqualifie une plateforme sur les marchés publics qui visent SecNumCloud.
Ampleur du code
~40 pages · 30 routes API · ~79 composants · ~36 000 lignes de TypeScript.
Stack
Next.js 16 · React 19 · TypeScript · Tailwind 4 · Radix UI · PostgreSQL + Drizzle · better-auth · Stripe · Scaleway Serverless Containers.