Aller au contenu

Quand QGIS nous régale d'Easter eggs#

📆 Date de publication initiale : 18 avril 2022

Introduction#

œuf globe

Tradition séculaire technique popularisée avec l'avènement du Konami Code, les Easter eggs (oeufs de Pâques en bon français) sont des fonctions cachées par des développeurs mutins dans les logiciels, y compris parmi les plus utilisés. Par exemple, sur la distribution Linux Debian (et donc les distributions de la famille Ubuntu) entrer apt moo :

Oh la vache ! Un Easter egg dans un gestionnaire de paquets de GNU Linux
 apt --help
apt 2.0.6 (amd64)
[...]
Cet APT a les « Super Cow Powers »
 apt moo
                (__)
                (oo)
        /------\/
        / |    ||  
        *  /\---/\
            ~~   ~~  
..."Have you mooed today?"...

Certaines entreprises comme Google s'en sont fait une spécialité (carte 8 bits ou chasse aux Pokémons intégrée dans Maps par exemple) et il y a même un site dédié à leur inventaire. Dans notre écosystème de géographes et géomaticiennes, l'IGN se prend au jeu comme présenté par Jean-Marc Viglino en 2020 ou encore OSM Data. Et dans un autre registre, OpenStreetMap évoquait en 2008 son utilisation pour protéger ses données en créant de faux villages.

La carte est à l'évidence un media idéal pour mettre en jeu cette chasse aux oeufs qui revête d'autres aspects.
Revue à 4 mains des oeufs cartographiques, en particulier dans QGIS.

Commenter cet article


Les Easter eggs et la cartographie papier#

icône Scan25

Les oeufs de Pâques se trouvent souvent dans un travail créatif et collectif. C'est le cas bien entendu des cartes papier, comme présenté dans un article publié en 2020 dans le magazine Carto.

Easter egg - Elépahant carte

Nouvelle expression : avoir un éléphant dans la pièce carte. Cherchez bien, il est en haut à gauche au nord-nord-ouest, formé par un jeu avec les courbes de niveaux entre les chiffres 24 et 25. Cet oeuf de Pâques a été relevé par Big Think (mais l'histoire ne dit pas si l'on peut trouver en ce point du Ghana des éléphants).


Croquer les oeufs de Pâques de QGIS#

logo QGIS

Incroyable projet collaboratif et créatif, QGIS a bien entendu lui aussi ses propres oeufs de Pâques, soigneusement dissimulés comme il se doit :

Ecrire le bon code au bon endroit : un moyen classique d'activer les Easter eggs ! Mais derrière ces amusantes cartes bonus et les jeux taquins proposés, on note, aussi, un message plus fort. En localisant ses développeurs, QGIS rend discrètement hommage aux personnes, peu visibles, qui l'ont codé. De même, inventorier les hackfests, c'est garder trace de l'histoire des grands événements de code qui rythment le développement du logiciel.

Ces Easter eggs permettent de mettre en avant un groupe discret ainsi que des événements communautaires de manière élégante. Ils offrent une reconnaissance au précieux travail réalisé. La manière est elle aussi discrète, connue uniquement des personnes qui connaissent bien le SIG, donc au moins sensibilisées. Preuve du consensus de cette action, alors qu'il est possible d'effacer ces fonctionnalités grâce au code libre, cela n'a pas été remis en cause. Un beau cadeau pour les personnes qui développent... Et qui savent chercher ces oeufs sur ce drôle d'oiseau qu'est QGIS.


La battue#

Mais comment les trouver à coup sûr ? Comment s'assurer de ne pas revenir bredouille de la chasse aux géœufs de Pâques ?

Après avoir pris le temps d'essayer les Easter eggs listés sur Pasq.fr et d'en faire un tweet pour le lundi de Pâques (2021 oui, ce projet d'article a plus d'un an...), on m'indique qu'il en manque un : user groups ! Damned ! Quelle frustration de ne pas atteindre l'exhaustivité !

Transformons-la donc en opportunité et dénichons-les tous ! De la documentation au code source, voyage au coeur du terrier de QGIS ! Je vous livre ma stratégie de battue 🐰 !

Info

Pour des raisons d'éthique évidentes, nous nous interdisons ici d'avoir recours à des armes de recherche massive qui pourraient mettre en péril le délicat équilibre des fonctions cachées. Exit donc Google et consorts (quoique Qwant pourrait être toléré...).

En planque#

GRASS loupe

La première tactique est l'apanage de la passivité : il suffit d'attendre bien sagement qu'une information sorte sur un Easter eggs. Au temps des infox, mieux vaut s'appuyer sur les sources officielles : les notes de version visuelles.

Véritable bijou de transparence et de vulgarisation des évolutions techniques du logiciel, ces visual changelogs permettent également de faire des recherches à travers les âges de QGIS.

Cherchons donc Easter egg :

Changelog QGIS - Recherche Easter egg

Hum, cela nous mène uniquement à celui apparu dans la 3.16 et le moteur de recherche semble mal gérer les caractères spéciaux, vu les résultats retournés par une requête en français sur "fonction cachée".

C'est un bon début mais voilà qui ne suffit toujours pas à satisfaire notre soif d'exhaustivité !

Au coeur du terrier#

Octocat GitHub détective

Prenons notre courage à 0:n mains (oui, je reste vague pour n'exclure personne, pas même un/e éventuel/le lecteur/ice manchot/e) et allons à la source : le code sur GitHub. Mais... mais... c'est plein de code d'ingénieurs informaticiens 🙀.
Allons, allons, c'est justement l'occasion de démystifier ce qui se cache sous QGIS en se répétant ce que Napoléon disait toujours à ses troupes face aux cyber-attaques caractéristiques de la campagne de Russie :

Napoléon - Cyber-campagne de Russie

N'ayez pas peur : les logiciels informatiques ne sont ni plus ni moins que des fichiers textes bien organisés et sacrément empilés !

Hauts les coeurs ! Si c'est du texte, il doit bien y avoir des traces des mots-clés qui déclenchent les Easter eggs !

Une fois infiltré dans le repository (là où les gens qui parlent couramment machine entreposent le code source), on peut lancer une recherche bien sentie sur l'un des mots-clés qui déclenche les Easter eggs dans la barre en haut à gauche :

Recherche dans le GitHub de QGIS

Bingo ! Au milieu de résultats mentionnant ArcGIS (non, les références à Esri ne sont pas des Easter egg), pas besoin d'avoir inventé le fil à couper l'eau chaude pour faire l'association entre qgsstatusbarcoordinateswidget et la barre de coordonnées en bas de la feneêtre QGIS, celle-la même où les Easter eggs se déclenchent.

Même si on ne pige rien à class, include ou autre void, en parcourant le fichier, on peut en déduire que c'est dans la fonction de validation des coordonnées que se terrent toutes les fonctions cachées :

QGIS Easter eggs - QgsStatusBarCoordinatesWidget

En poussant plus loin notre avantage, on peut même retrouver quand et par qui le dernier Easter egg a été proposé puis ajouté et au passage prendre connaissance du tableau de suivi des groupes d'utilisateur/ices de QGIS dans le monde.

C'est fou la transparence, c'est beau l'open source 😍 !


Auteur/es#

Julien Moura#

Portrait Julien Moura

Géographe "sigiste" de formation, j'ai travaillé sur différentes thématiques et types de structures : gestion des déchets en milieu urbain à Madagascar, foncier d'intérêt général auprès de l'EPF de La Réunion, organisation et la résilience urbaine face aux risques naturels à Lima pour l'IRD, gouvernance et ouverture des données à Isogeo.

Je travaille désormais à Oslandia.
Féru des dynamiques de contributions, je participe activement à Geotribu depuis fin 2011.

Delphine Montagne#

Portrait Delphine Montagne

Cartographe et géomaticienne, je participe à plusieurs projets libres, comme OpenStreetMap et Wikipédia. J'aime autant les cartes que la biodiversité, passions que je partage toujours avec enthousiasme.

Licence #

Ce contenu est sous licence Creative Commons International 4.0 BY-SA, avec attribution et partage dans les mêmes conditions.
Les médias d'illustration sont potentiellement soumis à d'autres conditions d'utilisation.

Réutiliser, citer l'article

Vous êtes autorisé(e) à :

  • Partager : copier, distribuer et communiquer le matériel par tous moyens et sous tous formats
  • Adapter : remixer, transformer et créer à partir du matériel pour toute utilisation, y compris commerciale.

Citer cet article :

"Quand QGIS nous régale d'Easter eggs !" publié par Delphine MONTAGNE, Julien MOURA sur Geotribu - Source : https://geotribu.fr/articles/2022/2022-04-18_easter_eggs_qgis_regale/

Commentaires

Afin de favoriser les échanges constructifs, merci de préférer le pseudonymat à l'anonymat. Pour rappel, l'adresse mail n'est pas exposée publiquement. Consulter la page sur la confidentialité et les données personnelles.
Une version minimale de la syntaxe markdown est acceptée pour la mise en forme des commentaires.
Propulsé par Isso.

Ce contenu est sous licence Creative Commons BY-SA 4.0 International Pictogramme Creative Commons Pictogramme Creative Commons BY Pictogramme Creative Commons SA