Version de développement
Cette documentation décrit la version « next » (develop), non encore publiée. Pour la version stable, basculez sur « v5 » dans l'en-tête.
Generalites

Administration système

Dokos offre plusieurs outils pour administrer votre instance et assurer son bon fonctionnement. Cette section couvre les fonctionnalités avancées d'administration système, notamment la gestion des applications installées, des tâches planifiées et des permissions.

Administration système

Dokos offre plusieurs outils pour administrer votre instance et assurer son bon fonctionnement. Cette section couvre les fonctionnalités avancées d'administration système, notamment la gestion des applications installées, des tâches planifiées et des permissions.

Gestion des applications installées

La gestion des applications installées vous permet d'activer ou de désactiver des applications sans les désinstaller. Cela est particulièrement utile pour tester des fonctionnalités, résoudre des conflits ou mettre temporairement hors service une application sans perdre ses données.

Fonctionnalités clés

  • Désactiver une application : Masque ses API, pages, espaces de travail, types de documents, modules, etc.
  • Arrêter les tâches planifiées : Suspend les tâches planifiées définies par l'application.
  • Désengager les hooks : Empêche l'exécution des hooks définis par l'application.
  • Masquer les personnalisations : Cache les champs personnalisés et les paramètres de propriété créés par l'application.
  • Réactiver une application : Rétablit toutes les fonctionnalités de l'application comme avant la désactivation.

Comment activer ou désactiver une application

Via l'interface utilisateur

  1. Allez dans Paramètres > Applications installées (ou recherchez "Applications installées" via la barre de recherche rapide Ctrl+K).
  2. Dans le tableau Applications installées, trouvez l'application que vous souhaitez modifier.
  3. Cliquez sur le bouton Désactiver ou Activer selon l'action souhaitée.
  4. Confirmez l'action dans la boîte de dialogue qui apparaît.

Via la ligne de commande

Vous pouvez également activer ou désactiver une application en utilisant les commandes bench suivantes :

# Désactiver une application
bench disable-app [nom_de_l_application]

# Activer une application
bench enable-app [nom_de_l_application]

Exemple :

# Désactiver l'application "webshop"
bench disable-app webshop

# Activer l'application "webshop"
bench enable-app webshop

Comportement des applications désactivées

ÉlémentComportement lorsque l'application est désactivée
Types de documentsMasqués dans les recherches et les listes. Les permissions sont ignorées.
Pages et espaces de travailMasqués dans l'interface utilisateur.
APIs et méthodes whitelistéesNon accessibles.
Tâches planifiéesSuspendues et non exécutées.
HooksNon exécutés.
Champs personnalisésMasqués dans les formulaires.
Paramètres de propriétéIgnorés.
NotificationsNon envoyées.
Recherche globaleLes types de documents de l'application n'apparaissent pas dans les résultats.
Invitations utilisateurLes types de documents de l'application ne sont pas disponibles pour les permissions.
TraductionsLes traductions de l'application ne sont pas chargées.

Hooks de désactivation et d'activation

Dokos propose des hooks pour exécuter des actions personnalisées avant ou après la désactivation ou l'activation d'une application. Ces hooks sont définis dans le fichier hooks.py de votre application.

HookDescription
before_disableExécuté avant la désactivation de l'application.
after_disableExécuté après la désactivation de l'application.
before_enableExécuté avant l'activation de l'application.
after_enableExécuté après l'activation de l'application.

Exemple d'utilisation dans hooks.py :

# hooks.py
def before_disable(app_name):
    frappe.log(f"L'application {app_name} est sur le point d'être désactivée.")
    # Ajoutez ici votre logique personnalisée

def after_disable(app_name):
    frappe.log(f"L'application {app_name} a été désactivée.")
    # Ajoutez ici votre logique personnalisée

def before_enable(app_name):
    frappe.log(f"L'application {app_name} est sur le point d'être activée.")
    # Ajoutez ici votre logique personnalisée

def after_enable(app_name):
    frappe.log(f"L'application {app_name} a été activée.")
    # Ajoutez ici votre logique personnalisée

Bonnes pratiques

  • Testez en environnement de développement : Avant de désactiver une application en production, testez l'impact dans un environnement de développement.
  • Vérifiez les dépendances : Assurez-vous qu'aucune autre application ne dépend de celle que vous souhaitez désactiver. Dokos empêchera la désactivation si des dépendances existent.
  • Documentez les changements : Informez votre équipe des applications désactivées pour éviter les confusions.
  • Surveillez les logs : Après une désactivation ou une activation, vérifiez les logs pour détecter d'éventuelles erreurs.
  • Utilisez les hooks avec prudence : Les hooks before_disable et before_enable peuvent annuler l'opération s'ils lèvent une exception.

Gestion des tâches planifiées

Les tâches planifiées (ou scheduled jobs) permettent d'automatiser des processus récurrents dans Dokos, comme l'envoi de rapports, la synchronisation de données ou la maintenance.

Visualiser les tâches planifiées

  1. Allez dans Paramètres > Tâches planifiées (ou recherchez "Tâches planifiées" via la barre de recherche rapide Ctrl+K).
  2. La liste affiche toutes les tâches planifiées, leur statut, leur prochaine exécution et leur méthode associée.

Désactiver une tâche planifiée

Pour désactiver une tâche planifiée :

  1. Ouvrez la tâche planifiée depuis la liste.
  2. Décochez la case Actif.
  3. Enregistrez les modifications.

Note : Les tâches planifiées associées à une application désactivée sont automatiquement suspendues et ne s'exécutent pas.

Bonnes pratiques

  • Planifiez pendant les heures creuses : Évitez de planifier des tâches gourmandes en ressources pendant les heures de pointe.
  • Surveillez les échecs : Configurez des notifications pour être alerté en cas d'échec d'une tâche planifiée.
  • Documentez les tâches : Ajoutez une description claire pour chaque tâche planifiée afin que votre équipe comprenne son utilité.

Permissions et sécurité

Filtres de permissions pour les applications désactivées

Lorsque une application est désactivée, Dokos applique automatiquement des filtres de permissions pour masquer ses types de documents. Voici comment cela fonctionne :

  • Permissions utilisateur : Les types de documents d'une application désactivée ne sont pas visibles dans les listes de permissions utilisateur.
  • Recherche globale : Les enregistrements des types de documents désactivés n'apparaissent pas dans les résultats de recherche.
  • Invitations utilisateur : Les types de documents désactivés ne sont pas disponibles lors de la création d'invitations utilisateur.

Bonnes pratiques

  • Limitez les permissions administratives : Seuls les utilisateurs de confiance devraient avoir accès aux outils d'administration système.
  • Vérifiez les permissions après une désactivation : Assurez-vous que les utilisateurs n'ont plus accès aux fonctionnalités de l'application désactivée.
  • Utilisez des rôles dédiés : Créez des rôles spécifiques pour l'administration système afin de mieux contrôler les accès.

Résolution des problèmes

Problèmes courants et solutions

ProblèmeSolution
Une application ne se désactive pasVérifiez que l'application n'a pas de dépendances actives. Utilisez la commande bench list-apps pour vérifier les dépendances.
Les tâches planifiées ne s'exécutent pas après une activationVérifiez que la tâche planifiée est marquée comme Actif et que l'application est correctement activée.
Les pages ou espaces de travail sont toujours visibles après une désactivationRafraîchissez la page ou videz le cache de votre navigateur. Si le problème persiste, vérifiez que l'application est bien désactivée dans Applications installées.
Les hooks ne s'exécutent pasVérifiez que les hooks sont correctement définis dans le fichier hooks.py de l'application et que le nom de l'application est correctement orthographié.

Journalisation

Les opérations de désactivation et d'activation sont journalisées dans les logs de Dokos. Pour consulter les logs :

  1. Allez dans Paramètres > Journal des erreurs (ou recherchez "Journal des erreurs" via la barre de recherche rapide Ctrl+K).
  2. Filtrez par Type de document = "Installed Application" pour voir les logs liés aux applications installées.

Exemple d'utilisation

Scénario — Maison Verte SARL Le responsable informatique de Maison Verte souhaite tester une nouvelle version de l'application "webshop" sans impacter les utilisateurs. Il décide de désactiver temporairement l'application existante.

Étapes suivies :

  1. Il ouvre Paramètres > Applications installées.
  2. Il trouve l'application "webshop" dans le tableau et clique sur Désactiver.
  3. Il confirme la désactivation dans la boîte de dialogue.
  4. Il vérifie que les pages et types de documents de l'application ne sont plus visibles dans l'interface.
  5. Il installe et configure la nouvelle version de l'application.
  6. Une fois les tests terminés, il réactive l'application "webshop" en cliquant sur Activer.

Résultat : La transition vers la nouvelle version de l'application s'est déroulée sans interruption pour les utilisateurs.

Résumé des commandes bench utiles

CommandeDescription
bench list-appsListe toutes les applications installées.
bench disable-app [nom_de_l_application]Désactive une application.
bench enable-app [nom_de_l_application]Active une application.
bench migrateApplique les migrations de base de données, y compris l'état des applications désactivées.