ForHosting KIT · Outils pour développeurs

Calculez une tranche stable de déploiement progressif

Un déploiement en pourcentage n’est utile que si une même personne reçoit toujours la même décision.

● BetaGratuit · dans votre navigateur
Utilisez-le depuis WebAPIE-mailTelegramApp bientôt

Ce calculateur transforme l’identifiant stable d’un utilisateur, d’un compte, d’un appareil ou d’un locataire en l’une des 10,000 tranches déterministes, puis la compare au pourcentage demandé. Il renvoie le hash non signé, la tranche en pourcentage lisible et la décision finale d’inclusion. Aucune valeur aléatoire, horloge, requête réseau ou affectation enregistrée n’influence le résultat : des entrées identiques produisent donc toujours la même sortie.

Choisissez un identifiant représentant le sujet du déploiement

Commencez par un identifiant stable, unique au niveau auquel la fonctionnalité doit être attribuée et disponible partout où la décision est prise. Un ID utilisateur convient à une expérience d’interface individuelle, tandis qu’un ID de compte ou de locataire est généralement préférable lorsque tous les membres d’une organisation doivent observer le même comportement. Les identifiants d’appareil peuvent convenir aux expériences anonymes, mais l’effacement du stockage local risque de modifier l’affectation. Le calculateur considère l’identifiant comme un texte exact : la casse, les espaces, la ponctuation et les caractères Unicode participent tous au hash. Normalisez donc les identifiants avant l’appel si plusieurs systèmes sont susceptibles de les représenter différemment. Décidez, par exemple, si les identifiants ressemblant à des adresses électroniques passent en minuscules, si les ID numériques comportent des zéros initiaux et si une portée telle que production ou préproduction fait partie de la valeur. N’utilisez pas une donnée de profil modifiable, comme le nom affiché. Une fois la convention choisie, conservez-la, car toute modification de l’identifiant change également la tranche.

Comprenez le calcul déterministe de la tranche

La capacité encode l’identifiant en UTF-8 et applique l’algorithme de hash FNV-1a sur 32 bits. Le hash non signé est ramené à l’une des 10,000 tranches en points de base, affichée sous forme d’un nombre compris entre 0 et 99.99. Un sujet est inclus lorsque sa tranche est strictement inférieure au pourcentage demandé multiplié par 100. Cette règle de frontière garantit des extrêmes utiles : zéro pour cent n’inclut personne et cent pour cent inclut tout le monde. Elle permet aussi des évolutions de 0.01 point de pourcentage. Puisque le processus n’emploie ni graine aléatoire, ni temps, ni stockage, ni accès réseau, le même identifiant et le même pourcentage donnent toujours la même réponse. Une hausse du pourcentage conserve tous les sujets déjà inclus et ajoute les identifiants des tranches suivantes ; une baisse retire ceux de la partie supérieure. Ce hash convient à une affectation opérationnelle, mais pas à la sécurité cryptographique. Ne considérez pas sa valeur comme secrète et ne l’utilisez ni pour masquer des identifiants ni pour autoriser un accès.

Intégrez prudemment le résultat à votre processus de livraison

Utilisez le booléen d’inclusion comme l’un des critères de livraison de la fonctionnalité, avec des règles d’éligibilité explicites, des contrôles d’environnement et des dérogations d’urgence. Un service classique exclut d’abord les offres ou régions non prises en charge, puis calcule l’affectation en pourcentage pour le public restant. Enregistrez la configuration du déploiement plutôt qu’une affectation aléatoire distincte par utilisateur, puisque le calcul déterministe peut recréer la décision à tout moment. Avant d’élargir l’exposition, comparez les indicateurs techniques et commerciaux des cohortes éligibles et préparez une désactivation globale rapide. Si plusieurs fonctionnalités indépendantes emploient uniquement le même identifiant, l’ordre de leurs tranches sera corrélé ; ajoutez une clé de fonctionnalité stable, par exemple son nom, un séparateur et l’ID utilisateur, lorsque chaque déploiement nécessite son propre public. Conservez cette clé pendant toute la durée du déploiement. Le point d’accès rejette les pourcentages inférieurs à zéro ou supérieurs à cent au lieu de les borner silencieusement, ce qui rend les erreurs de configuration visibles. Chaque appel coûte $0.002 ; la version navigateur exécute le même calcul pur.

Échelonner une mise en production

Exposez une nouvelle fonctionnalité à une fraction stable du public éligible, puis augmentez le pourcentage sans réaffecter les personnes déjà incluses.

Garantir la cohérence par locataire

Hachez un identifiant de compte ou de locataire afin que tous les membres d’une organisation reçoivent la même décision.

Auditer la configuration du déploiement

Recalculez la tranche d’un utilisateur signalé afin d’expliquer si un seuil donné devait l’inclure.

Le même identifiant recevra-t-il toujours le même résultat ?

Oui. Un texte d’identifiant et un pourcentage identiques produisent la même sortie, car l’algorithme n’utilise ni hasard, ni date, ni réseau, ni état enregistré.

Que se passe-t-il à zéro et cent pour cent ?

Zéro pour cent n’inclut aucun identifiant, tandis que cent pour cent inclut tous les identifiants valides.

Puis-je élargir un déploiement sans réaffecter les utilisateurs ?

Oui. Le relèvement du seuil conserve toutes les tranches déjà incluses et ajoute celles du nouvel intervalle.

Le hash offre-t-il une sécurité cryptographique ?

Non. FNV-1a est un hash rapide de distribution déterministe. Il ne doit servir ni aux mots de passe, ni aux autorisations, ni au secret, ni à l’anonymisation.

Comment rendre indépendants les déploiements de plusieurs fonctions ?

Ajoutez une clé de fonctionnalité stable et un séparateur avant ou après l’identifiant, puis conservez cette convention.

Quel est le prix d’un appel API ?

Chaque requête coûte $0.002. Le calculateur du navigateur effectue localement le même calcul déterministe.

Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.

POSThttps://api.kit.forhosting.com/dev/feature-toggle-rollout-percent

Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.

curl -X POST https://api.kit.forhosting.com/dev/feature-toggle-rollout-percent \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"identifier":"user_48291","rollout_percentage":25}'
{
  "identifier": "user_48291",
  "rollout_percentage": 25
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev.feature_toggle_rollout_percent",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.

par requête$0.002

Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.

HTTPCodeSignification
401unauthorizedClé API absente ou invalide : vérifiez l’en-tête Authorization.
402insufficient_balanceSolde insuffisant : rechargez votre compte pour lancer cette tâche.
404unknown_typeType de tâche inconnu : vérifiez le champ type de votre requête.
429rate_limitedTrop de requêtes : ralentissez la cadence, puis réessayez.

Consulter la documentation complète du KIT →