[{"data":1,"prerenderedAt":116},["ShallowReactive",2],{"seo-verification":3,"marketplace-app-fr-centrifugo":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"marketplace-app-fr-centrifugo",{"slug":9,"slugs":10,"categorySlugs":11,"name":16,"description":17,"phase":18,"unavailableReason":19,"docsUrl":20,"logo":21,"github":22,"tagline":23,"longDescription":24,"features":25,"useCases":32,"steps":42,"faq":58,"specs":71,"compatibleOs":82,"relatedApps":83,"relatedPosts":109,"category":113},"centrifugo",{"fr":9,"en":9,"ar":9,"es":9},{"fr":12,"en":13,"ar":14,"es":15},"developpement","development","التطوير","desarrollo","Centrifugo","Serveur de messagerie temps réel open source : WebSocket et API de publication pour vos applications, sur votre VPS.",2,"awaiting_qa","https:\u002F\u002Fservorbit.com\u002Fblog\u002Fself-host-centrifugo-vps","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F6236442?v=4","https:\u002F\u002Fgithub.com\u002Fcentrifugal\u002Fcentrifugo","Centrifugo — temps réel sur votre VPS : WebSocket, API de publication, jetons JWT et console d'administration protégée, sans service tiers.","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.\n\nLe 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:\u002F\u002Fvotre-domaine\u002Fconnection\u002Fwebsocket`. Quand quelque chose se passe — une commande payée, un message de chat, une alerte — votre backend appelle l'API `\u002Fapi\u002Fpublish` 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.",[26,27,28,29,30,31],"Connexions temps réel — WebSocket, avec des SDK clients officiels pour JavaScript, Dart\u002FFlutter, Swift, Java\u002FAndroid, 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.",[33,36,39],{"title":34,"body":35},"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.",{"title":37,"body":38},"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.",{"title":40,"body":41},"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.",[43,46,49,52,55],{"title":44,"body":45},"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:\u002F\u002F` 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.",{"title":47,"body":48},"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.",{"title":50,"body":51},"Se connecter la première fois","Ouvrez https:\u002F\u002Fvotre-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.",{"title":53,"body":54},"Récupérer les clés de votre backend","Connectez-vous au VPS en SSH et lisez `\u002Fopt\u002Fcentrifugo\u002F.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.",{"title":56,"body":57},"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:\u002F\u002Fvotre-domaine\u002Fconnection\u002Fwebsocket`. Ajoutez l'origine de votre site à `CENTRIFUGO_CLIENT_ALLOWED_ORIGINS` dans `\u002Fopt\u002Fcentrifugo\u002Fdocker-compose.yml`, relancez avec `docker compose up -d`, puis publiez avec un POST sur `https:\u002F\u002Fvotre-domaine\u002Fapi\u002Fpublish`.",[59,62,65,68],{"q":60,"a":61},"Quelle différence entre Centrifugo et Pusher ou Ably ?","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.",{"q":63,"a":64},"Faut-il un nom de domaine pour Centrifugo ?","Oui. Les navigateurs s'y connectent en wss:\u002F\u002F et votre backend appelle son API en HTTPS : Centrifugo doit répondre sur un nom stable avec un certificat. Inutile d'en acheter un : chaque VPS ServOrbit dispose d'un sous-domaine gratuit (centrifugo.{dns_slug}.servorbit-dns.com) avec HTTPS. Vous pouvez aussi utiliser un sous-domaine de l'un de vos domaines.",{"q":66,"a":67},"Comment me connecter la première fois ?","Ouvrez https:\u002F\u002Fvotre-domaine et saisissez le mot de passe affiché dans votre espace client : la console d'administration ne demande pas d'identifiant. La clé de l'API serveur et la clé de signature des jetons se lisent dans \u002Fopt\u002Fcentrifugo\u002F.env (ENCRYPTION_KEY et ENCRYPTION_KEY_HEX64).",{"q":69,"a":70},"Pourquoi mon site n'arrive-t-il pas à se connecter ?","Par défaut, Centrifugo refuse toute connexion de navigateur dont l'origine n'est pas autorisée. Ajoutez l'adresse de votre site, par exemple https:\u002F\u002Fapp.exemple.ma, à CENTRIFUGO_CLIENT_ALLOWED_ORIGINS dans \u002Fopt\u002Fcentrifugo\u002Fdocker-compose.yml, puis relancez avec docker compose up -d. Vérifiez aussi que le jeton est signé avec ENCRYPTION_KEY_HEX64 et qu'il n'a pas expiré.",{"ram":72,"cpu":73,"disk":74,"stack":75,"port":78,"license":79,"version":80,"os":81},"1 Go minimum","1 vCPU","10 Go",[76,77,16],"Docker","Go","8113","Apache-2.0","v6.10.2","Ubuntu 24.04",[],[84,92,101],{"name":85,"slug":85,"categorySlug":86,"categoryName":87,"categoryColor":88,"logo":89,"tagline":90,"description":91},"ntfy","monitoring","Monitoring & Observabilité","text-amber-400 bg-amber-500\u002F10",null,"Serveur de notifications push auto-hébergé : un simple PUT ou POST HTTP alerte votre téléphone depuis un script, un pipeline CI\u002FCD ou un outil de supervision.","Serveur de notifications push self-hosted : envoyez une alerte depuis n'importe quel script, pipeline CI\u002FCD ou outil de monitoring avec un simple appel HTTP — sans API key, sans abonnement.",{"name":93,"slug":94,"categorySlug":95,"categoryName":96,"categoryColor":97,"logo":98,"tagline":99,"description":100},"Redis Stack","redis-stack","bases-de-donnees","Bases de Données","text-blue-400 bg-blue-500\u002F10","https:\u002F\u002Fcdn.simpleicons.org\u002Fredis","Stockage en mémoire — cache, sessions, files d'attente et structures de données temps réel.","Stockage en mémoire pour le cache, les sessions, les queues et les structures de données en temps réel.",{"name":102,"slug":103,"categorySlug":12,"categoryName":104,"categoryColor":105,"logo":106,"tagline":107,"description":108},"Supabase","supabase","Développement","text-warning bg-warning\u002F10","https:\u002F\u002Fcdn.jsdelivr.net\u002Fgh\u002Fselfhst\u002Ficons\u002Fsvg\u002Fsupabase.svg","L'alternative open source à Firebase : une base PostgreSQL complète avec API instantanées, authentification et tableau de bord, depuis la pile officielle Supabase.","Alternative open source à Firebase, auto-hébergée : une base PostgreSQL complète avec API REST instantanées, authentification et tableau de bord Studio, déployée depuis la pile Docker officielle de Supabase.",[110,111,112],"self-host-ntfy-vps","heberger-redis-vps","heberger-supabase-vps",{"key":12,"slug":12,"name":104,"objective":114,"icon":115,"color":105},"Démarrer rapidement un projet logiciel.","dev",1794101534427]