Bonjour à tous
Après 15 ans sans écrire une ligne de code j'ai développé une application destinée au montage de plans de formations à partir des évaluations des collaborateurs, et arrivé à ce que je croyais être la fin je m'aperçois non seulement que la structure de la base est incorrecte pour obtenir le résultat, mais que je n'ai aucune idée de la bonne manière de procéder. En résumé : Au secours !!
L'appli est bâtie sur les principes suivants
Chaque collaborateur (environ 300) appartient à une des 6 agences, et a un poste affecté parmi une vingtaine, lui-même dans une famille de postes, ce qui détermine les liaisons suivantes (en principe jusque-là ça va...):
Chaque collaborateur est évalué sur différents items selon son métier (plus de 300, régulièrement soumis à évolution)
Les items sont regroupés par famille et sous-famille, et sont affectés de manière nominale, prioritaire, ou pas du tout, à chaque métier de l'entreprise. Les derniers champs de "évaluation_items" correspondent à chaque métier (là déjà je pense que ça va pas)
Le but est d'obtenir, sachant que la liste des collaborateur, les métiers, les items, et plus généralement la totalité des données peut évoluer dans le temps, les éléments suivants en réseau depuis chaque agence:
La cartographie des compétences par métier :
Ici on voit par exemple que la compétence "Analyser le dossier d'appel d'offre" fait partie du métier "Responsable d'Affaires", sans être critique (valeur '1', en orange)
La compétence "Rechercher des solutions optimisées" fait également partie de ce métier, et en est une mission critique (valeur '2', en rouge)
La compétence "Présenter le dossier" ne fait par contre pas partie des compétences nécessaires à ce métier
Ce formulaire est basé sur la table "évaluation_items", qui contient 1 champ par métier (et c'est un des problèmes car il faut modifier la table à chaque changement de métier, ce qui interdit de séparer les données de l'application et complexifie beaucoup l'application"
Les évaluations par collaborateur
Chaque collaborateur est évalué sur son niveau actuel ("Niv"), son objectif de niveau ("Att"), et son niveau potentiel ("Pot"), le but étant d'évaluer chaque collaborateur sur ces 3 critères, dans un regroupement par métier (donc seulement avec les items concernés) pour obtenir ensuite une cartographie des compétences et des listes d'écarts (qui déterminerons les choix de formations communes)
Là encore un code couleur est appliqué en fonction des valeurs (pour l'instant en fonction des valeurs, en fait il devrait l'être en fonction des écarts / niveau attendu) et là aussi le rouge ou orange est appliqué en fonction du fait que l'Item soit critique pour ce métier (en gras) ou pas (les items qui ne concernent pas du tout ce métier ne sont pas affichés)
Dans la base actuelle chaque métier a sa propre table de critères d'évaluations, ce qui complexifie beaucoup le formulaire (les champs sont créés à l'ouverture en fonction du nombre de champs et d'un filtre sur les critères à afficher, c'est la pagaille...), la gestion de la base (les tables d'évaluation doivent être modifiées à chaque changement de poste ou nouveau collaborateur), les requêtes (par exemple je ne parviens pas à avoir de statistiques ou requêtes sur plusieurs métiers, et même le calcul de valeur moyenne par critère est compliqué...), et là encore empêche d'avoir l'application en local pour les données partagées à distance.
J'ai pensé à mettre les évaluations dans une seule table sans liaison et contenant seulement "n° de collaborateur", "n° d'Item", et les 3 critères d'évaluation, mais je ne parviens pas à les extraire sans tableau croisé dynamique que je maîtrise mal (euh ... plutôt pas du tout en fait) et la présentation reste un problème, tant en modification qu'en affichage de couleurs...
Donc en clair : Je ne sais pas quoi faire, merci d'avance de votre aide !!
Cdt
Arnal
Partager