12 août 2025·8 min de lecture

Bases du provisioning SCIM : flux, champs et tests sécurisés

Notions de base du provisioning SCIM pour synchroniser les utilisateurs avec votre fournisseur d'identité : flux de création, mise à jour, désactivation, champs requis et étapes de test sécurisées.

Bases du provisioning SCIM : flux, champs et tests sécurisés

Ce qu'est le provisioning SCIM et pourquoi les équipes l'utilisent

Le provisioning SCIM résout un problème simple et pénible : la liste de personnes qui peuvent accéder à une application cesse peu à peu de correspondre à celle de votre fournisseur d'identité (IdP). Quelqu'un est embauché, change de nom, change d'équipe ou part, et l'application ne reflète pas toujours ce changement immédiatement.

Le provisioning signifie que l'IdP pousse automatiquement les changements d'utilisateurs vers l'application. Plutôt qu'un administrateur n'invite manuellement les utilisateurs, mette à jour des profils et retire des accès, les changements démarrent dans l'IdP et l'application s'aligne.

Quand les invitations et le offboarding sont manuels, les mêmes échecs reviennent sans cesse. Les nouvelles recrues attendent l'accès parce que quelqu'un a oublié une invitation. D'anciens employés conservent l'accès parce que le offboarding a été manqué. Noms, emails et départements dérivent entre les outils. Les audits deviennent plus difficiles car on ne peut pas faire confiance à la liste d'utilisateurs de l'application. Les tickets de support s'accumulent (impossible de se connecter, mauvais accès, anciennes données visibles).

SCIM est adapté quand vous avez besoin d'un contrôle fiable du cycle de vie des utilisateurs à l'échelle, en particulier pour les outils internes, panneaux d'administration et portails clients où l'accès doit refléter les décisions RH et IT.

Le SSO seul n'est généralement pas suffisant. Le SSO répond à « comment un utilisateur se connecte ? » SCIM répond à « cet utilisateur doit-il exister dans l'application, et à quoi doit ressembler son compte maintenant ? »

L'idée centrale : une source de vérité pour les utilisateurs

Commencez par une règle : choisissez un système unique qui est « correct » concernant qui est un utilisateur et ce à quoi il a droit. Dans la plupart des entreprises, ce système est l'IdP (Okta, Azure AD, Google Workspace).

L'IdP est l'endroit où les personnes sont créées, désactivées et affectées à des groupes. Le service provider (SP) est l'application qui reçoit ces décisions et les applique dans sa propre base d'utilisateurs. Cela peut être un produit SaaS ou une application interne personnalisée que vous avez développée.

Une fois l'IdP choisi comme source de vérité, l'application ne devrait pas contester ses décisions. Si un administrateur désactive un utilisateur dans l'IdP, l'application doit considérer cet utilisateur comme désactivé même si quelqu'un tente de le réactiver localement. La même logique s'applique à l'appartenance aux groupes quand les groupes pilotent l'accès.

Le provisioning est généralement basé sur du push : l'IdP envoie les changements à l'application au moment où quelque chose se produit. C'est différent de la synchronisation par pull, où l'application interroge périodiquement ce qui a changé. Le push est plus rapide et plus clair, mais les erreurs peuvent prendre effet immédiatement, donc les valeurs par défaut et les règles de correspondance comptent.

La plupart des activités sont pilotées par des événements RH et IT normaux : nouvelles embauches, changements de rôle, congés et fins de contrat. Si vous gardez le statut et les affectations de groupe contrôlés dans l'IdP, vous réduisez les doublons, les comptes « fantômes » et les ruptures d'accès de dernière minute quand quelqu'un change d'équipe.

Flux du cycle de vie utilisateur : création, mise à jour, désactivation

La plupart des configurations de provisioning se résument à une promesse : l'IdP dit à votre application qui existe et si cette personne doit pouvoir se connecter. Votre application doit gérer quelques états de cycle de vie de façon cohérente.

Les trois états qui comptent

La plupart des équipes réfléchissent en trois états :

  • Actif : l'utilisateur peut s'authentifier et utiliser le produit.
  • Inactif (désactivé) : le compte existe toujours, mais l'accès est bloqué.
  • Supprimé : l'enregistrement est supprimé (beaucoup d'applications évitent les suppressions définitives et traitent cela comme un inactif).

La création survient en général lorsqu'un administrateur affecte l'application à une personne dans l'IdP, ou lorsqu'elle rejoint un groupe synchronisé. Votre endpoint SCIM doit stocker ce qu'il faut pour retrouver cette personne plus tard : un identifiant unique stable provenant de l'IdP (souvent le id SCIM), plus une valeur de connexion (généralement userName). Si votre application exige un email, rendez cela explicite dans le mapping pour que la création ne faille pas en cours de route.

La mise à jour se produit quand l'IdP change un champ de profil ou une affectation. Appliquez les changements aux champs d'identité et de communication (nom, email, département) sans modifier l'accès de manière inattendue. Le champ le plus sensible est l'identifiant de connexion. Si userName peut changer, vous devez tout de même faire correspondre la même personne à l'aide d'un identifiant immuable. Sinon, vous créerez des doublons.

La désactivation doit bloquer l'accès rapidement sans perdre les données métier. L'IdP met généralement active=false. Votre application doit traiter cela comme « ne peut pas se connecter, pas d'accès à l'API », tout en préservant les enregistrements possédés, l'historique d'audit et les références.

La réactivation est l'inverse. active=true doit restaurer l'accès pour le même compte, pas en créer un nouveau. Si l'IdP considère que c'est la même personne, votre application doit en faire autant, même si l'email ou le nom d'affichage ont changé pendant son absence.

Champs requis et mappage d'attributs pour éviter les surprises

Le provisioning fonctionne quand l'application et l'IdP s'accordent sur deux points : comment identifier un utilisateur, et quels attributs l'IdP est autorisé à écraser.

Le minimum généralement nécessaire

SCIM est flexible, mais la plupart des applications finissent par s'appuyer sur les mêmes attributs de base :

  • Un identifiant unique stable (la ressource SCIM id, souvent associée à externalId fourni par l'IdP)
  • Email ou nom d'utilisateur (généralement userName, souvent utilisé pour la connexion)
  • Nom (soit name.givenName et name.familyName, soit displayName)
  • Statut actif (active: true/false)
  • Horodatages ou métadonnées (optionnels, mais utiles pour les audits et le débogage)

L'identifiant est le détail clé. L'email semble unique, mais il change. Si vous associez les utilisateurs uniquement par email et que quelqu'un est renommé (mariage, rebranding, migration de domaine), l'IdP peut apparaître comme créant une nouvelle personne au lieu de mettre à jour l'ancienne. C'est une voie fréquente vers les doublons.

Décidez ce que l'IdP peut écraser

Choisissez une règle claire : quels champs sont contrôlés par l'IdP (l'IdP gagne toujours) et quels champs sont contrôlés par l'application (l'application peut les changer sans qu'ils soient écrasés).

Une répartition courante et sûre :

  • Contrôlés par l'IdP : active, email/nom d'utilisateur, prénom et nom de famille, displayName
  • Contrôlés par l'application : champs de profil spécifiques à l'application (préférences, notes internes)

Si votre application permet aux utilisateurs d'éditer leur nom, décidez si ces modifications doivent persister ou être remplacées par la prochaine mise à jour SCIM. Les deux choix peuvent fonctionner. Le problème vient quand c'est imprévisible.

Gérer les données manquantes ou imparfaites

Attendez-vous à des champs vides et des formats incohérents. Certains annuaires n'envoient que displayName. D'autres envoient prénom et nom mais pas de displayName. Une solution pratique consiste à construire displayName à partir du prénom et du nom de famille quand nécessaire, et à gérer gracieusement l'absence d'un nom de famille.

Validez les champs critiques. Si userName est vide, ou n'est pas un email alors que votre connexion l'exige, rejetez la requête avec une erreur claire et consignez-la. Créer silencieusement un utilisateur qui ne peut pas se connecter se transforme en panne lente.

Comment les comptes sont appariés et pourquoi des doublons apparaissent

Gérer correctement les départs
Ajoutez des comportements sûrs de désactivation et réactivation sans supprimer les données métier.
Commencer

Un « appariement » survient quand l'IdP et votre application conviennent que deux enregistrements représentent la même personne. La plupart des problèmes de provisioning viennent du choix des champs que votre application utilise pour trouver un utilisateur existant quand l'IdP envoie une mise à jour.

Sur quoi faut-il se baser pour l'appariement

Appariez d'abord sur un identifiant stable et non-humain. Traitez l'email et le nom d'utilisateur comme des données de profil susceptibles de changer.

Clés d'appariement courantes (de la plus fiable à la moins fiable) :

  • ID externe immuable fourni par l'IdP
  • id SCIM (stable par utilisateur dans cette application)
  • Email (utile, mais modifiable)
  • Nom d'utilisateur (souvent renommé, réutilisé ou formaté différemment)

Si votre application n'apparie que par email, un changement d'email peut ressembler à une nouvelle personne et créer un doublon. Conservez plutôt l'ID externe comme clé primaire et laissez l'email se mettre à jour sans changer l'identité.

Pourquoi des doublons apparaissent

Les doublons apparaissent souvent dans trois situations :

  1. L'IdP envoie une « création » parce que l'application n'a pas renvoyé un appariement clair, souvent à cause d'attributs requis manquants ou d'une erreur de mapping.
  2. L'application considère l'email comme identifiant unique, donc un changement d'email crée un second utilisateur.
  3. La même personne est provisionnée depuis deux sources (deux IdP, ou invitations manuelles plus SCIM).

Pour réduire les mises à jour conflictuelles, choisissez un propriétaire unique pour les champs de profil de base. Si l'IdP possède les noms, l'email et le statut actif, ne comptez pas sur des modifications manuelles dans l'application pour ces champs (ou indiquez clairement qu'ils sont « gérés par l'IdP »).

Si deux identités IdP pointent vers un même utilisateur d'application, n'automatisez pas la fusion. Mettez le SCIM en pause pour ces comptes, déterminez quelle identité IdP est correcte, rattachez via l'ID externe et désactivez la mauvaise. Cela conserve la cohérence de l'historique d'audit.

Groupes, rôles et accès : garder des règles prévisibles

Quand SCIM commence à envoyer utilisateurs et groupes, le plus grand risque est l'accès surprise. Gardez le modèle simple : accordez l'accès selon les groupes IdP, ou selon des rôles gérés dans l'application. Mélanger les deux sans règle claire mène à des incidents « pourquoi a-t-il obtenu cet accès ? ».

L'accès basé sur les groupes fonctionne bien si votre IdP est déjà l'endroit où les administrateurs gèrent l'appartenance aux équipes. L'accès basé sur des rôles convient mieux quand les propriétaires d'application doivent affiner les permissions sans toucher l'IdP. Si vous devez combiner les deux, définissez lequel prévaut en cas de conflit.

Soyez conservateur avec les valeurs par défaut. Si les données de groupe arrivent en retard ou sont manquantes (courant lors du premier sync), créez le compte mais ne lui donnez aucun accès sensible jusqu'à l'arrivée du groupe attendu. Considérez « pas de groupes » comme « pas d'accès » plutôt que de deviner.

Un ensemble de règles prévisible :

  • Créer un utilisateur : assigner un rôle de base avec accès minimal, ou aucun rôle.
  • Ajouter à un groupe : accorder l'accès lié à ce groupe.
  • Retirer d'un groupe : supprimer immédiatement cet accès.
  • Désactiver un utilisateur : bloquer la connexion et révoquer l'accès indépendamment des groupes.
  • Réactiver un utilisateur : restaurer uniquement ce que l'appartenance actuelle aux groupes permet.

La suppression d'un groupe et la désactivation sont différentes. La suppression de groupe doit réduire l'accès tout en laissant le compte utilisable si l'utilisateur appartient encore à d'autres groupes. La désactivation est l'arrêt net pour le offboarding.

Rédigez une documentation courte mais précise : quels groupes correspondent à quelles permissions, que se passe-t-il si les groupes manquent, qui est propriétaire des changements de groupes (IT vs propriétaire d'application), et approximativement combien de temps les changements prennent pour apparaître.

Étape par étape : tester SCIM sans verrouiller les utilisateurs

Lancer un portail contrôlé par les accès
Déployez un outil interne où les accès restent prévisibles entre équipes et services.
Créer l'application

Commencez dans un environnement non productif (tenant séparé, espace de travail ou instance de staging) avec un annuaire propre et quelques comptes de test. Activez le provisioning là d'abord.

Avant de connecter quoi que ce soit, créez un compte administrateur « break-glass » qui n'est pas géré par SCIM. Donnez-lui un mot de passe fort et gardez-le hors des assignments SCIM de l'IdP. C'est votre retour si le provisioning désactive vos administrateurs habituels.

Utilisez un petit groupe pilote (2–5 personnes). Incluez un administrateur et un utilisateur régulier. N'activez pas le provisioning pour toute l'entreprise tant que le pilote ne fonctionne pas exactement comme prévu.

Un plan de test simple couvrant les parties à risque :

  • Create : Assignez un nouvel utilisateur de test dans votre IdP et confirmez que le compte apparaît dans l'application avec le bon nom, email et statut.
  • Update : Changez un champ (souvent l'email) et confirmez que l'application met à jour le même utilisateur plutôt que d'en créer un doublon.
  • Deactivate : Retirez l'affectation (ou désactivez l'utilisateur) et confirmez que l'application bloque l'accès sans supprimer les données métier.
  • Reactivate : Réaffectez l'utilisateur et confirmez que le même compte redevient actif.
  • Repeat : Reprenez les mêmes étapes pour détecter les comportements « une seule exécution ».

Ne vous fiez pas uniquement à l'interface utilisateur. Vérifiez les journaux SCIM des deux côtés et confirmez les horodatages : quand l'IdP a envoyé le changement, quand l'application l'a traité, et quels champs ont été modifiés.

Si une étape crée un second compte, désactive le mauvais utilisateur, ou fait perdre les droits admin, arrêtez le déploiement et corrigez les règles de matching et le mapping des attributs avant d'élargir au-delà du pilote.

Erreurs courantes qui causent des blocages ou des annuaires désordonnés

Configurer utilisateurs et rôles
Concevez des modèles de données PostgreSQL pour utilisateurs, groupes et rôles sans écrire de code.
Construire le backend

La plupart des problèmes ne sont pas des « bugs SCIM ». Ils viennent de petites hypothèses qui semblent inoffensives lors de la configuration, puis craquent à grande échelle. Les règles de matching et les valeurs par défaut comptent plus que le connecteur.

Erreurs qui causent souvent des blocages

Schémas courants menant à des comptes désactivés, des doublons et une prolifération d'accès :

  • Matching lâche (par exemple, association sur l'email uniquement, ou autoriser plusieurs utilisateurs avec le même identifiant).
  • Considérer l'email comme un ID permanent alors que les emails sont renommés, migrés et parfois réutilisés.
  • Laisser SCIM écraser des corrections manuelles sans que personne ne le remarque (l'IdP réappliquera sa vision de la vérité).
  • Donner un accès large à la création d'utilisateur par défaut et oublier de le restreindre ensuite.
  • Activer le provisioning pour tout le monde avant un pilote, de sorte qu'une erreur de mapping impacte toute l'entreprise.

Un cas réel : lors d'un changement de domaine, l'IT renomme les emails. Si l'application fait ses correspondances par email, SCIM ne retrouve pas le compte existant, en crée un nouveau, puis désactive l'ancien. L'utilisateur se retrouve avec deux profils, un historique fragmenté et aucun accès au pire moment.

Comment éviter le désordre

Appariez sur un identifiant unique stable (souvent l'ID immuable de l'IdP) et traitez l'email comme modifiable.

Décidez qui peut éditer quels champs dans l'application. Si SCIM est source de vérité, soit bloquez les modifications manuelles des champs contrôlés par l'IdP, soit indiquez clairement qu'elles seront écrasées.

Commencez par un petit pilote et des valeurs par défaut de moindre privilège. Il est plus simple d'ajouter de l'accès une fois que vous faites confiance au flux que de nettoyer après une sur-provisionnement ou une mauvaise désactivation.

Checklist rapide avant d'activer SCIM pour plus d'utilisateurs

Avant d'aller au-delà du pilote, vérifiez tout le cycle de vie : créer le bon compte, mettre à jour le même compte plus tard, et retirer l'accès quand c'est nécessaire.

Utilisez une identité de test fraîche dans votre IdP (pas un vrai employé). Provisionnez-la et confirmez que le compte apparaît avec le nom d'utilisateur, l'email, le displayName et le statut attendus dans votre application.

Ensuite, lancez un test de changement. Mettez à jour le nom et l'email de la personne dans l'IdP et observez ce qui se passe dans l'application. Vous voulez qu'un seul enregistrement utilisateur soit mis à jour, pas qu'un second soit créé.

Enfin, testez la suppression et la récupération. Désactivez l'utilisateur dans l'IdP et confirmez qu'il ne peut plus se connecter et n'a plus accès. Puis réactivez-le et confirmez que l'accès revient de manière prévisible (rôles et groupes corrects, pas de droits admin accidentels).

Une courte checklist de mise en production :

  • Le nouvel utilisateur se provisionne correctement avec les champs-clés et commence dans le bon état d'accès.
  • Les changements de profil mettent à jour la même personne (pas de doublons).
  • La désactivation bloque la connexion et supprime rapidement l'accès.
  • La réactivation restaure l'accès en toute sécurité.
  • Un plan de récupération admin existe (compte break-glass, possibilité de mettre en pause SCIM, journal d'audit des changements récents).

Un exemple réaliste : intégrer et désengager un membre d'équipe

Faciliter les audits et le débogage
Ajoutez des champs et journaux favorables aux audits pour déboguer plus vite les problèmes de provisioning.
Commencer la construction

Imaginez une entreprise de 200 personnes utilisant un IdP et SCIM pour gérer l'accès à un outil interne.

Lundi, Maya rejoint Sales Ops. Quand l'IT affecte l'application à Maya dans l'IdP, SCIM envoie une Create. Un nouvel utilisateur apparaît dans l'application avec le bon identifiant unique, l'email et une valeur de département « Sales Ops ». Si les groupes déterminent l'accès, l'application reçoit aussi l'appartenance au groupe qui octroie le rôle approprié.

Jeudi, Maya passe à RevOps. Cela déclenche une Update. Maya reste la même personne (même ID externe), mais les attributs changent. Si les permissions dépendent du département ou des groupes, c'est là que les erreurs apparaissent, donc vérifiez immédiatement.

À la fin du mois, Maya part. L'IdP désactive le compte ou retire l'affectation de l'application, et SCIM envoie une Deactivate (souvent une mise à jour comme active=false). Maya ne peut plus se connecter, mais ses données historiques restent la propriété de l'entreprise.

Un administrateur peut vérifier rapidement :

  • Create : l'utilisateur existe une fois, peut se connecter, reçoit le rôle par défaut attendu.
  • Update : le même enregistrement utilisateur est mis à jour (pas de doublon), et l'accès change correctement.
  • Deactivate : connexion bloquée, sessions terminées, pas de nouvel accès API, historique d'audit intact.
  • Audit : les événements SCIM sont enregistrés avec horodatages et résultats.

Si un contractuel a besoin d'un accès temporaire, ne réutilisez pas le compte de Maya. Créez une identité distincte de contractuel dans l'IdP, placez-la dans un groupe limité dans le temps et laissez le provisioning gérer la suppression.

Prochaines étapes : déployer en sécurité et rester maintenable

Le provisioning peut être facile à faire fonctionner et pourtant difficile à maintenir. Considérez-le comme un petit système avec des règles, des propriétaires et un journal des changements.

Écrivez votre mapping d'attributs et vos règles d'accès au même endroit : quels champs IdP alimentent le nom d'utilisateur, l'email, le nom, le département, le manager, et quels groupes donnent accès. Quand quelqu'un demandera pourquoi une personne a été désactivée, vous voulez une seule réponse, pas cinq suppositions.

Choisissez un pilote suffisamment représentatif pour être réel, mais assez petit pour être réversible. Définissez des points de contrôle (jour 1, semaine 1, semaine 2), explicitez les étapes de rollback (mettre en pause les assignments, arrêter SCIM, restaurer l'accès), et gardez le compte administrateur break-glass hors du périmètre SCIM.

La surveillance vous évitera d'apprendre les problèmes par des utilisateurs mécontents. Mettez-vous d'accord sur ce que vous surveillez et qui est notifié : pics de désactivations ou réactivations, croissance soudaine des doublons, volume inhabituel de mises à jour (souvent une boucle de mapping), et utilisateurs créés sans attributs requis.

Si vous développez l'application vous-même, planifiez tôt la gestion des utilisateurs : créer des comptes, mettre à jour les profils, désactiver des comptes et attribuer des rôles. C'est beaucoup plus simple quand ce sont des fonctionnalités de première classe.

Si vous prototypez des outils internes, AppMaster (appmaster.io) peut être une manière pratique de construire le backend, l'application web et l'application mobile en un seul endroit, puis connecter SCIM via vos API une fois que votre modèle d'utilisateurs et vos règles d'accès sont stabilisés.

FAQ

Que fait réellement le provisioning SCIM ?

SCIM aligne automatiquement la liste d'utilisateurs de votre application sur celle de votre fournisseur d'identité (IdP). Quand quelqu'un est embauché, renommé, déplacé dans une nouvelle équipe ou départ, l'IdP pousse ces changements vers l'application pour éviter aux administrateurs d'inviter, modifier ou supprimer manuellement les utilisateurs.

En quoi SCIM est-il différent du SSO ?

Le SSO contrôle uniquement la manière dont un utilisateur s'authentifie. SCIM contrôle si l'utilisateur doit exister dans l'application, s'il est actif ou inactif, et à quoi ressemble son profil actuellement. Utilisés ensemble, ils évitent les situations du type « il peut se connecter mais ne devrait pas avoir de compte » ou « il a un compte mais ne peut pas accéder à ce dont il a besoin ».

Qui devrait être la source de vérité : l'IdP ou l'application ?

Considérez l'IdP comme source de vérité pour les champs d'identité et le statut de cycle de vie, puis faites en sorte que l'application le suive de manière cohérente. Si l'application autorise des modifications locales, définissez clairement quels champs l'IdP peut écraser pour éviter des allers-retours déroutants.

Quels états de cycle de vie mon application doit-elle supporter pour SCIM ?

La plupart des équipes s'appuient sur trois états : actif, inactif (désactivé) et supprimé. En pratique, de nombreuses applications évitent les suppressions définitives et utilisent la désactivation, car elle bloque l'accès tout en conservant les données métier et l'historique d'audit.

Quels champs minimum sont nécessaires pour supporter SCIM en toute sécurité ?

Conservez un identifiant unique stable provenant de l'IdP (souvent l'id SCIM, parfois accompagné d'un ID immuable de l'IdP), plus une valeur de connexion comme userName et les champs de communication requis tels que l'email. L'identifiant stable empêche les doublons lorsque les emails ou noms d'utilisateur changent ultérieurement.

Faut-il associer les utilisateurs par email ou par un ID externe ?

Associez d'abord les utilisateurs par un identifiant immuable, pas par email. Les emails et noms d'utilisateur changent lors de renommages, migrations de domaine ou rebrandings, et les utiliser comme clé principale crée souvent des doublons.

Comment éviter que les mises à jour SCIM n'écrasent les mauvaises choses ?

Définissez quels attributs l'IdP possède (généralement le statut active, l'email/nom d'utilisateur et les champs de nom) et appliquez ces mises à jour automatiquement. Gardez les champs spécifiques à l'application (préférences, notes internes) propriété de l'application pour que les mises à jour SCIM n'écrasent pas de données locales inattendues.

Quelle est la manière la plus sûre de tester SCIM sans bloquer des utilisateurs ?

Commencez par un petit pilote dans un environnement non production et conservez un compte administrateur « break-glass » hors du périmètre SCIM pour pouvoir récupérer si quelque chose tourne mal. Testez la création, la mise à jour (surtout les changements d'email), la désactivation et la réactivation, et confirmez que l'on met toujours à jour le même enregistrement utilisateur plutôt que d'en créer un second.

Pourquoi des doublons apparaissent-ils, et comment les corriger ?

Les causes les plus courantes sont : associer uniquement par email, absence d'attributs requis lors de la création, ou provisionner la même personne depuis deux sources (invitations manuelles + SCIM, ou plusieurs IdP). La correction passe généralement par le choix d'un ID de référence, la mise en pause du provisioning pour les comptes affectés et le rattachement manuel des identités plutôt que la fusion automatique.

Comment groupes et rôles doivent-ils fonctionner avec SCIM pour que l'accès reste prévisible ?

Privilégiez le moindre privilège : créez le compte avec un accès minimal ou aucun accès, puis accordez les permissions seulement quand le groupe ou rôle attendu est présent. Si les données de groupe sont manquantes ou retardées, considérez cela comme « pas d'accès » plutôt que de deviner, et faites en sorte que la désactivation prévaille toujours sur l'appartenance aux groupes pour garantir un offboarding fiable.

Facile à démarrer
Créer quelque chose d'incroyable

Expérimentez avec AppMaster avec un plan gratuit.
Lorsque vous serez prêt, vous pourrez choisir l'abonnement approprié.

Démarrer