From fd1cbd9e68d66b5fabf36c1bae21812ce0af710b Mon Sep 17 00:00:00 2001 From: William Phetsinorath Date: Mon, 19 Oct 2026 07:48:25 +0200 Subject: [PATCH 1/3] doc: documenter l'archivage fiable d'un projet Co-authored-by: Automata --- docs/administration/projets.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/docs/administration/projets.md b/docs/administration/projets.md index f3a06f5..31801dc 100644 --- a/docs/administration/projets.md +++ b/docs/administration/projets.md @@ -18,3 +18,15 @@ En cliquant sur le projet concerné, une autre page s'ouvre sur laquelle les inf - La configuration des plugins pour ce projet en particulier ![projet détail](/img/console_admin/projet_detail.png) + +## Archivage d'un projet + +La suppression d'un projet déclenche d'abord le nettoyage de l'ensemble de ses ressources externes (dépôts, environnements...), puis son archivage en base. + +Le projet est verrouillé avant le nettoyage : toute modification est refusée pendant l'opération. + +- Si le nettoyage échoue sur un service, le projet passe au statut « échoué » et l'API renvoie une erreur 422. Les nettoyages étant idempotents, la suppression peut être rejouée telle quelle. +- Si le projet est modifié pendant le nettoyage, l'API renvoie une erreur 409 et l'archivage est refusé ; rejouez la demande. +- En cas de succès, les ressources externes sont supprimées, le slug est suffixé et le projet passe au statut « archivé ». + +Un projet « échoué » reste verrouillé : un administrateur peut le déverrouiller puis relancer la suppression. From 08f86241247d88c69e5e4ce335dc52e6714675e7 Mon Sep 17 00:00:00 2001 From: William Phetsinorath Date: Tue, 27 Oct 2026 16:14:21 +0100 Subject: [PATCH 2/3] doc: retirer la garantie d'idempotence des nettoyages Co-authored-by: Automata --- docs/administration/projets.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/administration/projets.md b/docs/administration/projets.md index 31801dc..6e8bd17 100644 --- a/docs/administration/projets.md +++ b/docs/administration/projets.md @@ -25,7 +25,7 @@ La suppression d'un projet déclenche d'abord le nettoyage de l'ensemble de ses Le projet est verrouillé avant le nettoyage : toute modification est refusée pendant l'opération. -- Si le nettoyage échoue sur un service, le projet passe au statut « échoué » et l'API renvoie une erreur 422. Les nettoyages étant idempotents, la suppression peut être rejouée telle quelle. +- Si le nettoyage échoue sur un service, le projet passe au statut « échoué » et l'API renvoie une erreur 422. Une partie des ressources a pu être supprimée avant l'échec : examinez et corrigez l'erreur du service concerné avant de relancer, un rejeu identique n'est pas garanti suffisant (cf. cloud-pi-native/console#2785). - Si le projet est modifié pendant le nettoyage, l'API renvoie une erreur 409 et l'archivage est refusé ; rejouez la demande. - En cas de succès, les ressources externes sont supprimées, le slug est suffixé et le projet passe au statut « archivé ». From 933ce76f4a02cb28dd6fe5a972e34aa80552a7f0 Mon Sep 17 00:00:00 2001 From: William Phetsinorath Date: Tue, 27 Oct 2026 17:05:56 +0100 Subject: [PATCH 3/3] =?UTF-8?q?doc:=20clarifier=20la=20reprise=20apr=C3=A8?= =?UTF-8?q?s=20=C3=A9chec=20et=20le=20r=C3=A9sultat=20de=20l'archivage?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Automata --- docs/administration/projets.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/administration/projets.md b/docs/administration/projets.md index 6e8bd17..d109013 100644 --- a/docs/administration/projets.md +++ b/docs/administration/projets.md @@ -25,8 +25,8 @@ La suppression d'un projet déclenche d'abord le nettoyage de l'ensemble de ses Le projet est verrouillé avant le nettoyage : toute modification est refusée pendant l'opération. -- Si le nettoyage échoue sur un service, le projet passe au statut « échoué » et l'API renvoie une erreur 422. Une partie des ressources a pu être supprimée avant l'échec : examinez et corrigez l'erreur du service concerné avant de relancer, un rejeu identique n'est pas garanti suffisant (cf. cloud-pi-native/console#2785). +- Si un service ne parvient pas à supprimer ses ressources, le projet passe au statut « échoué » (erreur API 422). Certaines ressources peuvent déjà avoir été supprimées. Consultez [les journaux](/administration/journaux) pour identifier le service en échec, corrigez le problème, puis relancez la suppression. Relancer sans corriger le problème peut échouer à nouveau (cf. [console#2785](https://github.com/cloud-pi-native/console/issues/2785)). - Si le projet est modifié pendant le nettoyage, l'API renvoie une erreur 409 et l'archivage est refusé ; rejouez la demande. -- En cas de succès, les ressources externes sont supprimées, le slug est suffixé et le projet passe au statut « archivé ». +- En cas de succès, les ressources du projet dans les services externes sont supprimées. La Console conserve un enregistrement du projet au statut « archivé » : son nom et son identifiant technique sont modifiés pour distinguer cette archive, qui ne permet pas de restaurer les ressources supprimées (cf. [documentation#119](https://github.com/cloud-pi-native/documentation/issues/119)). Un projet « échoué » reste verrouillé : un administrateur peut le déverrouiller puis relancer la suppression.