Logo Centrifugo

Développement

Centrifugo

Centrifugo — temps réel sur votre VPS : WebSocket, API de publication, jetons JWT et console d'administration protégée, sans service tiers.

À propos de Centrifugo

Centrifugo est un serveur de messagerie temps réel open source (licence Apache-2.0), écrit en Go. Il prend en charge la partie la plus pénible du temps réel : garder ouvertes des milliers de connexions WebSocket, et livrer à chacune les messages qui la concernent. Votre application, elle, reste en PHP, Python, Node.js, Go ou Ruby, et ne fait qu'un appel HTTP pour publier.

Le principe est simple. Votre backend signe un jeton JWT pour chaque utilisateur ; le navigateur ou l'application mobile s'en sert pour ouvrir une connexion sur `wss://votre-domaine/connection/websocket`. Quand quelque chose se passe — une commande payée, un message de chat, une alerte — votre backend appelle l'API `/api/publish` avec sa clé, et Centrifugo pousse le message à tous les abonnés du canal. C'est une alternative auto-hébergée à Pusher, Ably ou PubNub, sans facturation au message.

Ce qui est installé

Prêt au démarrage du VPS

OS compatibles
Distributions Linux au choix
Application
Centrifugo
Stack technique
DockerGoCentrifugo
RAM minimum
1 Go minimum
CPU minimum
1 vCPU
Port par défaut
8113
Accès
root par SSH

Fonctionnalités clés

  • Connexions temps réel — WebSocket, avec des SDK clients officiels pour JavaScript, Dart/Flutter, Swift, Java/Android, Go et Python.
  • API de publication — un appel HTTP avec l'en-tête X-API-Key suffit pour envoyer un message à un canal, depuis n'importe quel langage.
  • Authentification par jeton — votre backend signe des JWT (HS256) ; une connexion sans jeton valide est refusée.
  • Canaux et abonnements côté serveur — la liste des canaux d'un utilisateur peut être portée par son jeton, sans code client supplémentaire.
  • Console d'administration — état du nœud, nombre de clients connectés et envoi de commandes d'API depuis le navigateur, protégée par mot de passe.
  • Léger — un binaire Go unique, quelques dizaines de Mo de RAM au repos.

Quand utiliser cette solution ?

Notifications en direct

Prévenez un client dès que sa commande est payée ou que son ticket reçoit une réponse, sans qu'il recharge la page.

Chat et commentaires en temps réel

Ajoutez une messagerie ou des commentaires instantanés à votre application web ou mobile ; votre backend garde la logique et la base de données.

Tableaux de bord qui se mettent à jour seuls

Poussez des compteurs, des statuts de livraison ou des cours vers les écrans ouverts, au lieu de les interroger toutes les secondes.

Guide

Déployer Centrifugo sur votre VPS

  1. Créer le VPS et choisir l'adresse

    Commandez un VPS Ubuntu 24.04 ; 1 Go de RAM suffit pour démarrer. Centrifugo exige un domaine : les navigateurs s'y connectent en wss:// et votre backend appelle son API en HTTPS, sur un nom stable. Il s'ouvre sur un sous-domaine de l'un de vos domaines, ou sur le sous-domaine gratuit du VPS (centrifugo.{dns_slug}.servorbit-dns.com), HTTPS compris. Inutile d'acheter un nom de domaine.

  2. Installer Centrifugo depuis le Marketplace

    Dans votre espace client, sélectionnez Centrifugo, choisissez l'adresse et cliquez sur Installer. Le script déploie le conteneur officiel, génère le mot de passe de la console, la clé de l'API serveur et la clé de signature des jetons, puis configure le reverse proxy nginx en HTTPS, WebSocket compris.

  3. Se connecter la première fois

    Ouvrez https://votre-domaine : la console d'administration demande un mot de passe. Saisissez celui affiché dans votre espace client. La page d'accueil indique la version du nœud et le nombre de clients connectés.

  4. Récupérer les clés de votre backend

    Connectez-vous au VPS en SSH et lisez /opt/centrifugo/.env : ENCRYPTION_KEY est la clé de l'API serveur (en-tête X-API-Key) et ENCRYPTION_KEY_HEX64 la clé HMAC qui signe les jetons de connexion. Rangez-les dans les secrets de votre application, jamais dans le code envoyé au navigateur.

  5. Publier et connecter vos clients

    Votre backend signe un JWT HS256 (sub = identifiant de l'utilisateur, channels = canaux à suivre) et le remet au navigateur, qui se connecte avec le SDK centrifuge sur wss://votre-domaine/connection/websocket. Ajoutez l'origine de votre site à CENTRIFUGO_CLIENT_ALLOWED_ORIGINS dans /opt/centrifugo/docker-compose.yml, relancez avec docker compose up -d, puis publiez avec un POST sur https://votre-domaine/api/publish.

Questions fréquentes

Questions sur Centrifugo

← Retour à DéveloppementToutes les applications
Le service rendu est le même : votre backend publie, les navigateurs abonnés reçoivent le message en direct. Pusher et Ably sont des services hébergés facturés au nombre de connexions et de messages ; Centrifugo tourne sur votre VPS, sans facturation au message, et vos données ne quittent pas votre serveur. En contrepartie, l'exploitation du serveur est à votre charge.

Intégrer le bouton de déploiement

Vous maintenez un projet qui utilise Centrifugo ? Ce bouton permet à vos lecteurs de le déployer sur un VPS en un clic, sans lire de documentation Docker.

Deploy Centrifugo on ServOrbit
Markdown
[![Deploy Centrifugo on ServOrbit](https://servorbit.com/brand/deploy/button.svg)](https://servorbit.com/vps-cloud?template=centrifugo&utm_source=deploy-badge&utm_medium=referral&utm_campaign=centrifugo)
HTML
<a href="https://servorbit.com/vps-cloud?template=centrifugo&utm_source=deploy-badge&utm_medium=referral&utm_campaign=centrifugo"><img src="https://servorbit.com/brand/deploy/button.svg" alt="Deploy Centrifugo on ServOrbit" height="40"></a>

Le bouton pointe vers la commande d'un VPS avec le template présélectionné. L'image est servie depuis servorbit.com — rien à héberger de votre côté.

Besoin d'aide ?

Parcourez notre centre d'aide et notre FAQ, ou contactez notre équipe — rappel, WhatsApp ou e-mail.

Écrire sur WhatsApps'ouvre dans un nouvel onglet