Journal Chasse aux œufs dlfpienne 2021 : les réponses

Posté par  (site Web personnel) . Licence CC By‑SA.
18
7
avr.
2021

Sommaire

Durant ce week-end de Pâques, je vous avais de nouveau proposé une chasse aux œufs version LinuxFr.org. Il y avait une douzaine d’œufs à trouver, dissimulés à divers endroits.

L’ordre est celui des indices donnés (plus ou moins l’ordre des idées arrivées au fur et à mesure, sachant que cette chasse n’était pas spécialement prévue la veille).

1) Plan du site (Un est proche d’ici)

Indice complémentaire : Comme quand on vous dit que « Vous êtes ici ».

Il était dissimulé dans le plan du site.

Œuf numéro 1

Il s’agit d’une version modifiée de Perdu sur le Web — © Johann « nojhan » Dréo : 2009-01-10 — Licence CC By‑SA 3.0 », avec une image provenant d'OpenClipart.

2) Page des dons (Un est généreux)

Indice complémentaire : Il cadre bien avec l’idée de butin, d’argent.

Il était dissimulé dans la page des dons, qui précisait Les dons pourront être en pièces en chocolat ou en œufs ou encore en lapins, poules voire en cloches.

Œuf numéro 2

3) Nouveau modérateur dans la page Équipe (Un est modéré)

Indice complémentaire : On devrait le prendre dans l’équipe du coup.

Le compte kiwiépilé (basé sur une célèbre blague de haut vol sur deux œufs dans un frigo) a été créé et ajouté à l'équipe de modération. Son avatar était un bouquet d’œufs Osterstrauß par Goldi64, CC BY-SA 3.0.

Œuf numéro 3

Nb: effet de bord imprévu d’un commit récent, ce nouveau modérateur a fait remonter le seuil de modération à 4 votes positifs nécessaires, retardant potentiellement des publications de dépêche ; rassurez-vous, les publications ont été manuellement forcées. Cependant les dépêches publiées ainsi avec seulement 3 votes positifs n’ont été indexables qu’après 24h ou après le premier vote positif des visiteurs ; ce qui est arrivé très rapidement au final.

4) Étiquette 🥚 (Un respectera l’étiquette)

Indice complémentaire : Il suffit donc de lire l’étiquette.

Une étiquette 🥚 avait été créée et utilisée pour l’occasion.

Œuf numéro 4

5) Adresse de courriel oeuf@ (Un est posté)

Indice complémentaire : Il faut notamment ajouter une arobe et un oeuf. C’est aussi une des raisons pour lesquelles ce journal dit « sur LinuxFr.org » et pas « sur le site » comme celui de l’année dernière.
Puis : Qu'est-ce qu’on pourrait bien faire avec oeuf @ linuxfr.org sur un indice qui parle de poster ?

En cas d’envoi de courriel sur cette adresse, la réponse suivante était envoyée :

Œuf numéro 5

Techniquement :

  • un alias dans /etc/aliases pour associer oeuf@ à un script (oeuf: |/<chemin>/oeuf.sh)
  • un script sommaire (édité pour éviter le spam ici)
#!/bin/bash

printf "USER %s\nORIGINAL_RECIPIENT %s\nRECIPIENT %s\nSENDER %s\nCLIENT_ADDRESS %s\nCLIENT_HELO %s\nCLIENT_HOSTNAME %s\nCLIENT_PROTOCOL %s\n--\n\n" "$USER" "$ORIGINAL_RECIPIENT" "$RECIPIENT" "$SENDER" "$CLIENT_ADDRESS" "$CLIENT_HELO" "$CLIENT_HOSTNAME" "$CLIENT_PROTOCOL" >> /<chemin>/oeuf.txt

if [ "$SENDER" != "oeuf @ linuxfr.org" ] ; then
mail -s "Bravo vous m'avez eu" -r <emetteur> -- "${SENDER}" <<-EOF
Bravo,

cet oeuf se trouve bien ici.

Bonne continuation pour la chasse,
Librement,
--
E. Danlohuhef
Chief Oeuf Manager LinuxFr.org
EOF
fi

Une seule personne a obtenu cet œuf.

6) Fonctionnalité opensearch (Un sera ouvertement recherché)

Indice complémentaire : Pas un des plus faciles (pour moi en tout cas). Il faut a priori passer par l’anglais pour le trouver ou utiliser la fonctionnalité peut-être.

Il était dissimulé dans la fonctionnalité opensearch qui est définie via notre opensearch.xml.

Modification de code :

diff --git a/public/opensearch.xml b/public/opensearch.xml
index 8fbd4bad..ad959b78 100644
--- a/public/opensearch.xml
+++ b/public/opensearch.xml
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
-       <ShortName>LinuxFr.org</ShortName>
-       <Description>Rechercher des dépêches, journaux et autres contenus sur LinuxFr.org</Description>
-       <Tags>Linux Logiciel Libre Dépêches Journaux Forums Entretiens Sondages Wiki Commentaires</Tags>
+       <ShortName>LinuxFr.🥚rg</ShortName>
+       <Description>Rechercher des dépêches, journaux et autres contenus, voire des 🥚 sur LinuxFr.org<Description>
+       <Tags>Linux Logiciel Libre Dépêches Journaux Forums Entretiens Sondages Wiki Commentaires 🥚</Tas>
        <Url type="text/html" template="https://linuxfr.org/recherche?q={searchTerms}"/>
        <Language>fr-fr</Language>
        <Image height="32" width="32" type="image/png">https://linuxfr.org/favicon.png</Image>

Œuf numéro 6

7) Remplacement de la favicon (Un est petit et préféré)

Indice complémentaire : Très petit même, dans le sens miniature. Et c’est un anglophone.

Les fichiers favicon.png et favicon.ico utilisés dans les barres d’adresses, les onglets, sur les flux Atom, etc. ont été modifiés pour incorporer un 🥚.

Œuf numéro 7

8) Notification de commentaire soumis (Un est commenté)

Indice complémentaire : Il paraît qu’il « saute aux yeux après avoir commenté ».

L’œuf apparaît dans la notification d’un nouveau commentaire :

Œuf numéro 8

Modification de code :

diff --git a/app/controllers/comments_controller.rb b/app/controllers/comments_controller.rb
index 431c72a3..59826d13 100644
--- a/app/controllers/comments_controller.rb
+++ b/app/controllers/comments_controller.rb
@@ -41,7 +41,7 @@ class CommentsController < ApplicationController
     @comment.user = current_account.user
     @comment.default_score
     if !preview_mode && @comment.save
-      flash[:notice] = "Votre commentaire a bien été posté"
+      flash[:notice] = "Votre commentaire a bien été p🥚sté"
       redirect_to url_for_content(@node.content) + "#comment-#{@comment.id}"
     else
       @comment.valid?

9) Commit dans le code (Un est codé)

Indice complémentaire : C'est effectivement une question de code. Son auteur peut aider à confirmer qu’il s’agit bien de celui-ci.

L’œuf était dissimulé dans le dernier commit du code du site, visible via la page Code source du site et son journal des modifications.

Le nom était une référence à un élément de folklore local, le contenu du commit aussi, et les suites absconses U+1F95A et &#129370; sont des façons de coder un 🥚 en Unicode et en HTML.

Le commit complet était :

commit 14091e931e2062963e83ce0ed5502e8cb38b0929
Author: PT Rameaux <peter-thomas.rameaux@linuxfr.org>
Date:   Sat Apr 3 12:22:41 2021 +0200

    Temporary extension from Peter-Thomas Rameaux U+1F95A &#129370;

diff --git a/oeuf.java b/oeuf.java
new file mode 100644
index 00000000..5f9e7686
--- /dev/null
+++ b/oeuf.java
@@ -0,0 +1,5 @@
+public class Oeuf {
+  static void main(String[] args) {
+    System.out.println("Hello 🥚");
+  }
+}

10) Ajout d’un nouveau nom pour le site (Un est nommé)

Indice complémentaire : Il convient d’ajouter un oeuf et un point.

À défaut de pouvoir ajouter 🥚.linuxfr.org, j’ai créé oeuf.linuxfr.org dans notre DNS (géré par TuxFamily.org), et ajouté le nom pour avoir un certificat valide pour lui dans notre demande Let's Encrypt. Le site était donc accessible via oeuf.linuxfr.org.

Œuf numéro 10

11) Lien de création de nouveau compte (Un est nouveau)

Indice complémentaire : Et il est très déconnecté du reste.

Toute personne non connectée au site pouvait trouver l’œuf présent sur le lien de création de nouveau compte.

Œuf numéro 11

Modification du code :

diff --git a/app/views/layouts/_sidebar.html.haml b/app/views/layouts/_sidebar.html.haml
index 6cb6e2c1..c2bd02b2 100644
--- a/app/views/layouts/_sidebar.html.haml
+++ b/app/views/layouts/_sidebar.html.haml
@@ -22,7 +22,7 @@
     - else
       = render "devise/sessions/new", id_suffix: "_sidebar"
       %ul
-        %li= link_to "Pas de compte ? S’inscrire…".html_safe, '/compte/inscription'
+        %li= link_to "Pas de c🥚mpte ? S’inscrire…".html_safe, '/compte/inscription'
   - if current_account
     = render 'redaction/box'
     - if current_account.try(:board_in_sidebar)

12) La note de bas de page sur les contenus (Un est annoté)

Indice complémentaire : En bas.

La note de bas de page sur les contenus contenait la mention « Par contre, nous ajoutons des oeufs. ».

Œuf numéro 12

Modification du code :

diff --git a/app/views/nodes/_node.html.haml b/app/views/nodes/_node.html.haml
index 4b5ae9f5..5dd071dd 100644
--- a/app/views/nodes/_node.html.haml
+++ b/app/views/nodes/_node.html.haml
@@ -13,4 +13,4 @@
     = link_to "#{caption}", feed_of_comments_url, title: "#{caption}"
   %p
     %strong Note :
-    les commentaires appartiennent à ceux qui les ont postés. Nous n’en sommes pas responsables.
+    les commentaires appartiennent à ceux qui les ont postés. Nous n’en sommes pas responsables. Par contre, nous ajoutons des oeufs.
  • # Vraiment tordu

    Posté par  (site Web personnel) . Évalué à 6 (+5/-1).

    Merci pour les réponses, mais, franchement le coup de 🥚.linuxfR.org c'était sacrément tortueux de même que la fonctionnalité opensearch (d'ailleurs même expliquée, je ne comprends pas du tout cette dernière).

    Ça t'a pris combien pour trouver où planquer les œufs ?

    Designeuse de masques pour sphéniscidés.

    • [^] # Re: Vraiment tordu

      Posté par  (site Web personnel) . Évalué à 6 (+3/-0). Dernière modification le 07/04/21 à 14:58.

      Ça t'a pris combien pour trouver où planquer les œufs ?

      Samedi matin, entre 10:45 et 13:15 (soit 2h30) d'après les logs du serveur. La première idée était le 🥚.linuxfr.org pour savoir si c'était possible ou non. Une partie du problème était surtout que les œufs 2021 sont originaux (ce qui ne facilite pas la vie de celui qui les cache il faut bien le dire, se trouvant obligé d'être retors et tortueux). Parce que maintenant ça fait trois douzaines d'endroits déjà utilisés, donc si le Destin nous lit, il faudrait qu'on soit déconfinés en avril 2022.

      Pour la fonctionnalité opensearch, je ne sais pas, je ne l'utilise pas :). Brouillon de description en 2005, ajoutée au site par Bruno en 2009 commit, modifiée une seule fois pour convertir les liens en HTTPS en 2018 commit, et probablement obsolète depuis 2019 (retiré de Firefox et de ses extensions). Sans doute quelque chose à nettoyer, sauf si quelqu'un nous dit en avoir encore l'usage tellement c'est génial, novateur et indispensable.

      • [^] # Re: Vraiment tordu

        Posté par  (site Web personnel) . Évalué à 3 (+3/-2). Dernière modification le 07/04/21 à 15:16.

        Vire la fonctionnalité opensearch. Tu vas avoir une tripotée de gens qui vont te dire qu’ils ne peuvent pas vivre sans (dont certains sont juste en train de la découvrir).

        J’espère bien que nous serons déconfinés à Pâques 2022 (d’un autre côté, les chasses aux œufs virtuelles c’est assez rigolo et on est obligé de voir des tas d’endroits du site où on balade rarement la souris).

        Encore un grand merci de veiller à faire travailler nos neurones, notre imagination et aussi… notre machiavélisme.

        Designeuse de masques pour sphéniscidés.

    • [^] # Re: Vraiment tordu

      Posté par  . Évalué à 1 (+0/-0).

      Wikipedia explique bien OpenSearch je trouve.

      J'avais pensé à utiliser le moteur de recherche sur « œuf » ainsi que « oeuf » et « 🥚 » et même « 🍳 »
      J'ai pensé à regarder le source de la page au niveau de ce même formulaire de recherche.
      Mais là, j'y avait pas pensé du tout (même si en me levant hier matin je me disais qu'il fallait rechercher le fichier de Sitemaps.xml)

      Les plus tortueux je trouve, sont le sous-domaine et l'adresse de messagerie ; je ne sais toujours pas comment on est supposé trouver cela et l'usage des adresses de courriel après lecture des commentaires. (c'est juste la preuve que je n'ai pas assez d'ancienneté et de participation à la vie du site.)

      En tout cas merci pour la récréation qui permet de revisiter le site et (re)découvrir d'autres pages.

  • # 🥚 ou œuf ?

    Posté par  (site Web personnel) . Évalué à 2 (+0/-0).

    Je pensais initialement qu'il fallait chercher le caractère 🥚 caché dans certaines pages. J'ai vu le 8) et le 11), mais je n'avais pas bien saisi qu'il fallait aussi chercher le mot œuf.

    J'ai envisagé d'aller chercher dans le code du site sur Github ou de lancer un robot pour visiter les pages du site. Ceci dit, avec la deuxième méthode, j'en aurais sans doute manqué beaucoup.

    • [^] # Re: 🥚 ou œuf ?

      Posté par  (site Web personnel) . Évalué à 4 (+1/-0).

      Dans les solutions de la chasse 2020 : on trouve un œuf en ascii art (1, 21), un dessin en ascii art qui parle d’œuf (2), un 🥚 (3, 6, 7, 8, 13, 16, 18, 22, 24), une image d’œuf (4, 9, 10, 12, 14, 15, 17, 20, 23), un lien vers une image d’œuf (5), un lien qui parle d’œuf de Pâques (11), un lien vers un son qui parle d’œuf (19).

      Dans les solutions de la chasse 2021 : on trouve une image d’œuf (1, 3, 7), un texte qui parle d’œuf (2, 12), un 🥚 (4, 6, 8, 11), deux adresses qui contiennent oeuf (5, 10), un 🥚 mais codé (9).

      J'essaie de varier, à tous les niveaux (ce qu'il faut chercher, comment, la difficulté). Je me doute bien que tout le monde ne va pas tout voir ou tout trouver (d'où éventuellement l'intérêt du collaboratif). J'ajoute aussi des indices au fur et à mesure, et je réponds aux questions.

    • [^] # Re: 🥚 ou œuf ?

      Posté par  . Évalué à 1 (+0/-0).

      Je suis allé voir le Github aussi, mais le changelog ne m'a pas incité à investir du temps dans cette direction…

Envoyer un commentaire

Suivre le flux des commentaires

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