Liste
Mise en production d'une intégration IA : échéances et suivi
Clés qui expirent, abonnements à renouveler, limites d'appels, retour arrière : la liste de mise en production d'une intégration IA, éditeur par éditeur.
Mis à jour le
Une intégration d'IA qui marche le jour de la démonstration peut s'arrêter seule trois mois plus tard, sans qu'une ligne de code ait changé. La cause est presque toujours une échéance : une clé qui expire, un abonnement aux notifications qui n'a pas été renouvelé, un jeton non rafraîchi. Avant la mise en production, listez-les toutes, automatisez ce qui peut l'être, et surveillez le reste. Voici les échéances et les seuils relevés le 15/11/2026 dans la documentation des éditeurs, puis la liste de contrôle.
Le calendrier des échéances
| Élément | Échéance documentée | Ce qu'il faut prévoir |
|---|---|---|
| Clé d'API Odoo (JSON-2) | Trois mois au plus | Générer la nouvelle clé avant de révoquer l'ancienne |
| Abonnement Microsoft Graph aux messages Outlook | 10 080 minutes au plus (moins de sept jours) ; 1 440 minutes avec les données incluses | Renouvellement automatique avant l'heure indiquée dans chaque notification |
| Jeton d'accès envoyé à votre point de réception Graph | En général moins d'une heure | Notifications de cycle de vie pour réautoriser à temps |
Surveillance Gmail (watch) |
Au moins tous les sept jours | Google recommande un appel par jour |
| Jetons OAuth HubSpot | Durée donnée par expires_in |
Rafraîchissement automatique, durée stockée |
| Évaluation de sécurité Google (scopes restreints) | Au moins tous les douze mois | Uniquement pour une application publique qui traite ces données sur ses serveurs |
| XML-RPC et JSON-RPC d'Odoo | Suppression dans Odoo Online 21.1 (hiver 2027) et Odoo 22 (automne 2028) | Migrer vers JSON-2 avant |
Microsoft Graph propose des notifications de cycle de vie qui préviennent quand le jeton d'accès va expirer, quand l'abonnement va expirer, et quand un administrateur retire à l'application le droit de lire la ressource. Abonnez-vous-y : c'est l'alerte la moins chère.
Les délais de propagation à connaître
Certains changements ne sont pas immédiats, ce qui fausse les tests le jour de la bascule :
- Droits d'une application dans Exchange Online (RBAC) : de 30 minutes à 2 heures selon l'activité de l'application. La commande
Test-ServicePrincipalAuthorizationcontourne ce cache pour vérifier. - Délégation au niveau du domaine Google Workspace : jusqu'à 24 heures, en général moins.
- Application Teams chargée par l'administrateur : disponible pour l'organisation après quelques heures.
Les seuils à surveiller
| Seuil | Source |
|---|---|
| HubSpot : 100 ou 190 requêtes par 10 secondes selon l'édition (application privée), plafond quotidien partagé par toutes les applications du compte, erreurs à garder sous 5 % | HubSpot |
| Microsoft Graph : réponse aux notifications en moins de 3 secondes ; point de réception « lent » au-delà de 10 % de réponses trop lentes sur dix minutes, notifications abandonnées au-delà de 15 % | Microsoft |
| Gmail : un événement par seconde et par utilisateur surveillé, le reste est perdu | |
Microsoft Graph : erreur 429 avec Retry-After en cas de limitation |
Microsoft |
Pour les 429, Microsoft recommande d'attendre le délai de Retry-After, de réessayer, et de recommencer tant que l'erreur revient ; sans en-tête, d'espacer les tentatives de façon exponentielle. Surtout, ne pas réessayer immédiatement. Le sujet côté API des modèles est traité sur Cercle IA Tech · API.
La liste de contrôle avant la bascule
Environnements
- Un environnement de test séparé : locataire de test Microsoft 365 (Microsoft le suggère si le chargement d'applications est interdit), espace de test Slack, base Odoo de test.
- Des clés d'API distinctes pour le développement, les tests et la production, comme le recommande Anthropic pour ses clés.
Secrets
- Toutes les clés et tous les jetons dans un gestionnaire de secrets, aucun dans le code.
- Une procédure de rotation écrite pour chaque clé à durée limitée.
Droits
- Un compte technique dédié par intégration, avec le minimum de droits.
- Les permissions globales retirées là où une restriction plus fine existe (Microsoft Entra ID et RBAC Exchange, par exemple).
- Les comptes et les scopes inscrits dans un registre, avec une date de revue.
Fiabilité
- Une file d'attente entre les événements reçus et les appels au modèle.
- Le dédoublonnage des événements reçus deux fois.
- Une relecture périodique des sources pour rattraper les notifications perdues.
Suivi
- Un journal de chaque appel : qui, quelles données lues, quel modèle, quelle réponse, combien de jetons. La méthode est sur Cercle IA Tech · Sécurité.
- Des alertes sur les
429, les erreurs d'authentification et les abonnements proches de l'expiration. - Une revue régulière des journaux et de la consommation chez le fournisseur du modèle.
Qualité
- Un jeu de questions de référence rejoué avant chaque changement de modèle ou de consigne. Voir évaluer un agent IA.
Le retour arrière, écrit avant la bascule
Savoir couper vite, c'est ce qui rend une mise en production acceptable. Les éditeurs documentent l'effet de chaque coupure :
| Coupure | Effet documenté |
|---|---|
| Révoquer une clé Odoo | Inutilisable immédiatement |
| Supprimer une application Teams personnalisée | Elle n'est plus disponible dans l'organisation, et ses utilisateurs ne peuvent plus s'en servir |
| Retirer une délégation au niveau du domaine | Les applications qui en dépendent s'arrêtent immédiatement |
| Supprimer un abonnement Graph | Plus aucune notification |
Écrivez pour chaque intégration : qui peut couper, comment, et comment repasser au fonctionnement sans IA pendant ce temps. Pour l'ensemble du schéma, revenez à l'architecture d'intégration type.
Questions fréquentes
Pourquoi une intégration IA s'arrête-t-elle sans changement de code ?
Le plus souvent, une échéance : une clé d'API expirée (trois mois au plus chez Odoo), un abonnement aux notifications non renouvelé (moins de sept jours pour les mails Outlook dans Microsoft Graph, sept jours pour Gmail), ou un jeton OAuth non rafraîchi.
Comment réagir à une erreur 429 ?
Attendre le délai indiqué par l'en-tête Retry-After avant de réessayer, comme le recommande Microsoft Graph, et à défaut d'en-tête, espacer les tentatives de façon exponentielle. Ne pas réessayer immédiatement : chaque requête compte dans la limite.
Sources
Pages consultées pour écrire cet article :
- https://www.odoo.com/documentation/19.0/developer/reference/external_api.html
- https://learn.microsoft.com/en-us/graph/change-notifications-overview
- https://learn.microsoft.com/en-us/graph/change-notifications-delivery-webhooks
- https://learn.microsoft.com/en-us/graph/throttling
- https://developers.google.com/workspace/gmail/api/guides/push
- https://developers.google.com/identity/protocols/oauth2/production-readiness/restricted-scope-verification
- https://developers.hubspot.com/docs/developer-tooling/platform/usage-guidelines
- https://learn.microsoft.com/en-us/exchange/permissions-exo/application-rbac
- https://knowledge.workspace.google.com/admin/apps/control-api-access-with-domain-wide-delegation?hl=en
- https://learn.microsoft.com/en-us/microsoftteams/teams-custom-app-policies-and-settings
- https://support.claude.com/en/articles/9767949-api-key-best-practices-keeping-your-keys-safe-and-secure