WhosWho : le trombinoscope facile

Posté par  (site web personnel) . Édité par Ysabeau 🧶 et Benoît Sibaud. Modéré par Ysabeau 🧶. Licence CC By‑SA.
53
11
déc.
2021
Éducation

WhosWho est un logiciel permettant de réaliser facilement des trombinoscopes, comme utilisés dans les collèges, lycées ou universités. Fonctionnant sur Linux, il est codé en Python, utilise GTK3, s’appuie sur ImageMagick pour la mise en page et sur OpenCV pour le recadrage automatique des photos.

Logo WhosWho

Sommaire

Le besoin

J’ai travaillé quelques années dans un lycée agricole. La réalisation des trombinoscopes se faisait à mon arrivée par un logiciel propriétaire, dont le rôle de base est de simplifier la gestion d’un domaine Active Directory : on lui donnait la liste des élèves au format CSV, et pour chacun on pouvait fournir une photo. Ça marchait plutôt bien mais :

  • il fallait une photo du visage de chaque élève, correctement cadrée. Ça a l’air tout simple mais ce n’est pas forcément évident : les photos d’identité fournies à l’inscription sont souvent trop anciennes, donc il faut reprendre en photo tous les élèves, dont la moitié préfère se cacher sous une table plutôt que d’être pris en photo ;
  • il fallait sélectionner manuellement (oui, avec la souris) la photo pour chaque élève ;
  • c’est un logiciel non libre :-(

Et puis un jour ce logiciel fut abandonné, il fallait trouver une alternative. Le besoin me semblait simple (comme souvent me direz-vous), mais les logiciels libres y répondant n’étaient pas nombreux… En fait, je n’en ai trouvé qu’un : block_faces, un module pour l’environnement d’apprentissage Moodle. C’est probablement une bonne solution, mais je rêvais d’une solution dans l’esprit « KISS » donc je n’ai même pas pris le temps de l’essayer.

La technique

ImageMagick

J’ai eu la bonne idée d’aller voir du côté d’ImageMagick, que je connaissais de réputation comme « le couteau suisse » du traitement d’image, et j’y ai trouvé exactement ce dont j’avais besoin : la commande montage.

montage permet de mettre en page des images avec des labels, en précisant assez finement la géométrie de l’ensemble. Exemple tiré du lien précédent :

montage -label %f -frame 5 -background '#336699' -geometry +4+4 rose.jpg red-ball.png frame.jpg

Ce qui donne, à partir des images rose.jpg et red-ball.png le résultat suivant (ici le label est %f, soit le nom de l’image) : exemple_ImageMagick

En parcourant la documentation d’ImageMagick, je découvrais dans la foulée un autre utilitaire fort utile, convert, qui non seulement permet de changer le format d’une image (pour passer de JPG à PDF par exemple) mais aussi de la redimensionner (ou même d’appliquer d’autres effets si l’envie vous en prend).

Malgré mon peu de compétences en programmation, l’idée de faire un petit logiciel répondant à mon besoin devenait envisageable. Je décidais de me lancer avec Python.

OpenCV

À mon propre étonnement, j’arrivais assez vite à quelque chose de fonctionnel. Grisé par le succès, je rêvais maintenant que mes photos se recadrent toute seules : je n’arrivais toujours pas à prendre les photos correctement cadrées sur le visage, et faire ça à la main après coup est vraiment fastidieux.

En cherchant de quoi faire de la détection de visage, je trouvais OpenCV. L’utilisation me paraissait très complexe, mais je tombais heureusement sur la bibliothèque Python Willow qui simplifie à l’extrême le traitement d’image de base (rotation, découpe…) et la détection de visage.

Le résultat

Après l’ajout d’une interface graphique en GTK3 (fastoche ; hum…), WhosWho était né !

capture d’écran

Il suffit de lui fournir un répertoire contenant les photos des élèves et, idéalement, un fichier CSV contenant leur nom et prénom (l’ordre des élèves dans le fichier CSV devant correspondre à l’ordre des photos lorsqu’on les trie par nom de fichier).

WhosWho a été conçu pour s’adapter aux cas d’usage qui me semblaient habituels :

  • on peut changer l’intitulé du trombinoscope ;
  • on peut préciser qu’un élève n’a pas de photo, et une image « par défaut » sera utilisée (on peut d’ailleurs la changer si on le souhaite) ;
  • il est possible de corriger ou d’aider à la reconnaissance des visages, qui n’est pas parfaite (et même très étonnante parfois) ;
  • différents formats sont possibles, en 150 et 300ppp :
    • A4, portrait, 4x5
    • A4, portrait, 5x6
    • A4, landscape, 6x4
    • A4, landscape, 7x4
    • A3, portrait, 6x8
    • A3, landscape, 9x6
  • on peut choisir de trier les élèves par nom ou par prénom ;
  • si l’utilisation d’un fichier CSV est trop complexe pour l’utilisateur, il est possible de s’en passer complètement.

Les perspectives

Je pense être le seul à me servir de ce logiciel, une fois par an, pour quelques trombinoscopes d’une université. Je suppose que le code est très mal structuré, mais je n’ai pas les compétences et encore moins le temps pour améliorer ça. Ça n’empêche que je suis sûr que ce logiciel pourrait profiter à d’autres presque en l’état, si deux défauts étaient corrigés :

  • bien qu’internationalisé, aucune traduction n’est publiée (le français est fait mais pas commité) : je voulais utiliser Weblate pour faciliter le travail des traducteurs, mais n’ai pas eu le temps de le faire ;
  • la méthode d’installation actuelle via pip est trop compliquée pour beaucoup de monde. J’avais fait la promotion de WhosWho sur la liste de diffusion debian-edu dans l’espoir de voir apparaître un paquet Debian, mais sans succès. J’ai tenté de créer un paquet Flatpak pour le distribuer via Flathub, mais je suis resté coincé sur une erreur de nom d’application et d’icône manquante…

Si vous avez des compétences sur l’un de ces sujets et l’envie d’aider, n’hésitez pas à me contacter !

Aller plus loin

  • # Super mais...

    Posté par  . Évalué à 4.

    Je trouve ce petit programme super ! Il va faciliter la vie à beaucoup de personnes. Il faudrait cependant le tester sur Windows, car c'est sur ce système que travaillent majoritairement les écoles qui en auront bien besoin.
    J'essaierai de mettre un peu la main à la pâte si j'ai le temps ;)

  • # Idées de titrailles pour la presse

    Posté par  (site web personnel) . Évalué à 10. Dernière modification le 11 décembre 2021 à 16:10.

    • Naissance du Facebouc du Libre
    • La nouvelle licor^Wle nouveau poney à corne français
    • interview IPoT : « j'ai gagné mon premier million avec un trombinoscope d'université, avant de lancer Immédiagram, OuatesApp, OccultusVR, et je ai renommé la maison mère en Profond et j'ai lancé Approfond mon monde virtuel »
    • Bientôt Écoliers d'avant la déclinaison pour le marché seniors
  • # Trombinoscopes ?

    Posté par  . Évalué à 5.

    "WhosWho est un logiciel permettant de réaliser facilement des trombinoscopes […]"

    En gros c'est pour faire des genres de Facebook ?

    Emacs le fait depuis 30 ans.

    • [^] # Re: Trombinoscopes ?

      Posté par  (site web personnel) . Évalué à 2.

      Oui c'est ça, mais on ne peut pas poster ni mettre de like, et c'est garanti sans collecte de données :-)

      • [^] # Re: Trombinoscopes ?

        Posté par  . Évalué à 8.

        Attends, tu parles de collecter les photos de tout le monde, mettre leur nom dessus, mais pas faire de collecte de données ? Comme dirait le roi Loth, "c'est … moderne !".

        Emacs le fait depuis 30 ans.

        • [^] # Re: Trombinoscopes ?

          Posté par  (site web personnel) . Évalué à 4.

          Effectivement, il faut bien collecter les noms et les photos : une école avec des élèves anonymes, je n'y avais jamais pensé, le concept est intéressant :-D

          • [^] # Re: Trombinoscopes ?

            Posté par  . Évalué à 3.

            Techniquement, ça serait plutôt pseudonyme qu'anonyme, non ?

            Matricule 23415

            • [^] # Re: Trombinoscopes ?

              Posté par  (site web personnel) . Évalué à 6. Dernière modification le 13 décembre 2021 à 09:10.

              DarkKevin2022< tu as eu 11/20 à la dictée, c'est bien mais pas top. Par contre ton multi Baldounet a eu 8. Non les notes des multis ne s'additionnent pas.

              Le post ci-dessus est une grosse connerie, ne le lisez pas sérieusement.

              • [^] # Re: Trombinoscopes ?

                Posté par  (site web personnel) . Évalué à 4.

                Ne riez pas trop fort. Depuis quelques années il n’est plus possible de disposer d’un trombinoscope pour nos promotions sans accord des étudiants. On se retrouve avec à peine 30% d’images en général. Comme simultanément le nombre d’heures de cours a chuté drastiquement (à force d’efforts budgétaires sans précédent), associer un nom et un visage est une vraie gageure.

                « IRAFURORBREVISESTANIMUMREGEQUINISIPARETIMPERAT » — Odes — Horace

                • [^] # Re: Trombinoscopes ?

                  Posté par  (site web personnel) . Évalué à 1. Dernière modification le 07 janvier 2022 à 07:13.

                  Depuis quelques années il n’est plus possible de disposer d’un trombinoscope pour nos promotions sans accord des étudiants.

                  c'est ce que j'ai appliqué pour faire notre trombi en 92 dans notre école (moi ça me dérangeais de prendre leur image à leur insu, comme tu l'indiques : un trombi peut avoir plusieurs utilités) ; nous avons appliqué le respect du droit à l'image par défaut et indiqué que la seule finalité de l'image était pour le trombi, sans diffusion par Internet, même si à l'époque c'était plus compliqué :p mais pas de diffusion à la Strass (l'administration des élèves) typiquement vu que le trombi était géré par le BdE).
                  Résultat : 10% de photos manquantes :p (oui on a convoqué ceux qui étaient passés entre les mailles du filet de la chaîne de rentrée)

                  associer un nom et un visage est une vraie gageure.

                  Mieux vaut côtoyer les personnes ; connaître leur nom est accessoire, tant que le taf' est fait.
                  Et en TD, c'est de part et d'autre de faire un effort :-)
                  J'ai eu un prof' en 3A qui coupait le TD par une pause clope au bout de 45 min (le TD était de 2 h), l'important n'était pas la clope, c'est ce pour quoi il donnait ses cours, ce qu'il fallait en retenir (il m'a fait découvrir/comprendre les catalogues de composants), et avoir de l'initiative et de la conviction pour créer sa boîte. C'est un des seuls profs que j'ai vu sécher son cours (il avait un contrat à signer :p et s'en est excusé pour ceux venus en TD). Bah yavait son catalogue de composants à décortiquer :D

                  Ne riez pas trop fort

                  ça me semble légitime comme démarche, d'autant plus avec le RGPD qui ne requière que d'indiquer les finalités d'utilisation (et donc limiter la diffusion, notamment). Nous n'avions mis nos têtes en tant que participants / réalisateurs qu'en filigrane sur le 3ème de couverture, ce qui nous a valu une volée de bois vert, sans doute méritée :/

                  Dans notre trombi, pour une promo de 300 personnes, il nous a manqué 10% de photos, remplacées par une icône (pas forcément représentative de la personne : une abeille principalement), mais bon, sur le campus tu ne tardais pas à le/la connaître, ça suffit bien (local).

                  à force d’efforts budgétaires sans précédent

                  oui, bin ça ce n'est qu'une excuse qui me désole à chaque fois
                  nous avons fait bien plus sans thune, sur notre temps il est vrai :-) ça dépend (forcément) de l'implication de chacun :-)

                  • [^] # Re: Trombinoscopes ?

                    Posté par  . Évalué à 4.

                    oui, bin ça ce n'est qu'une excuse qui me désole à chaque fois
                    nous avons fait bien plus sans thune, sur notre temps il est vrai :-) ça dépend (forcément) de l'implication de chacun :-)

                    Tu es entrain de valider l'image du bon prof qui par abnégation fait des choses pour ses étudiants sans se soucier du budget parce qu'il sait que son métier est important etc ?

                    Le travail dans un bde ça dure quelques années. Personnellement je ne connais personne qui y soit resté 5 ans par exemple et je connais plusieurs bde dont l'unique travail consistait à organiser des soirées. Les prof sont là pour 40 ans et n'ont pas la même relation avec les étudiants ce qui est normal ils sont là pour juger. De plus être prof n'est pas une activité extrascolaire, je pense que les prof ont le droit à une vie à côté.

                    Tu va sans dire m'expliquer que tu as connu un prof aliéné à son travail qui faisait pleins de choses sans que cela ne pose de problème et qu'il avait l'air heureux d'accomplir son devoir vis à vis des étudiants. Est-ce que c'est une raison pour mettre la pression à toute la profession ? On a le même cas (en pire) pour le personnel médical qu'on pousse à bout (la situation actuelle n'étant qu'un révélateur du problème).

                    Si leur travail est si important, que l'apprentissage à nos étudiants est un devoir, d'une part ça serait logique que ce soit reconnu autrement qu'avec une trappe dans le dos d'autre-part n'hésitez pas à vous rapprocher de l'université la plus proche elle aura très probablement quelques heures de travail à vis donner. Il manque toujours un chargé de TP ou autre quelque part.

                    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

                    • [^] # Re: Trombinoscopes ?

                      Posté par  (site web personnel) . Évalué à 1.

                      Tu es en train de valider l'image du bon prof qui par abnégation fait des choses pour ses étudiants

                      j'en veux bien, ça a l'air d'être de la bonne…
                      Bin, non, je parle de l'implication possible dans un BdÉ (élèves hein), les profs ils font bien ce qu'ils peuvent (et j'en suis bien conscient).

                      Je ne parle pas de devoir, je parle de possibilité, de l'intérêt de s'impliquer même en n'étant qu'étudiant (j'avais peu de thunes à l'époque : j'ai passé des heures à optimiser la bouffe que nous proposions au bar tant en terme de coût que de qualité, vu que je voulais bouffer de bonnes choses).

                      après, tu peux bien imaginer d'autres choses plutôt que des lamentations : autant faire avancer, plutôt que de tenter de faire du sur-place ; perso, mes profs ne m'ont que rarement tenu rigueur de ne pas venir à leur cours et de me consacrer à d'autres activités plus intéressantes (bon, j'allais mini en TP de 4h dans la logique d'y passer le moins de temps : CR fourni au bout des 4 h, résultats fournis dans la mesure du possible, j'avais pas trop le temps d'y revenir ensuite…).

                      merci de ne pas surinterpréter mes propos ou me prêter des intentions que je n'ai pas indiquées :-)

                      • [^] # Re: Trombinoscopes ?

                        Posté par  . Évalué à 3.

                        J'imagine rien tu réponds à quelqu'un qui fait clairement parti de l'équipe enseignante ou administrative qu'il se trouve des excuses. Oui tu parles d'étudiants mais tu expliques que si les bde le font bénévolement ce n'est qu'une question d'implication. Tu n'assume peut-être pas mais je ne fais que lire.

                        https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

                        • [^] # Re: Trombinoscopes ?

                          Posté par  (site web personnel) . Évalué à 0.

                          ah oui, si tu prends Mr Anglade pour un simple prof', tu as sans doute une vision biaisée :-)

                          • [^] # Re: Trombinoscopes ?

                            Posté par  (site web personnel) . Évalué à 1. Dernière modification le 10 janvier 2022 à 23:50.

                            /me qui pensait qu'en tant qu'anciens participants (toi, moi, lui, nous) de LinuxFr.org n'avions pas à prendre en compte le CV de chacun :/ daiçu, daiçu /o\

                            (limite à se croire devant une RH qui coche école prépa / grande école alors que tu as 20 ans d'expérience o_O)

                    • [^] # Re: Trombinoscopes ?

                      Posté par  (site web personnel) . Évalué à 2.

                      Le travail dans un bde ça dure quelques années.

                      moui, 3-4 ans pour moi (je suis revenu à l'école pendant mon service militaire :p)

                      Personnellement je ne connais personne qui y soit resté 5 ans par exemple

                      je n'ai qu'un exemple effectivement :-) Winny nous avait motivé à monter des petits-déj' dès 9 h du mat' pour motiver les étudiants à aller en cours à 10 h :p

                      et je connais plusieurs bde dont l'unique travail consistait à organiser des soirées.

                      bin de 20 h à 4 h du mat' (+ 1 h mini pour nettoyer afin de laisser les lieux aussi propres que possibles, car ce n'est pas au ménage de gérer les conneries de la veille). Quasi tous les jeudi soir…
                      Puis le café Mimile le samedi soir, vu qu'autant proposer des activités le week-end pour ceux n'ayant pas les moyens de sortir (quand t'es sur un campus comme Ecully, c'est compliqué de rentrer ensuite de Lyon et t'as pas forcément la thune pour t'offrir les boîtes et les troquets…)
                      Éventuellement, tous les midi de 12h à 14h pour manger un dwich' de qualité / un croque-monsieur, un bon café, plutôt que la bouffe infâme du RU (que j'ai quitté dès mi-novembre de ma 1ère A… sans jamais y revenir)
                      Et en tant qu'élève, t'étais un peu 24h / 24 sur le campus, donc autant optimiser :D

                      => fais tes calculs :-)

                      Ça ne se fait pas tout seul, heureusement que nous étions plus d'une dizaine à être motivés pour nous relayer :-) (étudiant = bénévole pas rémunéré, simplement la satisfaction d'avoir fait un "truc" ou l'envie d'aider, ambiance convi, budget à gérer tout de même, se débrouiller pour trouver une caisse pour aller chercher le matos, quelques plans galères mais là les rugbeux aident bien… les fanfarons pour faire la zik voire plus, des bons souvenirs :D car j'en passe et des meilleures voire quelques plans galères gérés au mieux ou au moins pire on va dire :/)

        • [^] # Re: Trombinoscopes ?

          Posté par  (site web personnel, Mastodon) . Évalué à 5.

          Sans collecte autre que le strict nécessaire.

          « Tak ne veut pas quʼon pense à lui, il veut quʼon pense », Terry Pratchett, Déraillé.

    • [^] # Re: Trombinoscopes ?

      Posté par  (site web personnel, Mastodon) . Évalué à 3.

      Oui, les trombi des anciennes promos (ou classmates comme on dirait outre Atlantique.)

      PS: 2000/2011/1995 …pourquoi on a permis que 2004 prenne l'ascendance au point de devenir la plaie que l'on connait ? mystère bleu.

      “It is seldom that liberty of any kind is lost all at once.” ― David Hume

      • [^] # Re: Trombinoscopes ?

        Posté par  (site web personnel) . Évalué à 1.

        "Copains d'avant" est de 2001, et si les deux premiers n'ont pas percé, c'est parce qu'ils se limitent strictement aux retrouvailles d'anciens camarades alors que caca de biquette a englobé en un site de nombreux services Internet initialement fournis par des protocoles et applicatifs différents. Les fonctionnalités n'ont vraiment rien à voir.

        • [^] # Re: Trombinoscopes ?

          Posté par  (site web personnel) . Évalué à 5.

          N'oublions pas que les médias traditionnels ont fait une pub d'enfer aux fesses du bouc (et à truiteur) au point que le CSA avait du lever un sourcil.

          Le post ci-dessus est une grosse connerie, ne le lisez pas sérieusement.

        • [^] # Re: Trombinoscopes ?

          Posté par  (site web personnel, Mastodon) . Évalué à 2.

          Quels « nombreux services Internet initialement fournis par des protocoles et applicatifs différents » as-tu en tête ?

          “It is seldom that liberty of any kind is lost all at once.” ― David Hume

          • [^] # Re: Trombinoscopes ?

            Posté par  (site web personnel) . Évalué à 0.

            Difficile d'être exhaustif vu que évidemment, je le boycotte, mais de ce que j'ai compris, ça remplace un peu l'hébergement d'un site personnel, IRC, les forums(Web et Usenet), indirectement les courriels/listes de discussions, l’hébergement et la lecture de données multimédia… peut-être même le téléphone, les SMS?

            Je suis surpris que la question se pose, ça paraît évident non?

  • # Des fonctionnalités à piquer dans TrombinoSCO

    Posté par  (site web personnel) . Évalué à 7.

    Salut,

    De mon côté avec OpenAcadémie, j'ai développé TrombinoSCO, qui produit aussi des trombinoscopes, mais surtout qui répond au besoin de création de cartes de lycéens automatiquement remplies, et envoyant le truc en direct sur une imprimante à badges.

    Peut-être que les gens qui travailleront sur WhosWho auront envie de le regarder de plus près pour piquer des idées, j'en serais ravi.

    Le site "vitrine" pour téléchargement :
    http://openacademie.fr/trombinosco
    (pour télécharger, comme code établissement mettre par ex "toto")

    Description plus poussée avec notamment un changelog :
    http://www.intendancezone.net/spip.php?article882

    Intendant, donc méchant, mais libre !

  • # Annuaires

    Posté par  . Évalué à 3.

    Il faut le référencer sur http://www.education.free.fr et sur les autres annuaires de LL.

    • [^] # Re: Annuaires

      Posté par  . Évalué à 1. Dernière modification le 13 décembre 2021 à 11:11.

      Oui, et aussi prévenir Interpol!

      Je viens de regarder leur "liste rouge" et ils semblent avoir de gros soucis de cadrage/déformation de visage sur leur trombinoscope

      Sinon bravo, ca m'à l'air excellent et Willow est vraiement bien à utiliser

  • # Bravo mais attention à la PI

    Posté par  (site web personnel) . Évalué à 2.

    Bravo pour ce super boulot qui semble très pratique et très utile. IMHO c'est aussi utile pour les associations et certaines PME. C'est la puissance du KISS. Comme certains commentaires l'ont dit, des versions Wondiws et macOS contribueraient certainement au succès du logiciel.

    Cela dit, et sans vouloir être rabat-joie :

    • Même quand on collecte des données personnelles a minima, ça reste des données personnelles. Donc des données à traiter avec beaucoup de précaution quant au consentement des personnes, aux traitement appliqués et à la conservation des informations (droit d'accès et de rectification… toussa,toussa).

    • Attention aussi à la propriété intellectuelle car une simple visite sur le site de l'INPI permet de s'aperçevoir que "Who's Who" est le nom commercial de l'éditeur de l'ouvrage éponyme. De même, c'est une marque déjà déposée dans de nombreuses classes. Peut-être ne serait-il pas inutile de changer le nom du projet (ou bien de déposer la marque dans une classe libre). #jdcjdr comme disent les jeunes ;-)

    François

    "Il n'y a de richesse que d'hommes" (J. Bodin) - Trésorier de l'association GUTenberg (https://www.gutenberg-asso.fr/)

    • [^] # Re: Bravo mais attention à la PI

      Posté par  (site web personnel) . Évalué à 1.

      Effectivement, le rappel concernant le sérieux dans la gestion des données personnelles est toujours bon.

      Pour ce qui est de la propriété individuelle, je n'ai aucune idée de ce qu'il convient de faire en règle générale et dans ce cas : un petit logiciel libre qui a peu de chances de grandir, et dont le nom ressemble à des marques mais avec une orthographe différente. Je suis preneur de tout conseil à ce sujet !

  • # essai validé

    Posté par  . Évalué à 3.

    Merci,
    très facile d'utilisation, l'essai est approuvé.

    Serait-il possible d'ajouter dans le CSV une colonne "groupe" pour pouvoir regrouper les personne selon une catégorie. C'est quelque chose que j'ai de temps en tant à faire.

    Thibaud

    • [^] # Re: essai validé

      Posté par  (site web personnel) . Évalué à 1.

      Content que ça fonctionne pour vous :-)

      Je ne vois pas trop le cas d'usage d'une colonne "groupe", ni comment cela devrait être représenté visuellement sur le trombinoscope. J'ai peur que cela demande de modifier grandement le code…

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.