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.
Personnalisation

Configuration avancée de la télémétrie

Télémétrie dans Dokos

Dokos intègre un système de télémétrie anonyme et optionnel pour collecter des données d'utilisation. Ces informations aident l'équipe Dokos à comprendre comment les utilisateurs interagissent avec le système et à améliorer les fonctionnalités en conséquence.

Activation de la télémétrie

La télémétrie est désactivée par défaut. Pour l'activer :

  1. Allez dans Paramètres > Système > Paramètres système
  2. Dans l'onglet Système, cherchez la section Télémétrie
  3. Cochez la case Activer la télémétrie
  4. Sauvegardez les modifications

⚠️ Important : Aucune donnée n'est collectée sans votre consentement explicite.


Configuration avancée pour les développeurs

1. Personnalisation des événements de télémétrie

Les événements de télémétrie peuvent être étendus ou modifiés via des hooks Python. Voici comment ajouter un nouvel événement :

Exemple : Ajouter un événement personnalisé

# Dans votre fichier hooks.py
from frappe.utils.telemetry import capture

def after_install():
    capture(
        event_name="custom_event_triggered",
        properties={
            "custom_property": "valeur_exemple",
            "site_age_days": frappe.utils.date_diff(frappe.utils.nowdate(), frappe.db.get_value("System Settings", None, "creation"))
        }
    )

2. Désactivation conditionnelle

Vous pouvez désactiver la télémétrie pour certains environnements ou utilisateurs en utilisant un hook :

# Dans votre fichier hooks.py
def validate_telemetry():
    if frappe.local.site == "site_de_test":
        frappe.db.set_value("System Settings", None, "enable_telemetry", 0)

3. Intégration avec PostHog/Pulse

Dokos utilise frappe.utils.telemetry qui peut être configuré pour envoyer les données vers PostHog ou Pulse. Pour configurer l'endpoint :

# Dans site_config.json
{
    "telemetry": {
        "posthog": {
            "api_key": "votre_clé_api_posthog",
            "host": "https://app.posthog.com"
        }
    }
}

Télémétrie spécifique à HRMS

Le module HRMS de Dokos inclut une télémétrie spécialisée pour analyser l'utilisation des fonctionnalités RH. Voici les événements spécifiques capturés :

Événements d'utilisation

  • leave_application_submitted : Soumission d'une demande de congé
  • expense_claim_submitted : Soumission d'une note de frais
  • attendance_marked : Enregistrement d'une présence
  • shift_assignment : Assignation d'un planning
  • shift_swap_requested : Demande d'échange de quart (via l'application mobile)

Jalons d'activation

Ces événements sont capturés une seule fois pendant les 30 premiers jours suivant l'installation :

  • first_employee_created : Création du premier employé
  • first_shift_type_created : Configuration du premier type de planning
  • first_salary_structure_created : Création de la première structure salariale
  • first_salary_slip_generated : Génération du premier bulletin de paie
  • first_payroll_entry_created : Lancement du premier cycle de paie
  • first_job_opening_created : Création de la première offre d'emploi
  • first_performance_review_created : Création de la première évaluation de performance
  • hr_workspace_viewed : Consultation d'un espace de travail RH
  • hr_list_viewed : Ouverture d'une liste RH (ex: Liste des employés)
  • hr_form_opened : Ouverture d'un formulaire RH (ex: Fiche employé)
  • hr_report_viewed : Consultation d'un rapport RH (limité aux rapports des modules RH et Paie)

Résumé quotidien des présences

Un événement attendance_daily_summary est généré quotidiennement avec les propriétés suivantes :

  • total_checkins : Nombre total de pointages
  • participation_rate : Taux de participation (0-1)
  • weekday_distribution : Répartition des pointages par jour de la semaine

Bonnes pratiques

  1. Respectez la vie privée : Ne capturez jamais d'informations personnelles ou identifiables.
  2. Limitez la fréquence : Évitez de capturer des événements trop fréquents qui pourraient surcharger le système.
  3. Documentez les événements : Maintenez une liste à jour des événements de télémétrie dans votre documentation interne.
  4. Testez en environnement de développement : Vérifiez que la télémétrie ne s'active pas pendant les tests ou les migrations.

Dépannage

Problème : Les événements ne sont pas envoyés

  1. Vérifiez que la télémétrie est activée dans Paramètres système
  2. Assurez-vous que le site n'est pas en mode maintenance
  3. Vérifiez les logs pour des erreurs liées à frappe.utils.telemetry
  4. Confirmez que l'endpoint PostHog/Pulse est correctement configuré

Problème : Données dupliquées

Si vous observez des événements dupliqués, vérifiez que vos hooks ne déclenchent pas plusieurs fois la capture d'événements. Utilisez des décorateurs comme @frappe.whitelist() pour éviter les déclenchements multiples.


Ressources supplémentaires