Déclencheur d’inactivité

Découvrez comment configurer des déclencheurs d’inactivité, avec des conseils sur la configuration, la prise en charge des canaux, les limitations et la résolution des problèmes.

Aperçu

Le déclencheur d'inactivité, également appelé OnInactivity ou L'utilisateur est inactif pendant un certain temps est un déclencheur système dans Copilot Studio qui déclenche automatiquement une rubrique lorsqu'un utilisateur n'envoie aucun message pendant une durée spécifiée. Il exécute côté serveur, de sorte que l’agent évalue le minuteur et exécute la rubrique même si le client de l’utilisateur est inactif.

Les cas d’utilisation courants sont les suivants :

  • Envoyer un rappel demandant si l’utilisateur est toujours là
  • Libérer la capacité de l’agent en fermant automatiquement les conversations inactives
  • Collecter des commentaires (par exemple, une enquête sur la satisfaction des clients) avant la fin d’une session
  • Nettoyer l’état de session pour les conversations abandonnées

Fonctionnement du déclencheur d’inactivité

Cette section explique comment Copilot Studio évalue les déclencheurs d’inactivité, planifie les minuteurs et exécute des rubriques lorsqu’une conversation est inactive.

Vue d’ensemble de l’architecture

  1. L’utilisateur envoie un message.

  2. Le runtime évalue tous les déclencheurs OnInactivity .

  3. L'environnement d'exécution regroupe les déclencheurs selon la durée et en sélectionne un par catégorie de durée. Le numéro de priorité le plus bas gagne ; la date de création la plus ancienne interrompt les liens.

  4. L'environnement d'exécution classe les déclencheurs sélectionnés par durée, dans l'ordre croissant.

  5. Le runtime configure un temporisateur pour le déclencheur suivant dans Azure Service Bus. Un seul minuteur est actif à la fois.

  6. L’utilisateur est inactif pendant la durée configurée.

  7. Le minuteur se déclenche et l’événement d’inactivité est envoyé au runtime.

  8. Le runtime correspond et exécute la rubrique d’inactivité.

  9. L'environnement d'exécution calcule la durée restante jusqu'au déclencheur suivant et arme un nouveau minuteur.

Comportements clés

  • Le minuteur réinitialise chaque message utilisateur.

    Chaque fois qu'un utilisateur envoie un message, le système réévalue tous les déclencheurs d'inactivité et active le suivant (celui de la durée la plus courte en premier). Un seul minuteur est actif à tout moment.

  • Plusieurs déclencheurs sont pris en charge.

    Vous pouvez avoir plusieurs déclencheurs OnInactivity à différentes durées (par exemple, 5 minutes et 10 minutes). Le système les traite par ordre croissant de durée. Un seul déclencheur est sélectionné par niveau de durée. Si deux déclencheurs ont la même durée, le déclencheur avec le nombre inférieur Priority se déclenche. S'il existe toujours une égalité, le déclencheur créé antérieurement gagne. Le système élimine d'autres déclencheurs pour la même durée.

  • Les déclencheurs sont mis en file d’attente et non parallèles.

    Un seul minuteur est actif à la fois. Une fois le déclencheur actuel exécuté, l'environnement d'exécution calcule le temps restant jusqu'au déclencheur suivant et programme un nouveau minuteur pour le temps restant. L’effet net est que les déclencheurs s'activent aux intervalles appropriés depuis le point d’inactivité d’origine, bien que la dérive mineure puisse se produire si l’exécution du déclencheur prend du temps significatif.

  • Exécution en arrière-plan.

    L’événement d’inactivité est un déclencheur en arrière-plan. Il ne nécessite aucune interaction de l'utilisateur pour se déclencher.

  • Enregistrement de transcription.

    Le système enregistre les événements d’inactivité dans les transcriptions de conversation. Un nouvel enregistrement de transcription est créé après 30 minutes d’inactivité.

Exemple de chronologie (plusieurs déclencheurs)

Heure Evénement
0:00 L’utilisateur envoie le dernier message
5:00 Le déclencheur A (300 s) est activé, envoie un avertissement
10:00 Le déclencheur B (600 s) intervient, met fin à la conversation

Si l’utilisateur envoie un message à 4h30, les deux minuteurs sont réinitialisés. Le déclencheur A se déclenche à 9 h 30, et le déclencheur B se déclenche à 14 h 30.

Configurer le déclencheur d’inactivité

Cette section montre comment Copilot Studio démarre, réinitialise et exécute des minuteurs d’inactivité afin de prédire ce qui se passe lorsqu’une conversation est inactive.

Créer un sujet de déclenchement d’inactivité

  1. Dans Copilot Studio, accédez à Topics>Add a topic>From blank.

  2. Sélectionnez la phrase déclencheur. Au lieu d’une expression, sélectionnez « Après une période d’inactivité ».

  3. Définissez la propriété durée d’inactivité . En mode d’entrée manuel , choisissez une présélection dans la liste déroulante (15 minutes, 30 minutes, 45 minutes ou 1 heure). Pour entrer une valeur personnalisée en secondes ou une formule Power Fx (par exemple), Global.TimeoutSecondsbasculez le sélecteur de mode vers Formule et tapez la valeur directement.

  4. Concevez le flux de rubriques (envoyez un message, posez une question, terminez la conversation, etc.).

  5. Enregistrez et publiez votre agent.

Référence de durée

Délai souhaité Valeur (secondes)
30 secondes 30
2 minutes 120
5 minutes 300
10 minutes 600
1 heure 3600

Important

La propriété utilise des secondes, pas des minutes ou des millisecondes. Une valeur de 60000 signifie environ 16,7 heures, pas 60 secondes.

Exemple : déclencheur d’avertissement unique

[OnInactivity - 600 secondes]

Message : « Êtes-vous toujours là ? Répondre pour continuer.

Sujet de fin

Exemple : avertissement de 5 minutes et 10 minutes de fermeture automatique

Ce modèle est le plus courant. Créez deux rubriques d’inactivité :

Rubrique 1 : Avertissement d’inactivité (5 minutes)

  • Déclencheur : après une période d’inactivité
  • durationInSeconds: 300
  • Actions : Envoyer un message : « Êtes-vous toujours là ? Cette conversation se ferme en 5 minutes s’il n’y a pas de réponse. »

Rubrique 2 : Fermeture automatique (10 minutes)

  • Déclencheur : après une période d’inactivité
  • durationInSeconds: 600
  • Actions:
    1. Définir la variable de garde (Global.DeactivateInactivity = true - voir Meilleures pratiques)
    2. Envoyez un message : « Cette conversation se ferme en raison d’une inactivité ».
    3. Terminer la conversation

Exemple : collecte de commentaires

  • Déclencheur : après une période d’inactivité
  • duréeEnSecondes : 120
  • Actions:
    1. Demandez : « Avant d’aller, évalueriez-vous votre expérience ? (1-5)"
    2. Stocker la réponse
    3. Terminer la conversation

Ajouter une condition au déclencheur

Ajoutez un nœud Condition juste après le déclencheur afin qu’il s’exécute uniquement dans certaines situations :

  • Déclenchez uniquement sur un canal spécifique : =Activity.ChannelId = "msteams"
  • Ne déclenchez que si une variable de protection n’est pas définie : =Global.DeactivateInactivity = false

Si vous avez plusieurs déclencheurs avec des nœudsQuestion, utilisez unerubrique partagée pour éviter les problèmes d'empilement de dialogues :

  1. Créez une rubrique partagée appelée HandleInactivity:

    • Ajouter une variable Global.InactivityStage globale (Text)
    • Vérifiez sa valeur :
      • "warning" → Envoyer un message d’avertissement avec un nœud Question (« Continuer ? » / « Fin ? »)
      • "close" → Envoyer un message de clôture et mettre fin à la conversation
  2. Premier déclencheur OnInactivity (300 secondes) :

    • Définir Global.InactivityStage = "warning"
    • Rediriger vers HandleInactivity
  3. Deuxième déclencheur OnInactivity (600 secondes) :

    • Définir Global.InactivityStage = "close"
    • Rediriger vers HandleInactivity

Cette approche empêche les nœuds Question de s'accumuler et de créer des boucles d’invite.

Configuration spécifique au canal

Matrice de prise en charge des canaux

Canal Niveau du support Notes
Site web de démonstration Entièrement prise en charge Meilleur canal pour tester les déclencheurs d’inactivité.
Site web personnalisé (Direct Line) Entièrement prise en charge Fonctionne de la même façon que le site web de démonstration.
Microsoft Teams Pris en charge Fonctionne, mais consultez les conseils spécifiques à Teams dans la section suivante. Les jetons d’authentification peuvent expirer pendant de longues périodes d’inactivité.
Service à la clientèle Dynamics 365 Entièrement prise en charge Nécessite des étapes supplémentaires pour fermer les conversations Dynamics 365 Customer Service. En savoir plus dans la configuration Dynamics 365 Customer Service.
Microsoft 365 Copilot Le déclencheur s'exécute, mais les messages ne sont pas livrés Ce scénario est une limitation connue. Le déclencheur exécute côté serveur, mais l'interface utilisateur Microsoft 365 Copilot n'affiche pas de messages proactifs provenant d'agents. Aucune solution de contournement.
Volet de test Non prise en charge Ce scénario est par conception. Les minuteurs sont désactivés pour l’ID de canal Studio. Utilisez le site web de démonstration ou un canal publié pour tester.
DirectEngine Non prise en charge Ce scénario est par conception. Les minuteurs sont désactivés pour l’ID de canal DirectEngine (environnement de conception/test).
Téléphonie/IVR Non prise en charge Pour les canaux vocaux, utilisez plutôt le déclencheur OnSilence .

Configuration de Teams

Teams utilise un modèle de conversation unique persistant. La conversation ne se termine jamais vraiment du point de vue de Teams. Ce modèle signifie que les déclencheurs d’inactivité continuent de se réactiver même après que l’utilisateur considère la conversation effectuée.

Modèle recommandé pour Teams :

  1. Créez une variable Global.IsConversationClosed globale (booléen, valeur par défaut : false).

  2. Au début de votre rubrique d’inactivité, vérifiez : If Global.IsConversationClosed = true → Rubrique de fin (quittez immédiatement).

  3. Lorsque la conversation se termine logiquement (l’utilisateur dit « au revoir », la satisfaction du client se termine, et ainsi de suite), définie Global.IsConversationClosed = true.

  4. Le déclencheur d’inactivité peut toujours se déclencher, mais il se ferme immédiatement sans afficher de message.

configuration de Dynamics 365 Customer Service

  • Les conversations se closent automatiquement après 30 minutes d’inactivité par défaut.
  • L'appel de EndConversation seul ne ferme t_ la session Dynamics 365 Customer Service. La capacité de l’agent n’est pas libérée.
  • Pour fermer complètement la conversation, définissez la variable de contexte CloseOmnichannelConversation sur true via un flux de Power Automate, puis utilisez un nœud Transfer to Agent.

Limitations connues

Référence rapide : Que peut perturber le minuteur d’inactivité ?

Fonctionnalité ou action Effet sur les minuteurs d’inactivité
Terminer la conversation Efface définitivement tous les minuteurs
L’utilisateur envoie un message Réinitialise tous les minuteurs sur zéro (par conception)
Condition de déclencheur avec une variable non initialisée Le minuteur est exclu silencieusement - ne s'active jamais
La durée dépasse 7 jours (604 800 secondes) Le minuteur est ignoré en mode silencieux
Effacement des variables globales dans une rubrique d’inactivité l’agent perd le contexte de conversation
Transfert vers le représentant du service client Le minuteur reste actif et peut se déclencher pendant la conversation du représentant du service client

Le panneau de test ne prend pas en charge les déclencheurs d’inactivité

Le panneau de test Copilot Studio ne déclenche pas de déclencheurs d'inactivité. Cette limitation est voulue. Publiez votre agent et testez sur un canal en direct (site web de démonstration, Teams, etc.).

Microsoft 365 Copilot n'affiche pas les messages d'inactivité

Le déclencheur exécute côté serveur, mais toute sortie (messages, cartes) n'est pas remise à l'utilisateur dans l'expérience de Microsoft 365 Copilot. Il n'existe aucune solution de contournement. Consultez les limitations connues de Teams.

Orchestration de l’IA générative

Les déclencheurs d'inactivité sont mis en œuvre sous la forme de déclencheurs de thème d'orchestration classique et utilisent un pipeline d'événements piloté par un temporisateur distinct. Lorsque l’orchestration de l’IA générative est activée, le routage de rubriques ne s’appuie plus sur la reconnaissance de déclencheur classique, de sorte que les rubriques d’inactivité peuvent ne pas être déclenchées de manière fiable dans toutes les configurations. Si la gestion de l’inactivité est requise, l’orchestration classique est la configuration recommandée et entièrement validée.

Agents connectés : l’inactivité de l’agent enfant n’est pas prise en charge

Dans les configurations de l’agent connecté , les déclencheurs d’inactivité dans les agents enfants ne fonctionnent pas et retournent « Réponse de l’agent connecté non valide ». Placez toute logique d’inactivité dans l’agent parent.

Durée maximale : 7 jours (604 800 secondes)

Les bots publiés ignorent silencieusement les déclencheurs dont la durée est supérieure à 604 800 secondes. Aucune erreur n’apparaît. En mode création, une erreur peut apparaître. Il n’existe aucun minimum appliqué : des durées courtes (moins de 15 secondes) peuvent se comporter de manière imprévisible en raison de la latence de l’infrastructure du minuteur.

Terminer la conversation efface les minuteurs d’inactivité

Lorsque vous appelez Terminer conversation dans un sujet, cela arrête définitivement tous les minuteurs d’inactivité actifs pour cette conversation. Les minuteurs sont entièrement effacés ; ils ne sont pas réinitialisés ou suspendus. L’opération rejette tous les événements d’inactivité en attente qui sont déjà planifiés.

Si vous souhaitez mettre fin au flux d’une rubrique sans perturber les minuteurs d’inactivité, utilisez l’une des autres actions :

Action dans le Studio Copilot Effet sur les minuteurs d’inactivité
Terminer la conversation Efface tous les minuteurs ; les minuteurs s’arrêtent définitivement
Fin de la rubrique actuelle (EndDialog) N’affecte pas les minuteurs ; les minuteurs continuent à s’exécuter
Annuler tous les sujets (CancelAllDialogs) N’affecte pas les minuteurs ; les minuteurs continuent à s’exécuter

Conseil

Si votre rubrique doit fermer le flux actuel, mais que vous souhaitez toujours que le minuteur d’inactivité se déclenche ultérieurement (par exemple, une rubrique de recherche JIRA qui se termine, mais la conversation doit toujours expirer), utilisez fin de rubrique actuelle au lieu de la conversation End.

L’utilisation d’une variable de garde pour empêcher le refiring reste une pratique défensive recommandée.

Déclencheur se déclenche après l’escalade de l’agent

Une fois que le système transfère une conversation à un représentant du service client, le déclencheur d’inactivité reste actif. Il peut se déclencher pendant la conversation de l’agent humain et envoyer des messages d’agent de manière inattendue. Appelez toujours EndConversation avant le transfert ou utilisez une variable guard.

Les messages déclencheurs peuvent apparaître dans des transcriptions après la fin de la conversation

Même après la fermeture d’une conversation, le déclencheur peut toujours se déclencher et ses messages sont enregistrés dans la transcription. Cette condition n’affecte pas l’expérience utilisateur, mais peut apparaître dans l’analytique.

Canaux téléphone, voix et IVR

Le déclencheur d’inactivité n’est pas disponible pour les canaux téléphoniques et vocaux. Utilisez plutôt le déclencheur OnSilence .

Erreurs de configuration courantes

Utilisez cette section pour identifier et résoudre les problèmes de configuration courants qui peuvent empêcher les déclencheurs d’inactivité de fonctionner comme prévu.

Terminer la conversation dans la rubrique d’inactivité (risque de boucle)

Problème: Lorsque vous appelez Terminer la conversation à partir d’une rubrique d’inactivité, vous effacez tous les minuteurs d’inactivité. Toutefois, sur les canaux avec des conversations persistantes (en particulier Teams), la conversation sous-jacente reste active. Dans certaines configurations, le déclencheur peut toujours se réactiver, provoquant des messages répétés de « session terminée ».

Solution (recommandée comme pratique défensive) : Utilisez une variable guard :

  1. Créer Global.DeactivateInactivity (booléen, valeur par défaut : false).

  2. En haut de chaque rubrique d’inactivité, ajoutez une condition : continuez uniquement si Global.DeactivateInactivity = false.

  3. Définissez Global.DeactivateInactivity = trueavant d’appeler EndConversation.

Note

Le modèle de variable guard est particulièrement important pour les canaux Teams, où le modèle de conversation permanente signifie que la conversation ne se termine jamais réellement.

Durée définie sur la valeur incorrecte

Problème:durationInSeconds est en secondes. Une valeur de 60000 équivaut à environ 16,7 heures et non à 60 secondes.

Solution: Vérifiez deux fois vos valeurs par rapport à la table de référence dans la section 3.

Nœuds de question dans plusieurs rubriques d’inactivité (empilement de prompts)

Problème: Si plusieurs déclencheurs ont chacun un nœud Question , le nœud Question du deuxième déclencheur interrompt le premier. Lorsque l’utilisateur répond, le premier nœud Question reprend et repromptise, créant une boucle.

Solution: Utilisez le modèle de rubrique partagée. Consolidez la logique du nœud Question dans une seule rubrique ou vérifiez qu’un seul déclencheur a un nœud Question .

Effacement des variables globales dans la rubrique d’inactivité

Problème: Si la rubrique d’inactivité efface les variables globales, l’agent perd tout le contexte de conversation et ne répond pas lorsque l’utilisateur retourne.

Solution: Réinitialisez uniquement les variables spécifiques à l’inactivité, et non l’état de conversation entier.

Ne pas activer les déclencheurs d’inactivité dans Teams

Problème: Dans Teams, le modèle de conversation permanente entraîne une activation continue des déclencheurs. Les utilisateurs reçoivent des messages répétés « Êtes-vous toujours là ? » heures ou jours plus tard.

Solution : Pour les Teams, utilisez toujours le modèle de variable de passage.

Ne pas utiliser la fonction closeOmnichannelConversation

Problem : Pour les agents Dynamics 365 Customer Service, l'appel de EndConversation seul ne ferme pas la session Dynamics 365 Customer Service. Les conversations s'accumulent dans la file d'attente de l'agent.

Solution : Paramétrez CloseOmnichannelConversation sur true via Power Automate dans votre sujet d’inactivité.

Durée dynamique d’une variable non initialisée

Problème: L’utilisation d’une expression Power Fx comme =Environment.InactivityTimeout pour la durée fonctionne, mais si la variable est non initialisée ou null, le déclencheur est exclu en mode silencieux.

Solution: Vérifiez que toutes les variables utilisées dans les conditions de déclencheur et les expressions de durée ont des valeurs par défaut valides.

Attente que les déclencheurs fonctionnent après l'escalade d'un agent

Problème: Une fois le système transféré à un représentant du service client, le déclencheur se déclenche sur la conversation de l’agent d’origine et envoie des messages pendant la session de l’agent humain.

Solution : Terminez la conversation de l’agent au moment de l’escalade, ou utilisez une variable de protection Global.IsEscalated = true et vérifiez-la au début du thème d'inactivité.

Résoudre les problèmes lorsque le déclencheur d’inactivité ne fonctionne pas

Utilisez cet arbre de décision pour diagnostiquer le problème :

  1. Où testez-vous ?

    • Si vous utilisez le panneau de test, arrêtez. Le panneau de test ne prend pas en charge les déclencheurs d’inactivité. Publiez et testez sur un canal en direct.
  2. Quel canal utilisez-vous ?

    • Microsoft 365 Copilot ? Ce canal a une limitation connue. Le déclencheur se déclenche, mais les messages ne sont pas remis. Aucune solution de contournement.
    • Téléphonie/IVR ? Ce canal n’est pas pris en charge. Utilisez plutôt le déclencheur OnSilence .
  3. L’orchestration de l’IA générative est-elle activée ?

    • Les déclencheurs d’inactivité utilisent un pipeline de minuteur distinct du routage basé sur la reconnaissance. Toutefois, leur comportement avec l’orchestration de l’IA générative n’est pas entièrement validé. Si la gestion de l’inactivité est critique, l’orchestration classique est la configuration recommandée.
  4. Votre durationInSeconds est-il supérieur à 604 800 ?

    • Si c’est le cas, le déclencheur est ignoré en mode silencieux. Réduisez-le à 604 800 ou inférieur.
  5. L'agent est-il un agent enfant dans une configuration d'agents connectés ?

    • Si c’est le cas, les déclencheurs d’inactivité de l’agent enfant ne sont pas pris en charge. Déplacez la logique vers l’agent parent.
  6. Avez-vous plusieurs déclencheurs d’inactivité ?

    • Ils se déclenchent dans l’ordre de durée (le plus court d’abord). Assurez-vous que vous attendez assez longtemps. Tout message utilisateur réinitialise tous les minuteurs.
  7. Le déclencheur a-t-il une condition référençant une variable non initialisée ?

    • Si une condition référence à une variable, mais n'est pas encore définie, le déclencheur est exclu sans avertissement. Vérifiez que toutes les variables de condition ont des valeurs par défaut.
  8. L’agent a-t-il été republié après le démarrage de la conversation ?

    • Une nouvelle publication peut réinitialiser le minuteur d’inactivité des sessions actives. Démarrez une nouvelle conversation et testez à nouveau.

Si le déclencheur d’inactivité ne fonctionne toujours pas, essayez les options suivantes :

  • Vérifiez les transcriptions de conversation pour toute activité sur les sujets d'inactivité. Si le sujet s’affiche mais que l’utilisateur n’a pas vu le message, le problème est un problème de livraison spécifique au canal.
  • Vérifiez que la rubrique n’est pas désactivée ou archivée.
  • Vérifiez que le type de déclencheur est « Après une période d’inactivité », pas un déclencheur basé sur une phrase-clé.

Meilleures pratiques

  • Testez toujours sur un canal publié. Utilisez le site web de démonstration pour tester rapidement. Ne vous fiez jamais au volet de test.

  • Utilisez une variable de garde pour empêcher les boucles. Créer Global.DeactivateInactivity (booléen, valeur par défaut false). Définissez-le sur true avant d'appeler EndConversation. Vérifiez-le au début de chaque rubrique d’inactivité.

  • Conservez les durées raisonnables. Minimum ~ 15 secondes, maximum 604 800 secondes (7 jours).

  • Vérifiez vos unités. La propriété est en secondes. 5 minutes = 300, pas 5.

  • Pour Dynamics 365 Customer Service : associez toujours EndConversation avec closeOmnichannelConversation via Power Automate.

  • Pour les scénarios à plusieurs déclencheurs : Limitez les nœuds question à un déclencheur ou utilisez le modèle de rubrique partagée.

  • Appel EndConversation avant de transférer vers un représentant du service client pour désactiver les déclencheurs d’inactivité.

  • Surveillez les transcriptions de conversation après le déploiement pour vérifier que les messages apparaissent à des moments attendus.

FAQ

Pourquoi le déclencheur d’inactivité ne fonctionne-t-il pas dans le panneau de test ?

Les minuteurs sont désactivés dans le panneau de test par conception. Publiez votre agent et testez sur un canal en direct.

Puis-je utiliser des durées dynamiques (par exemple, à partir d’une variable) ?

Oui. Le champ durée accepte les expressions Power Fx. Vous pouvez utiliser une variable d’environnement ou une valeur calculée. L’expression est évaluée au moment de l’exécution lorsque le minuteur est armé. Vérifiez que la variable est initialisée et contient un nombre valide.

Que se passe-t-il si je publie une nouvelle version de l’agent pendant que les conversations sont actives ?

Le runtime récupère la nouvelle version. Si l’ID de déclencheur a changé (rubrique supprimée et recréée), le système revient à correspondre par durée. Si aucun déclencheur ne correspond par ID ou durée, l’événement d’inactivité en attente est supprimé.

Comment arrêter complètement les déclencheurs d’inactivité dans Teams ?

Vous ne pouvez pas les arrêter au niveau de la plateforme. Utilisez le modèle de variable de contrôle : définissez une valeur booléenne lorsque la conversation se termine logiquement et vérifiez-la dès le début du sujet d’inactivité pour sortir rapidement.

Le déclencheur d’inactivité fonctionne-t-il avec l’authentification ?

Oui, mais pour les délais d’expiration de session longs (par exemple, 24 heures), le jeton d’authentification de l’utilisateur peut expirer avant le déclenchement du déclencheur. Assurez-vous que votre agent gère la réauthentification correctement.

Que se passe-t-il si ma rubrique d’inactivité appelle un connecteur qui prend beaucoup de temps ?

Les appels de connecteur ont une limite de délai d’expiration (30 secondes par défaut, 60 secondes maximum). Optimisez le connecteur ou gérez le délai d’expiration de manière appropriée.