Aller au contenu

Performance — administration

À quoi ça sert

Ce module permet à un administrateur RH de piloter la gestion de la performance : cascade d'objectifs, création de modèles d'évaluation et de cycles d'appraisal, campagnes de feedback à 360°, ainsi que le pilotage des outils d'engagement (enquêtes de satisfaction, pulse surveys, reconnaissance entre pairs).

Prérequis

Prérequis

  • Modules sous licence : APPRAISAL
  • Permissions : evaluation.create, evaluation.manage, evaluation.objective.approve, evaluation.oneonone.manage, satisfaction.survey.create, satisfaction.survey.distribute, satisfaction.survey.respond, satisfaction.feedback.send
  • Rôles : MANAGER, HR_MANAGER, ORG_ADMIN

Comment ça marche

1. Créer un modèle d'évaluation (template)

  1. Ouvrez Performance → Modèles (/dashboard/admin/performance/templates).
  2. Créez un modèle composé de sections pondérées (SectionType : SELF_ASSESSMENT, MANAGER_REVIEW, SHARED) contenant chacune des questions (QuestionType : notation ou texte libre).
  3. Le poids des sections doit totaliser 100 % ; l'application refuse l'enregistrement sinon.
  4. Un modèle utilisé par un cycle existant ne peut pas être supprimé (protection d'intégrité).

2. Lancer un cycle d'évaluation (appraisal cycle)

  1. Ouvrez Performance → Cycles (/dashboard/admin/performance/cycles) et créez un cycle : nom, période, modèle associé.
  2. Le cycle démarre en DRAFT. Cliquez sur Ouvrir pour le passer en OPEN : ceci génère automatiquement une fiche d'évaluation (Appraisal) pour chaque employé actif, avec des réponses vides pré-remplies pour chaque question du modèle.
  3. Chaque évaluation individuelle progresse ensuite via ses propres statuts : PENDING → SELF_ASSESSMENT (l'employé répond à ses questions) → MANAGER_REVIEW (le manager répond aux siennes) → PENDING_SIGN_OFF → COMPLETED une fois signée par les deux parties.
  4. Passez le cycle en REVIEWING puis CLOSED une fois toutes les évaluations finalisées.

3. Suivre la cascade d'objectifs

  1. Ouvrez Performance → Objectifs (/dashboard/admin/performance/objectives).
  2. Un objectif est rattaché à un périmètre (ObjectiveOwnerType : COMPANY, DEPARTMENT, TEAM, INDIVIDUAL) et à un type (ObjectiveType : QUANTITATIVE, QUALITATIVE, DEVELOPMENT, BEHAVIORAL).
  3. Utilisez Cascader pour créer un objectif enfant hérité d'un objectif parent (ex. objectif d'équipe décliné en objectifs individuels) ; l'écran Arborescence (tree) visualise toute la cascade.
  4. Chaque objectif porte des KPI pondérés (le total des poids doit faire 100 %) et des jalons datés (ObjectiveMilestone), avec rappels automatiques avant échéance.
  5. Statuts : DRAFT → PROPOSED → APPROVED → IN_PROGRESS → COMPLETED, ou NOT_ACHIEVED (décision réservée aux détenteurs de evaluation.objective.approve).

4. Organiser une campagne de feedback à 360°

  1. Créez d'abord un questionnaire réutilisable sous Performance → 360° → Questionnaires (/dashboard/admin/performance/feedback-360/questionnaires) : questions de notation ou texte libre, groupées par catégorie.
  2. Créez une campagne (/dashboard/admin/performance/feedback-360) liée à ce questionnaire, avec un seuil minimum de répondants pour l'anonymat (minRespondentsForAnonymity).
  3. Tant que la campagne est en DRAFT, ajoutez des sujets (employés évalués) puis, pour chacun, des évaluateurs (Relationship : SELF, MANAGER, PEER, DIRECT_REPORT, OTHER) — l'écran propose des évaluateurs suggérés automatiquement (le sujet lui-même, son manager, jusqu'à 3 pairs du même département, tous ses subordonnés directs), mais l'ajout reste une action manuelle.
  4. Cliquez sur Lancer : la campagne passe en ACTIVE et notifie tous les évaluateurs invités. Une campagne ne peut pas être lancée sans au moins un sujet.
  5. À la clôture (Fermer, CLOSED), le nombre de répondants est calculé par sujet et un rapport est généré et partagé avec l'employé concerné.
  6. Dans le rapport, les retours SELF et MANAGER sont toujours visibles ; les retours PEER/DIRECT_REPORT/OTHER ne sont révélés (moyenne + commentaires) que si le nombre de répondants distincts atteint le seuil d'anonymat configuré — sinon ils restent masqués pour protéger l'anonymat.

5. Piloter l'engagement (satisfaction)

  1. Enquêtes (/dashboard/admin/satisfaction/surveys) : créez une enquête (SurveyType : ENGAGEMENT, PULSE, ONBOARDING, EXIT, CUSTOM), définissez ses questions et conditions d'affichage, ciblez une population, puis Activer (SurveyStatus DRAFT → SCHEDULED/ACTIVE → CLOSED). Le taux de réponse et les résultats agrégés sont consultables en cours et après clôture.
  2. Pulse surveys : modèles de mini-sondages récurrents ; consultez la tendance dans le temps (trend) et le taux de réponse par diffusion.
  3. Reconnaissance entre pairs : gérez la liste des valeurs d'entreprise utilisées pour qualifier les messages de reconnaissance (FeedbackType : KUDOS, FEEDBACK, APPRECIATION, VALUES_SHOUTOUT) et consultez le tableau d'alignement aux valeurs (values-alignment) pour voir la répartition des messages envoyés dans l'entreprise.

Qui peut faire quoi

Permission requise Rôles concernés
evaluation.create MANAGER, HR_MANAGER, ORG_ADMIN
evaluation.manage MANAGER, HR_MANAGER, ORG_ADMIN
evaluation.objective.approve MANAGER, HR_MANAGER, ORG_ADMIN
evaluation.oneonone.manage MANAGER, HR_MANAGER, ORG_ADMIN
satisfaction.survey.create MANAGER, HR_MANAGER, ORG_ADMIN
satisfaction.survey.distribute MANAGER, HR_MANAGER, ORG_ADMIN
satisfaction.survey.respond MANAGER, HR_MANAGER, ORG_ADMIN
satisfaction.feedback.send MANAGER, HR_MANAGER, ORG_ADMIN
Permission Donne accès à
evaluation.create Répondre à sa propre auto-évaluation ; consulter/gérer ses objectifs, cycles en lecture (permission également utilisée en écriture pour la création/mise à jour d'objectifs)
evaluation.manage Gérer les modèles, les cycles, valider la revue manager, consulter toutes les évaluations
evaluation.objective.approve Approuver ou classer un objectif comme non atteint
evaluation.oneonone.manage Superviser tous les 1:1 de l'entreprise (au-delà du binôme manager/employé concerné)
evaluation.feedback360.manage Créer/gérer questionnaires et campagnes 360°, consulter tous les rapports
evaluation.feedback360.respond Répondre à une invitation d'évaluation 360°, consulter son propre rapport une fois partagé
satisfaction.survey.create / .distribute / .respond Créer une enquête ou un pulse ; la diffuser/activer/consulter les résultats ; y répondre
satisfaction.feedback.send Envoyer un message de reconnaissance, consulter son fil
satisfaction.feedback.manage_values Gérer la liste des valeurs d'entreprise, consulter le tableau d'alignement

Permission non pré-assignée

evaluation.feedback360.respond est intentionnellement seedée mais non attribuée à aucun rôle par défaut (voir la migration V220) : chaque tenant doit décider explicitement qui peut répondre à une invitation 360° (généralement tous les employés) et l'ajouter à un rôle personnalisé ou au rôle employé standard.

Rôle système Accès
ORG_ADMIN Toutes les actions (permission globale)
HR_MANAGER evaluation.manage (via V221, corrige un défaut initial où seuls les managers de ligne pouvaient boucler la revue)
MANAGER evaluation.manage (revue manager de ses évaluations d'équipe)

Détails techniques

Détails techniques

Entités performance : EvaluationFormTemplate/EvaluationFormSection/EvaluationFormQuestion, AppraisalCycle, Appraisal/AppraisalAnswer, Objective/ObjectiveKpi/ObjectiveMilestone, OneOnOne/OneOnOneAgendaItem/OneOnOneActionItem, FeedbackQuestionnaire/FeedbackCampaign/FeedbackSubject/FeedbackRequest/FeedbackResponse (package app.jigi.hr.appraisal.*).

Entités satisfaction : Survey/SurveyQuestion/SurveyAssignment, PulseTemplate, Feedback/CompanyValue (package app.jigi.hr.satisfaction.*).

Endpoints clés :

  • /hr/appraisals/templates, /hr/appraisals/cycles[/{id}/open], /hr/appraisals[/{id}/self|review|sign]
  • /hr/appraisals/objectives[/{id}/cascade|progress|tree|not-achieved]
  • /hr/appraisals/one-on-ones[/{id}/complete|cancel|agenda-items|action-items]
  • /hr/appraisals/feedback360/questionnaires, /hr/appraisals/feedback360/campaigns[/{id}/subjects|launch|close|suggested-reviewers], /campaigns/requests/{id}/responses
  • /hr/satisfaction/surveys[/{id}/conditions|targets|activate|close|responses|results], /hr/satisfaction/pulses[/templates|/{code}/trend], /hr/satisfaction/values, /hr/satisfaction/feedback[/feed|received|values-alignment]

Workflow : le sign-off d'une évaluation s'appuie sur PerformanceWorkflowCallback, qui relie l'appraisal au moteur générique de workflow (voir Workflows d'approbation) plutôt que sur une machine à états ad hoc.

Contrôle d'accès fin : au-delà des permissions ci-dessus, les services re-vérifient la relation réelle : pour un 1:1, l'appelant doit être le manager ou l'employé concerné (sauf evaluation.oneonone.manage) ; pour une réponse 360°, l'appelant doit être exactement l'évaluateur invité et la demande doit être PENDING ; pour un rapport 360°, seul evaluation.feedback360.manage ou le sujet lui-même (une fois le rapport partagé) peut le consulter.

Anonymat des rapports 360° : calculé par catégorie de question et par relation ; SELF/MANAGER toujours visibles, les autres relations masquées tant que le nombre de répondants distincts n'atteint pas minRespondentsForAnonymity — aucune fuite partielle de moyenne ou de commentaire en dessous du seuil.

Cas d'erreur et FAQ

Pourquoi mon évaluation reste-t-elle bloquée en attente de signature ? Le statut COMPLETED exige la signature des deux parties (employé et manager) — vérifiez laquelle des deux n'a pas encore signé.

Un employé peut-il voir les commentaires individuels de ses collègues dans son rapport 360° ? Non, jamais individuellement. Les retours PEER/DIRECT_REPORT/OTHER sont uniquement affichés sous forme de moyenne agrégée, et seulement si le nombre de répondants distincts atteint le seuil d'anonymat configuré sur la campagne.

Comment permettre à tous les employés de répondre aux invitations 360° ? Attribuez la permission evaluation.feedback360.respond au rôle employé standard (ou à un rôle personnalisé) — elle n'est assignée à aucun rôle par défaut à l'installation.

Peut-on supprimer un modèle d'évaluation déjà utilisé ? Non, tant qu'il est référencé par au moins un cycle d'évaluation, pour ne pas casser l'historique des évaluations déjà réalisées avec ce modèle.

Quelle est la différence entre une enquête (survey) et un pulse ? Une enquête classique est un événement ponctuel (onboarding, sortie, engagement annuel) ; un pulse est un mini-sondage court et récurrent, dont on suit la tendance dans le temps plutôt qu'un résultat isolé.

Voir aussi