Feature Flags

Feature flags.
Livrez le code.
Déployez quand vous voulez.

Les feature flags Signal découplent vos déploiements de vos mises en production. Encapsulez n'importe quelle fonctionnalité dans un flag, livrez en production et décidez en temps réel qui la voit — sans toucher git, sans redéploiement, sans hotfix.

0s

temps de rollback

100%

des lectures de flags servies depuis le cache local

<50ms

propagation d'un changement de flag via WebSocket

Sans redéploiement

Activez les fonctionnalités
en production,
instantanément.

Le cycle de livraison traditionnel vous oblige à coupler un déploiement de fonctionnalité avec un déploiement de code. Le moindre problème impose un rollback d'urgence de tout le déploiement, y compris les changements sans rapport.

Avec les feature flags Signal, votre code est livré quand il est prêt. La fonctionnalité est masquée derrière un flag. Vous l'activez quand vous le souhaitez — depuis le dashboard, en quelques secondes, sans ouvrir un terminal.

Si quelque chose ne va pas, vous désactivez le flag. Vos utilisateurs voient instantanément l'ancien comportement. Pas de branche hotfix, pas de pipeline, pas de réveils à 3h du matin.

Ship code
Flag is OFF
Enable in dashboard
Users see feature
Issue detected? Flip OFF
Users revert instantly

Sync en temps réel

WS connected to signal api

> FLAG_UPDATED new-checkout

> enabled: true

> propagated in 34ms

Les changements atteignent chaque client
en millisecondes.

Signal maintient vos flags à jour en temps réel via WebSocket persistant. Dès que vous modifiez un flag dans le dashboard, chaque instance SDK connectée reçoit un événement FLAG_UPDATED — pas de cache périmé, pas de délai, pas de redéploiement.

Les transports SSE et polling arrivent, conçus pour les environnements serverless et les proxies d'entreprise. Tous livreront le même payload — changez de transport sans modifier une ligne de code applicatif.

Types de flags

Au-delà du on/off.

Signal supporte quatre types de valeurs. La même logique de ciblage et de déploiement s'applique à tous — seul le payload change.

Boolean

enabled: true | false

Le classique on/off. Idéal pour les feature gates, killswitches et fenêtres de maintenance.

String

value: "variant-a" | "variant-b"

Retournez différents textes, thèmes ou noms de variantes. Utile pour servir des variantes — l'expérimentation A/B complète avec suivi de métriques arrive avant la GA.

Number

value: 0.15

Seuils, limites, poids. Toute config numérique qui change sans déploiement.

JSON

value: { layout: "grid", cols: 3 }

Un objet de configuration complet. Remplacez des configs entières sans toucher votre codebase.

Intégration

Trois lignes de code.
Contrôle total depuis le dashboard.

1

Installez

npm install @code-signal/signal
2

Initialisez avec votre clé API

const signal = new Signal({ apiKey: 'sig_live_...' })
3

Lisez la valeur du flag

const { enabled } = signal.flag('nouveau-checkout')

FAQ

Questions fréquentes.

Quelle est la différence entre Signal et une variable d'environnement ?
Les variables d'environnement nécessitent un redéploiement pour changer. Les flags Signal se mettent à jour en temps réel — les changements se propagent à chaque client connecté en millisecondes, sans redémarrer votre serveur ni redéployer votre frontend.
Puis-je utiliser les flags Signal côté serveur ?
Oui. Le SDK Signal fonctionne dans Node.js, Next.js (App Router et Pages), et tout serveur TypeScript. L'évaluation côté serveur utilise un cache local mis à jour via WebSocket, donc les lectures de flags sont synchrones avec une latence nulle.
Que se passe-t-il si l'API Signal est inaccessible ?
Le SDK revient au dernier état connu stocké dans son cache local. Vous définissez des valeurs par défaut à l'initialisation — votre application ne plante jamais à cause d'un problème réseau.
Y a-t-il une limite au nombre de flags ?
Non. Pendant la bêta, tous les plans incluent des feature flags illimités pour tous les types de valeurs.

Rejoindre la liste

Livrez votre prochaine fonctionnalité
en toute confiance.

Rejoignez la liste d'attente. Nous vous contacterons personnellement avant l'ouverture.

Pas de spam. Un seul e-mail à l'ouverture.