📓 Versionner et builder l'eBook de son Entretien Annuel d'Evaluation sur Git(Hub)

adriens - Mar 25 - - Dev Community

🪝 Contexte

Chaque année nous utilisons monportailrh.nc pour saisir notre Entretien annuel d'échange :

  • L'atteinte des objectifs passés
  • Les objectifs de l'année à venir

Ainsi que d'autres éléments liés par exemple à la performance des agents ou aux conditions de travail et moyens (matériel, formation, ...).

🎬 Live démo 🍿

👉 Deux points remarquables

Sur le site, on a :

  • La possibilité d'activer un mode collaboratif où les deux parties (manager et collaborateur) saisissent des changements dans les mêmes champs, en même temps
  • Des zones de texte éditables... où le dernier qui saisit à raison (la dernière modification écrase la précédente)

Or, lors du processus de saisie et réflexion :

  • Il peut arriver que l'on arrive à expiration de la session
  • Les zones de texte sont en texte brut
  • Les zones texte doivent être étirées lorsque l'on charge du contenu

Pour contourner cela j'ai alors commencé à saisir mes contenus en markdown directement et à utiliser ce contenu comme base de discussion avec mon manager,

depuis mon éditeur de code préféré pour ce genre de chose : VsCode... puis à le copier/coller dans les formulaires.

La sensation était que disposer d'un affichage stylé (liste, paragraphes, liens, ...) était extrêmement confortable et changeait totalement mon expérience de l'EAE (Entretien Annuel d'Echange),** y compris dans le processus de collaboration avec mon manager.**

Je venais de découvrir une toute nouvelle et excitante expérience utilisateur.

💡 Les idées

Et puis un jour... un flot d'idées à commencé à s'imposer :

_
Ça serait super cool (et un peu geek) de traiter mon EAE avec nos outils de dev et de charger tout cela sur GitHub pour collaborer dessus !_

Puis, juste quelques jours plus tard :

Et si... J'en profitais même pour mettre une chaîne de build autour ces données ?

Dès lors, je voulais voire au plus vite si l'idée tiendrait ses promesses...

🤓 Les EAEs pour les geeks (nerds ?)

Très vite, la solution a émergé, très simple :

  • Une repo template pour distribuer le modèle de repo (et donc la possibilité de créer des repos privées à partir de ce modèle)
  • Des markdowns pour le contenu : un fichier par étape de l'EAE pour un versioning optimal
  • pandoc toolchain pour builder une version confortable/imprimable en phase de travail (ePub, pdf, docx, html)
  • Makefile pour builder
  • Processus classique de gestion de code autour de git, discussions, issues et planning, PRs,...

🤯 Assistance IA

Dès lors que le contenu est disponible en fichiers structurés et interopérables, on bénéficie entre autre de toutes les fonctionnalités de nos IDEs... et donc... des opportunités de bénéficier de services d'Intelligence artificielle tels que :

⚡ Blitz demo

Au final, pour déployer _from scratch _ et être prêt, c'est aussi simple que cela depuis le terminal :

brew install pandoc
pip install gitchangelog
gh repo create my-eae --description "Repo de mon EAE" \
    --private --template opt-nc/template-eae
gh repo clone my-eae && cd my-eae
make help
make epub
Enter fullscreen mode Exit fullscreen mode

Et à ce stade, la première version ePub est buildée :

Image description

🔖 Enrichir avec des raccourcis

J'en ai alors profité pour enrichir avec des contenus tels que les raccourcis vers des ressources utiles, très utiles lors de la campagne des EAEs
Image description

📜 Enrichir avec l'historique git

Assez naturellement est arrivée l'envie d'avoir la log détaillée de la repo git, directement au sein du document.

Grâce à pandoc et gitchangelog, j'ai pu ajouter la log :

Image description

📕 Pdf via LaTeX

Egalement disponible mais finalement moins pratique : l'export pdf... via LaTeX :

Image description

🪶 Des fichiers très légers

Pour partager efficacement autour de documents (par exemple sur le cloud), disposer de fichiers très légers est également un atout... et de ce côté-là, les résultats sont plutôt très satisfaisants :

Image description

📓 ePub et eBook sur liseuse

Dans la foulée j'ai pu commencer à

consulter mon EAE sur ma liseuse pour faire la revue plus confortablement... et sans imprimer.

Image description

Image description

🪙 Bénéfices ✨

  • Historisation fine de toute modification au commit (signé) près
  • Un EAE finalisé implique un tag et une release avec des assets
  • On peut suivre son EAE tout au long de sa carrière même lorsque l'on change d'organisation
  • Visu sur le versioning
  • Notifications sur les changements possibles (Teams, Slack) via des applications ou webhooks ou encore IFTTT, Zapier,...
  • Production de métriques
  • Facilité de saisie et d'accès tout au long de l'année
  • Production de documents de travail portables (ePub pour liseuse), pdf via LaTeX
  • Pas de timeouts lors de la conception/revue des objectifs
  • Outil de sasie optimal pour les codeurs (VS Code, IntelliJ, vim, emacs,...) puisque contenu markdown natif
  • Possibilité pour le manager de merger les fichiers de plusieurs agents via des chaînes de traitement dédiées
  • Possibilité de lier des tickets d'objectifs à des commits lors de la modificaiton de l'EAE, voire à utiliser des labels
  • Revue très confortable grâce aux éditeurs Markdown
  • Accessiblité : possiblité de zoomer sur le ePub notamment pour une taille de fonte optimale
  • Apprendre à compiler des documents, des livres avec pandoc
  • Possibilité de faire le travail de revue, y compris avec les collaborateurs externes
  • Possiblité de faire des drafts via des branches
  • Possiblité de faire des propostions via des Pull Requests
  • Facilite le travail de préparation, en particulier en distanciel
  • Possiblité d'éditer depuis un env confortable web responsive (eg. tablette) ou codespace
  • Possibilité pour un manager d'aggréger un fichier donné entre plusieurs agents pour créer des contenus dédiés aux besoins matériels par exemple
  • Exports docx permettant une collaboration ou une publication plus aisée d'offres d'emplois

🐙 Collaborer sur le contenu avec GitKraken

Durant le processus d'élaboration, il est également possible de mettre la dataviz au centre du processus, par exemple avec GitKraken :

📽️ Dataviz : revivre les échanges en live

gource permet de voir l'historique
des changement de code via de belles animations.

Il est donc possible de

se passer le film mettant en scène le processus collaboratif autour de l'EAE :

🔍 Découverte d'outils et pratiques

Last but not least, des outils découverts lors de cette expérimentation :

🙏 Feedback

N'hésitez à donner vos feedbacks et partager vos idées de réalisations ou applications sur le projet :

GitHub logo opt-nc / template-eae

Préparer ses EAEs pour monportailrh.nc en markdown et collaborer via GH.

🤓 template-eae

Une repo template dédiée aux EAEs sur monportailrh.nc et mener la prépartion de ce moment avec des outils de développeurs ouvrant de nouvelles perspectives autour de la collaboration.

🤓 Des EAEs sur git 🙀

Parce'que...

gitGraph
   commit
   branch EAE-2022
   checkout EAE-2022
   commit id: "Identifitcation agent"
   commit id: "Evol fiche de poste"
   commit id: "Tenue du poste"
   commit id: "Appréciation"
   commit id: "Autoévaluation"
   commit id: "Plan Actions"
   commit id: "Synthèse"
   commit id: "Avancement"
   checkout main
   merge EAE-2022
   commit

❔ Évaluation et avancement

Cf le site officiel de la DRHFPNC :

Chaque année, tous les agents permanents (titulaires et non titulaires) participent à un entretien annuel d'évaluation conduit par leur responsable hiérarchique direct.

En application de l’article 41 de l’arrêté n° 1065 du 22 août 1953 portant statut général des fonctionnaires des cadres territoriaux, il doit être procédé à l’évaluation de la valeur professionnelle de chaque fonctionnaire par l’attribution d’une

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .