> For the complete documentation index, see [llms.txt](https://docs.kiloiot.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.kiloiot.io/kilo-docs-fr/kilo-iot-server/rules-engine/edit-locks-and-team-handoffs.md).

# Verrous d’édition

Verrous d’édition par règle dans Kilo IoT Server — verrouillage automatique, battement, délai d’attente empêchent les écrasements pendant le transfert.

Lorsque plusieurs personnes gèrent des règles d’automatisation, la plateforme empêche les écrasements accidentels grâce à des verrous d’édition par règle, à l’enregistrement automatique et à des flux de transmission clairs.

## Fonctionnement du verrouillage

Chaque règle dispose de son propre verrou d’édition. Lorsque vous passez en **Édition** mode — soit en cliquant sur Modifier depuis la liste des règles, soit en basculant le sélecteur de mode — la plateforme acquiert un verrou sur cette règle.

Pendant qu’une règle est verrouillée :

* Personne d’autre ne peut la modifier
* Les autres voient une icône de verrou à côté du nom de la règle dans la liste des règles, avec une infobulle indiquant qui détient le verrou et quand il expire
* Les boutons Modifier, Cloner et Supprimer sont désactivés pour les autres utilisateurs

Un utilisateur peut détenir simultanément des verrous sur plusieurs règles. Chaque verrou est indépendant.

## Expiration du verrou et indicateur d’interface

Le verrou a une heure d’expiration, indiquée dans l’infobulle de l’icône de verrou dans la liste des règles. La plateforme prolonge automatiquement le verrou tant que vous modifiez activement la règle (via un heartbeat périodique). Si vous cessez d’interagir avec l’éditeur pendant une période prolongée, le flux d’inactivité commence (voir ci-dessous).

## Délai d’inactivité

Si vous êtes resté inactif dans l’éditeur pendant plusieurs minutes, une boîte de dialogue apparaît :

> **"La règle sera fermée dans 5 minutes"** "Continuez à modifier pour réinitialiser le minuteur."

Vous avez deux options :

* **Continuer** — Réinitialise le minuteur d’inactivité et maintient votre session d’édition active
* **Enregistrer et quitter** — Enregistre votre travail actuel, libère le verrou et retourne à la liste des règles

Si vous ne répondez pas et que le minuteur arrive à expiration, la plateforme enregistre votre travail actuel en tant que nouvelle version (avec le type d’enregistrement "session\_timeout"), libère le verrou et ferme l’éditeur.

## Enregistrement automatique

Pendant que vous modifiez, la plateforme enregistre automatiquement votre travail à intervalles réguliers. L’état de l’enregistrement est affiché dans l’en-tête :

* **Enregistrement...** — Un enregistrement est en cours
* **Enregistré** — Vos dernières modifications ont été enregistrées
* **Échec de l’enregistrement automatique** — Quelque chose s’est mal passé. Une boîte de dialogue s’affiche pour proposer de **Réessayer** ou revenir **À la règle**

Chaque enregistrement automatique crée ou met à jour une entrée de version dans l’historique. Le type d’enregistrement enregistré dépend de la manière dont l’enregistrement a été déclenché (manuel, automatique, déconnexion, etc.).

## Quitter l’éditeur

Lorsque vous quittez l’éditeur — en cliquant sur la flèche de retour, en passant en mode Affichage ou en fermant l’onglet du navigateur — la plateforme vous invite à confirmer s’il existe des modifications non enregistrées :

> **"Êtes-vous sûr de vouloir déverrouiller la règle ?"** "Les modifications non enregistrées seront perdues."

Options :

* **Annuler** — Rester dans l’éditeur
* **Déverrouiller** — Libère le verrou et quitte.

Dans les flux de sortie normaux, l’éditeur tente de conserver le dernier état BPMN avant de libérer le verrou. Cela signifie que le passage en mode Affichage, l’utilisation du bouton de retour ou le fait de quitter la route d’édition ne supprime pas simplement l’état actuel du diagramme. La boîte de dialogue d’avertissement reste prudente ; vous ne devez donc pas la considérer comme un substitut à des enregistrements délibérés avant des changements majeurs.

Si vous fermez le navigateur ou perdez votre connexion de manière inattendue, la plateforme tente un dernier enregistrement et un flux de déverrouillage. En cas de succès, le dernier état est conservé comme une version avec le type d’enregistrement **déconnexion**.

## Déverrouillage forcé (propriétaires de l’organisation)

Si une règle est verrouillée et que l’utilisateur qui l’a verrouillée n’est pas disponible, **les propriétaires de l’organisation** peuvent la déverrouiller de force.

Depuis la liste des règles :

1. Recherchez la règle verrouillée (repérable par l’icône de verrou)
2. Cliquez sur l’icône de verrou (cliquable uniquement pour les propriétaires de l’organisation)
3. Une boîte de dialogue de confirmation apparaît :

> **"Déverrouiller la règle"** 'La règle "\[nom de la règle]" est actuellement modifiée par un autre employé. Êtes-vous sûr de vouloir la déverrouiller ? Toutes les modifications non enregistrées effectuées par l’autre utilisateur seront perdues.'

4. Cliquez sur **Déverrouiller** pour libérer le verrou

L’utilisateur qui modifiait la règle verra une notification :

> **"Le propriétaire de l’organisation a déverrouillé la règle"** "Essayez d’accéder à nouveau à la règle ou contactez le propriétaire de l’organisation."

Le déverrouillage forcé ne garantit pas la préservation des modifications en mémoire de l’autre utilisateur. Il libère le verrou immédiatement ; utilisez-le donc uniquement lorsque la transmission ne peut pas attendre.

## Lorsque quelqu’un d’autre modifie la règle

Si vous essayez de modifier une règle verrouillée par quelqu’un d’autre, une boîte de dialogue apparaît :

> **"La règle est en mode édition"** "\[Nom d’utilisateur] a commencé à modifier la règle à \[heure]. La règle est fermée pendant la modification d’un autre utilisateur."

Cliquez sur **Aller aux règles** pour revenir à la liste des règles et attendre que le verrou soit libéré.

## Nettoyage des verrous en arrière-plan

Si un verrou expire sans avoir été explicitement libéré (par exemple, si le navigateur de l’utilisateur a planté et que le signal de déconnexion n’a pas été reçu), un processus en arrière-plan détecte le verrou expiré, enregistre le dernier état connu comme une nouvelle version (avec le type d’enregistrement "lock\_cleanup") et libère le verrou.

## Bonnes pratiques pour les transmissions d’équipe

* **Gardez les sessions d’édition courtes.** Le verrou empêche les autres de travailler sur la règle pendant que vous le détenez.
* **Utilisez le menu d’actions pour dupliquer** si vous souhaitez expérimenter sans bloquer la règle d’origine.
* **Nommez vos versions** après des changements majeurs afin que les membres de l’équipe puissent identifier ce qui a changé. Voir [Historique des versions et restauration](/kilo-docs-fr/kilo-iot-server/rules-engine/version-history-and-restore.md).
* **Communiquez avec votre équipe** avant de déverrouiller de force — l’autre utilisateur peut encore travailler depuis un autre appareil.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.kiloiot.io/kilo-docs-fr/kilo-iot-server/rules-engine/edit-locks-and-team-handoffs.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
