🚲 Tanguy Ortolo a écrit 12425 commentaires

  • [^] # Re: Jour 10

    Posté par  (site web personnel) . En rĂ©ponse au journal Advent of Code 2025. Évalué à 3 (+0/-0). Dernière modification le 11 dĂ©cembre 2025 Ă  18:05.

    Pfiou, j'en suis venu à bout, mais pas tout seul. Ça a fini par me rappeler des notions d'optimisation linéaire, du coup j'ai été rafraîchir mes connaissances sur le sujet.

    Un problème d'optimisation linéaire est défini par :

    • une fonction de coĂ»t (en fait un vecteur, dont on prend le produit scalaire avec chaque solution possible) ;
    • des contraintes d'inĂ©galitĂ© sur les variables, individuellement ou collectivement (une matrice et un vecteur borne supĂ©rieure) ;
    • des contraintes d'Ă©galitĂ© collectives sur les variables (une matrice et un vecteur rĂ©sultat).

    Il se trouve que ça colle plutôt bien avec notre problème :

    • le coĂ»t, qu'on cherche Ă  minimiser, c'est la somme des pressions sur chaque bouton, autrement dit un vecteur dont chaque coordonnĂ©e vaut un ;
    • les contraintes d'inĂ©galitĂ© individuelles, c'est plus grand que zĂ©ro et moins grand que le plus petit joltage cible pilotĂ© par le bouton considĂ©ré ;
    • la contrainte d'Ă©galitĂ© collective, c'est la matrice de pilotage et les joltages cibles.

    Avec scipy.optimize.linprog, ça marche super bien. À un petit détail près : ça sort des résultats qui ne sont pas toujours entiers. Mais ça tombe bien, il a aussi une option pour définir des contraintes d'entièreté pour les variable. Et hop, on a le résultat cherché.

    Clairement, j'aurais été incapable de résoudre ça sans recourir à un optimiseur linéaire. Mais je reste satisfait d'avoir d'une part déterminé que ça correspondait à un problème d'optimisation linéaire et d'avoir correctement spécifié tout ça pour l'entrer dans ledit solveur.

  • [^] # Re: Jour 11

    Posté par  (site web personnel) . En rĂ©ponse au journal Advent of Code 2025. Évalué à 3 (+0/-0).

    Pour ma part, je n'ai même pas considéré les chemins possibles, seulement leur nombre. Le nombre de chemins possibles pour aller de A à B, c'est :

    • un seul si A Ă©gale B ;
    • la somme du nombre de chemins de chaque fils de A Ă  B.

    Évidemment, ce genre de truc part en récursion infinie s'il n'existe pas de chemin ou s'il y a une boucle. Mais les données d'entrées sont faites pour éviter cela. :-)

    Par ailleurs, ça se cache très bien.

    Pour la deuxième partie, ma foi, aucune difficulté supplémentaire, rien de plus à coder ou presque, puisque le nombre de chemins de A à D en passant par B puis C ou par C puis B, c'est simplement la somme de :

    • le produit du nombre de chemins de A Ă  B, du nombre de chemins de B Ă  C et du nombre de chemins de C Ă  D ;
    • le produit du nombre de chemins de A Ă  C, du nombre de chemins de C Ă  B et du nombre de chemins de B Ă  D.
  • [^] # Re: Jour 10

    Posté par  (site web personnel) . En rĂ©ponse au journal Advent of Code 2025. Évalué à 3 (+0/-0).

    L'ennui c'est que la matrice en question n'est pas du tout carrée. Autrement dit, il n'y a pas une unique solution. C'est ça qui m'ennuie en fait.

  • [^] # Re: Jour 10

    Posté par  (site web personnel) . En rĂ©ponse au journal Advent of Code 2025. Évalué à 3 (+0/-0).

    Je ne sais pas pourquoi j'ai pensé tout de suite à l'arithmétique des polynômes. On peut aussi bien voir ça comme un bête espace vectoriel, ce qui n'avance pas plus le schmilblick.

  • # Jour 10

    Posté par  (site web personnel) . En rĂ©ponse au journal Advent of Code 2025. Évalué à 3 (+0/-0). Dernière modification le 10 dĂ©cembre 2025 Ă  13:31.

    Le jour 10 me fait furieusement penser à de l'arithmétique, et plus précisément à de l'arithmétique des polynômes.

    Pour la première partie, on n'a pas besoin de telles considérations. Mais pour la seconde, c'est déjà plus flagrant. On a des boutons dont chacun augmente des coefficients de joltage précis. Ça rappelle des additions de nombres constitués de chiffres illimités sans notion de retenue : c'est précisément ça, l'arithmétique des polynômes.

    Après, c'est bien beau, mais ça n'aide pas à résoudre. Si les boutons fournis constituaient une base, on pourrait faire de la factorisation sachant qu'il y aurait un seul résultat possible. Sauf que ça ne constitue justement pas une base. Est-ce qu'on peut faire mieux que tâtonner ? Forcément, sinon on ne pourrait pas finir, mais pour le moment, ça m'échappe. :-)

  • [^] # Re: jour 9

    Posté par  (site web personnel) . En rĂ©ponse au journal Advent of Code 2025. Évalué à 3 (+0/-0). Dernière modification le 09 dĂ©cembre 2025 Ă  18:03.

    Pas encore fini de coder la partie 2, mais je pars sur des idées semblables :

    • pour chaque position (x, y) mentionnĂ©e dans le fichier d'entrĂ©e, je considère que les abscisses x et x + 1 seront utiles, et que les ordonnĂ©es y et y + 1 seront utiles ;
    • je considère Ă©galement comme utiles les abscisses min(x) - 1 et max(x) + 1 et les ordonnĂ©es min(y) - 1 et max(y) + 1.

    Le premier point, c'est parce que, dans ma représentation, chaque case du tableau réduit est censée représenter fidèlement tout l’intervalle jusqu'à la case suivante exclue.

    Le second point, c'est que peindre l'intérieur d'une courbe fermée par inondation, ce n'est facile qu'à condition de partir d'un point dont on sait qu'il est à l'intérieur, ce que je ne sais pas faire. En revanche, peindre l'extérieur, c'est pareil à deux conditions :

    • partir d'un point dont on sait qu'il est Ă  l'extĂ©rieur, ce qui est facile si on a agrandi la zone d'au moins une case d'un cĂ´tĂ© ou d'un autre ;
    • que l'extĂ©rieur soit connexe, ce qui est garanti si on a Ă©tendu la zone de tous les cĂ´tĂ©s.

    Bref, peindre l'intérieur de quelque chose, je ne sais pas faire. Peindre l'extérieur, je sais faire : il faut ajouter une bordure vierge et inonder depuis un point de cette bordure.

  • [^] # Re: Nombre de ports limitĂ©

    Posté par  (site web personnel) . En rĂ©ponse au journal Avis sur un Framework 12.. Évalué à 7 (+4/-0).

    Après ça a évidemment de sérieux avantages, notamment le fait de protéger physiquement le port USB-C d'alimentation. Parce que l'alimentation sur USB-C, c'est très polyvalent, mais c'est aussi vachement fragile.

  • # Nombre de ports limitĂ©

    Posté par  (site web personnel) . En rĂ©ponse au journal Avis sur un Framework 12.. Évalué à 5 (+2/-0).

    Le système de modules pour choisir les ports disponibles est une très bonne idée (rendue possible par la polyvalence de l'USB-C, youpi !), mais j'ai l'impression que ça vient au prix du nombre de ports. Quatre emplacements, ça fait peu. Une alimentation, un port HDMI, un USB-A, un USB-C, et c'est déjà plein. Si vous voulez un port Ethernet il va falloir faire une croix sur le HDMI, l'USB-A ou l'USB-C…

    Si j'avais une suggestion pour eux, ce serait de proposer au moins un module double USB-C avec hub interne. Physiquement, ça devrait rentrer non ?

  • [^] # Re: code erreur HTTP

    Posté par  (site web personnel) . En rĂ©ponse au journal Tenter de limiter les nuisances liĂ©es aux robots d'IA. Évalué à 7 (+4/-0).

    Dommage, il n'y a pas (encore) de code HTTP correspondant pour rejeter une IA (ce qui serait discriminatoire envers les IA).

    Je ne comprends pas cette précision explicite du caractère discriminatoire, dans la mesure où c'est une évidence : il est ici question de traiter différemment les humains et les IA, ce qui est par définition une discrimination.

    Est-ce pour suggérer que ce serait mal, dans la mesure où le terme « discrimination » est chargé d'une connotation négative ? (Connotation regrettable à mon avis, dans la mesure où une discrimination peut être justifiée, assumée et tout à fait souhaitable, par exemple lorsqu'il s'agit d'appliquer de tarifs réduits selon des critères particuliers d'âge, de ressources, de situation familiale ou que sais-je encore.)

  • # IntĂ©ressant

    Posté par  (site web personnel) . En rĂ©ponse au journal Tenter de limiter les nuisances liĂ©es aux robots d'IA. Évalué à 6 (+3/-0).

    Intéressant. Mais je doute qu'une redirection même vers un truc énorme change quoi que ce soit : ces machins sont intéressés par du texte. Une redirection, ça ajoute juste une URL à la liste des pages qu'ils connaissent déjà non ?

    Est-ce qu'il n'existe pas des projets pour envoyer du contenu bidon spécifiquement destiné à pourrir les LLM par exemple ?

  • # Inkscape + pdftk

    Posté par  (site web personnel) . En rĂ©ponse au message Rendre un PDF sans formulaires -> avec formulaires interactifs. Évalué à 10 (+7/-0).

    Pour ce genre d'usage, j'utilise Inkscape et pdftk :

    1. J'ouvre le PDF avec Inkscape, en convertissant au besoin les fontes en chemins.
    2. Je place tout le contenu dans un calque que je verrouille pour ne pas le modifier par erreur.
    3. Je crée un calque non verrouillé et j'y renseigne le formulaire.
    4. Je supprime le calque d'origine, ne laissant que mon remplissage du formulaire.
    5. J'enregistre ça en PDF à côté du formulaire d'origine.
    6. pdftk formulaire.pdf multistamp remplissage.pdf output formulaire_rempli.pdf

    Par rapport à un enregistrement direct du formulaire rempli avec Inkcape, ça a l'avantage de conserver le formulaire original sans modification, donc avec son texte, ses fontes, tout ce qu'on voudra. Il y a juste un remplissage qui est venu s'y superposer.

  • # Et des chinoiseries Ă  bas coĂ»t

    Posté par  (site web personnel) . En rĂ©ponse au message BoĂ®te Ă  musique et Ă  histoires pour enfant. Évalué à 4 (+1/-0).

    À côté de ces trucs propriétaires onéreux, on trouve des chinoiseries à très bas coût.

    De faux petits phonographes pour enfant (« phonographe enfant » sur AliExpress) avec des disques qui sont peut-être des étiquettes RFID, ou peut-être opto-codées. Et certaines sont programmables.

    Et aussi des lecteurs de cartes opto-codées (« talking flashcard » sur AliExpress) associées à des mots et des cris d'animaux. Rien de programmable là-dedans.

    C'est désespérant.

  • [^] # Re: BoĂ®tes Ă  histoires ou Ă  musiques commerciales

    Posté par  (site web personnel) . En rĂ©ponse au message BoĂ®te Ă  musique et Ă  histoires pour enfant. Évalué à 4 (+1/-0).

    Ça pourrait bien être le lecteur que je cherche !

    En fait non : le fabricant s'est rendu compte que quelqu'un avait trouvé comment ça fonctionné et ils n'ont pas apprécié que ça puisse donner à des gens l'idée d'acheter des étiquettes RFID qui ne viennent pas de chez eux. Ils ont réagi en verrouillant un peu le truc. Bref, fabricant hostile au bidouillage, à fuir.

  • [^] # Re: BoĂ®tes Ă  histoires ou Ă  musiques commerciales

    Posté par  (site web personnel) . En rĂ©ponse au message BoĂ®te Ă  musique et Ă  histoires pour enfant. Évalué à 3 (+0/-0).

    Un autre…

    Bookinou

    Prix : 80 €
    Interface : étiquettes RFID à coller sur des livres
    Conception : France visiblement
    Fabrication : inconnue, Chine ?
    Contenu : 25 histoires
    Extensible : avec une application pour Android et iOS

    C'est un appareil assez spécifique puisqu'il est conçu pour qu'on s'enregistre en lisant un livre, puis qu'on associe l'enregistrement à une étiquette RFID qu'on colle sur le livre. En approchant le lecteur de l'étiquette, ça lance la lecture correspondante.

    Il n'y a pas de communauté de hackeurs comme pour la Fabrique à histoires de Lunii, mais visiblement, le format de stockage est très, très simple : à l'intérieur, une carte SD en FAT, avec un fichier par étiquette, nommé comme l'identifiant RFID <ID>.mp3. De quoi le faire fonctionner avec n'importe quelle étiquette RFID, sur des livres ou des objets.

    Ça pourrait bien être le lecteur que je cherche !

  • [^] # Re: lunii ou joyeuse

    Posté par  (site web personnel) . En rĂ©ponse au message BoĂ®te Ă  musique et Ă  histoires pour enfant. Évalué à 4 (+1/-0).

    • la joyeuse plutĂ´t pour les très petits. Pas de bouton, ça se manipule avec des gestes. Très facile d'ajouter du contenu, on branche en usb et on ajoute des mp3 (au bon bitrate) dans des rĂ©pertoires. On peut aussi acheter du contenu ou utiliser leurs outils pour s'enregistrer.

    Celle-là, je l'avais évacuée vite fait de mes recherches parce que je n'avais pas compris comment on pouvait choisir la piste à écouter avec seulement quelques gestes. Et je n'ai pas trouvé de précisions sur cette interface originale.

    • la lunii, on ajoute des contenus (payants, pas donnĂ©s) via une appli web mais il existe plein de dĂ©veloppements "amateurs" pour ajouter du contenu perso (STUdio notamment). Je crois qu'il existe une app pour smartphone qui permet aussi de s'enregistrer. Ul y a un Ă©cran pour identifier les histoires.

    Ah, ça c'est intéressant ! J'ai une préférence pour les interfaces RFID, mais clairement, c'est une excellente alternative si je ne trouve pas mieux.

  • [^] # Re: Lecteur MP3

    Posté par  (site web personnel) . En rĂ©ponse au message BoĂ®te Ă  musique et Ă  histoires pour enfant. Évalué à 7 (+4/-0).

    Pour ce qui est de l'âge, 2 ans, c'est peut-être un peu jeune pour manipuler un lecteur MP3. Mais de mon expérience, à 2 ans, les enfants ont du mal à manipuler même une boîte à histoire pour enfant. Après tous les enfants sont différents !

    Justement, c'est là que le concept d'étiquette RFID sur des figurines ou sur des cartes est très adapté pour permettre à des enfants de choisir ce qu'ils veulent écouter.

  • # BoĂ®tes Ă  histoires ou Ă  musiques commerciales

    Posté par  (site web personnel) . En rĂ©ponse au message BoĂ®te Ă  musique et Ă  histoires pour enfant. Évalué à 8 (+5/-0). Dernière modification le 17 octobre 2025 Ă  12:45.

    Pour info, mes recherches m'ont permis de découvrir les boîtes à histoire et à musiques suivantes.

    La Fabrique Ă  histoire de Lunii

    Prix : 70 €
    Interface : boutons, pas d'écran
    Conception et fabrication : France
    Contenu : pré-chargé avec des histoires à choisir en sélectionnant des options (un personnage, un animal, un lieu → ça choisir l'histoire correspondante)
    Extensible : en achetant des histoires sur le site du fabricant et en utilisant un logiciel pour Windows, MacOS, GNU/Linux, Android ou iOS

    Faba et Faba+

    Prix : 50 € (Faba) ou 70 € (Faba+)
    Interface : figurines RFID et quelques boutons, pas d'écran
    Conception : Italie visiblement
    Fabrication : inconnue : Chine ?
    Contenu : vendu avec une figurine RFID débloquant¹ trois chansons
    Extensible : en achetant des figurines pour débloquer¹ des contenus et en mettant au besoin à jour l'appareil avec un logiciel pour Windows et MacOS (Faba) ou pour Android et iOS (Faba+)

    L'éditeur permet d'ajouter des titres perso associés à une figurine spéciale, toujours en utilisant leur logiciel bien sûr.

    Timio

    Prix : 108 €
    Interface : des gros disques en plastique avec des zones tactiles, pas d'écran
    Conception : US ?
    Fabrication : Chine
    Contenu : vendu avec 5 disques débloquant¹ chacun 12 pistes audio
    Extensible : en achetant des disques pour débloquer¹ des contenus (l'ensemble des disques disponibles est défini une fois pour toute, rien n'est prévu pour ajouter des contenus qui n'existeraient pas à l'époque de l'achat)

    Toniebox

    Prix : 120 €
    Interface : figurines RFID, pas d'écran
    Conception et fabrication : ?
    Contenu : vendu avec une figurine débloquant¹ je ne sais combien de pistes
    Extensible : en achetant des figurines pour débloquer¹ des contenus et en mettant au besoin à jour l'appareil depuis iOS ou Android

    Merlin

    Prix : 85 €
    Interface : boutons, un tout petit écran qui sert à afficher l'image du titre en lecture
    Conception et fabrication : France
    Contenu : accès à un énorme catalogue de Radio France et Bayard Jeunesse
    Extensible : avec un logiciel pour Andoid ou iOS

    Yoto Player

    Prix : 100 €
    Interface : cartes RFID à insérer, un écran à très gros pixel pour afficher l'image du titre en lecture
    Conception : Royaume-Uni il me semble
    Fabrication : inconnue, Chine ?
    Contenu : une carte pour débloquer du contenu perso à ajouter avec leur logiciel
    Extensible : en achetant des cartes et en chargeant du contenu avec un logiciel pour Andoid ou iOS

    Kidz Audio Music Box

    Prix : 100 €
    Interface : boutons, pas d'écran
    Conception et fabrication : Allemagne
    Contenu : rien
    Extensible : charger du contenu sur une clef USB et la mettre dans l'appareil (sous une trappe vissée histoire que l'enfant ne joue pas avec ça)

    Hörbert

    Prix : 250 €
    Interface : boutons, pas d'écran
    Conception et fabrication : Allemagne
    Contenu : une carte SD avec pas mal de chansons du monde entier, pas spécialement francophone
    Extensible : charger ce qu'on veut sur la carte SD

    C'est la grande sœur de la Kidz Audio Music Box, clairement.

    Note

    1. Tous les appareils qui utilisent des figurines ou des cartes RFID pour sélectionner ce qu'on veut lire contiennent déjà ces contenus, et les étiquettes RFID servent à débloquer l'accès à ces contenus.
  • [^] # Re: je suis choquĂ©

    Posté par  (site web personnel) . En rĂ©ponse au journal IAllucination post-quantique. Évalué à 4 (+1/-0).

    Non, c'est l'inverse. Des pains au chocolat rassis et des chocolatines fraîches.

  • [^] # Re: ====

    Posté par  (site web personnel) . En rĂ©ponse au journal DĂ©verrouillage d'un Chromebook. Évalué à 5 (+2/-0).

    Mr Chromebox n'est pas un site de Google, si ?

  • [^] # Re: Les trois brigands

    Posté par  (site web personnel) . En rĂ©ponse au journal Demander son code RIO == titiller le service commercial de son opĂ©rateur. Évalué à 5 (+2/-0). Dernière modification le 06 octobre 2025 Ă  17:03.

    ils sont loin devant ; ne serait-ce que pour l'adresse IPv6

    Sauf qu’ils ont été aidé par la «promesse» d’un responsable qui a dit que si 100 000 personnes lui demandaient, il le ferait (gratuitement)
    http://ipv6pourtous.free.fr/accueil/

    C'est un non-sens complet. Le directeur technique de Free a, par une promesse, aidé Free à déployer l'IPv6. Euh, ok ?

    Si le directeur technique de SFR veut bien aider SFR à déployer des plages IPV6 fixes pour leurs abonnés, je veux bien rester chez eux.

    Ou si le directeur technique de Bouygues Télécome, ou d'Orange, veut bien aider son entreprise à faire de même, je veux bien passer chez eux.

  • [^] # Re: Et si on boycottait Google?

    Posté par  (site web personnel) . En réponse à la dépêche Android n’autorisera plus que les applications des développeurs autorisés. Évalué à 3.

    FLX1S ça fait un peu penser à la X-FLR 6 non ?

  • [^] # Re: Et si on boycottait Google?

    Posté par  (site web personnel) . En réponse à la dépêche Android n’autorisera plus que les applications des développeurs autorisés. Évalué à 4. Dernière modification le 05 octobre 2025 à 13:40.

    Les responsables des achats de Google sont mauvais à ce point ? Ou est-ce qu'il n'y a pas de concurrents sérieux à Qualcomm ?

    Parce que bon, je me serais attendu Ă  ce que Google exigent des pilotes maintenus, sous peine d'aller voir ailleurs.

  • [^] # Re: Privation de libertĂ©s et fin de la communautĂ© "hacking"

    Posté par  (site web personnel) . En réponse à la dépêche Android n’autorisera plus que les applications des développeurs autorisés. Évalué à 3.

    L'Identité numérique la Poste, pour tous les auto-entrepreneurs il me semble.

  • [^] # Re: Privation de libertĂ©s et fin de la communautĂ© "hacking"

    Posté par  (site web personnel) . En réponse à la dépêche Android n’autorisera plus que les applications des développeurs autorisés. Évalué à 3.

    Alors, l'Identité numerdique la Poste ne fonctionne que si elle a été installée à partir de Google Play, ou si elle n'arrive pas à déterminer comment elle a été installée. Et ça vérifie aussi si le système n'est pas rooté, mais se contourne assez bien.

    France identité en revanche, je ne sais pas trop ce que ça vérifie mais je n'ai jamais réussi à le faire fonctionner sur mon Fairphone 3+ sous LineageOS rooté.

    Donc heureusement que l'Identité numerdique la Poste existe quand même.

  • [^] # Re: C'est quoi cette "depeche" ?

    Posté par  (site web personnel) . En rĂ©ponse Ă  la dĂ©pĂŞche Adieu Windows, Bonjour le Libre !. Évalué à 5 (+2/-0).

    Ah, ok, dans ce cas c'est acceptable. La seule expérience que j'en avais faite était sur un ordinateur d'entreprise, donc c'est mon employeur qui avait fait ce choix pour moi.

    Quoi qu'il en soit, certaines caractéristiques de BitLocker m'ont toujours fasciné :

    • ça porte un nom qui fait vraiment penser Ă  un logiciel de rançonnage, et quand suite Ă  une modification quelconque touchant au dĂ©marrage ou aux rĂ©glages de la carte mère vous vous retrouvez face Ă  une invite de saisie de clef BitLocker, c'est encore plus flippant ;
    • par dĂ©faut, ça stocke la clef dans le TPM de façon Ă  pouvoir y accĂ©der au dĂ©marrage sans intervention de l'utilisateur : le stockage chiffrĂ© qui se dĂ©verrouille sans interaction, ça fait rĂŞver, en tout cas ça suggère fortement qu'un attaquant (très bien Ă©quipĂ©) pourrait très bien dĂ©chiffrer les donnĂ©es ;
    • lorsqu'on l'active, je n'ai pas l'impression que ça suggère très fort de stocker la clef en lieu sĂ»r, et si après ça vous touchez Ă  un truc qui affecte le dĂ©marrage par exemple, eh bien vous pouvez faire une croix sur vos donnĂ©es.