Le Blog Utux

HTTP 200 GET /

Que penser de The book of Boba Fett ?

Rédigé par uTux 1 commentaire

Avec beaucoup de retard, et alors que la mini-série Obi-Wan Kenobi démarre demain, je livre un court avis sur The book of Boba Fett que j'ai vu il y a quelques mois.

Alors que Disney a bien failli tuer la licence Star Wars avec sa postlogie misérable et inutile, force est de constater qu'ils s'en sortent beaucoup mieux au niveau des séries. Je dirais même qu'ils lui ont redonné un nouveau souffle avec The Mandalorian et que cela fait beaucoup de bien.

Malheureusement, les retours sur The book of Boba Fett sont beaucoup moins élogieux, ils sont même très partagés, parfois décevants. Mais si j'écris cet article c'est avant pour tout pour donner mon propre avis complètement subjectif.

Au tout début, la série m'a vraiment emballé. Même si je dois admettre que le personnage de Boba Fett en lui-même n'était pas passionnant, j'étais vraiment attiré par tout ce qu'il y avait autour. La ville de Mos Espa, le palais de Jabba le Hut, le Saarlacc... j'avais l'impression de voir un fork du début de Star Wars Episode VI, et je trouvais intéressant de mettre de côté les Jedi, la force, le bien et le mal, pour faire place à un bon petit western. La série introduisait de nombreux personnages, des intrigues politiques, des enjeux, du fan service (le chasseur Naboo), l'histoire des hommes des sables, bref le parfait cocktail pour attiser mon intérêt. Et là, c'est le drame.

C'est le drame oui, car au fur et à mesure des épisodes, les intrigues et les personnages ne sont jamais développés, ne mènent nulle part ou ne servent à rien. Boba Fett est... un gentil. On comprend rapidement que sa motivation pour prendre la suite de Jabba et devenir un seigneur du crime, est de faire le bien, c'est tout. Fennec ne sert à rien, 90% des personnages introduits dans les premiers épisodes passeront à la trappe. Et puis il y a l'épisode de trop.

La série décide en plein milieu de revenir sur les aventures du Mandalorien, comme si elle oubliait qu'elle était censée raconter l'histoire de Boba Fett, mais il y a pire. Pire oui, car un des épisodes remet à l'honneur Grogou et Luke Skywalker.

L'apparition de Luke Skywalker en Deus Ex Machina à la fin du Mandalorian était un moment épique qui a fait couler pas mal de larmes des yeux des fan. Mais la séquence était courte et se suffisait à elle-même, le personnage n'avait pas vraiment de dialogue, c'était presque un caméo, il n'en fallait pas plus. Or la série Boba Fett nous offre un épisode complet où Luke en CGI réapparaît, a des dialogues, et nous montre qu'il est devenu un Jedi chiant et dogmatique comme ceux de la prélogie. C'était vraiment l'épisode de trop, foutez la paix à Luke Skywalker, laissez ce personnage vivre dans le cœur des fans, n'essayez pas de lui écrire une nouvelle histoire, ça ne marche pas.

Alors que mon intérêt pour cette série était au plus bas et que je songeais même à arrêter de regarder, la fin se profilait déjà à l'horizon. Et même si elle confirme qu'aucune intrigue, aucun personnage n'a d'importance dans la série, elle a le mérite de nous offrir une ultime bataille divertissante. Finalement mon intérêt pour cette série aura été une courbe en parabole, c'est à dire en forme de U, mais cela n'aura pas suffit à me convaincre.

Pour conclure, je ne peux que me ranger à l'avis général: The Book of Boba Fett était une série décevante qui souffrait de gros problèmes d'écriture. Je reproche à la postlogie d'être faite par des gens qui ne connaissent rien à Star Wars, The Book of Boba Fett en est un peu l'antimatière: elle a été faite par des gens qui connaissent très bien Star Wars, mais qui ont échoué à écrire une histoire consistante.

Je compte beaucoup sur la série Obi-Wan Kenobi pour relever le niveau, et je serais devant mon PC le 27 Mai.

De Kubernetes à NixOS

Rédigé par uTux 4 commentaires

Il y a un an et demi, j'annonçais avoir migré mon blog sur Kubernetes (K3s). Bien que je sois globalement satisfait du résultat et que cela m'a permis de beaucoup apprendre, je rencontre tout de même des désagréments :

  • Kubernetes, c'est lourd. Comptez 1 GB de RAM à vide. Pour être à l'aise, j'ai du prendre un VPS avec 4GB de RAM, là où 2 suffiraient largement sans Kubernetes.
  • Absence de support d'IPv6. En 2022 c'est franchement difficile à justifier.
  • La gestion des Ingress est complexe. J'utilise Traefik mais c'est compliqué, il m'a fallu quasiment 2 jours pour faire fonctionner les certificats ACME, et les montées de version ne se passent pas toujours très bien.
  • Comme prévu, les mises jour à demandent un peu plus d'efforts car les composants ne sont pas gérés par la distribution. Il faut donc:
    • Mettre K3s à jour régulièrement.
    • Reconstruire et livrer les images même si l'application n'a pas changé, juste pour être sûr de ne pas trimbaler de failles de sécurité dans les librairies.
    • Mettre à jour Traefik régulièrement.

Bref, même si je trouve que Kubernetes est une super solution qui a mis en valeur les containers et l'écosystème Linux, c'est clairement overkill pour moi et je souhaite me simplifier la vie. Et si au passage je peux me former à de nouvelles technos, c'est un plus.

La solution de facilité aurait été d'installer Debian et de coder quelques roles Ansible mais l'inconvénient est que je n'apprendrais rien de nouveau. Je suis donc parti sur NixOS. C'est une distribution où la configuration s'effectue de manière déclarative via le langage Nix, avec gestion des états et possibilité de rollback.

En effet lorsque vous gérez votre distribution Linux avec Ansible, Puppet ou Salt, vous pouvez déployer une configuration et des applications, en revanche le retour en arrière n'est pas géré. Par exemple si vous avez déployé Apache et que vous voulez changer pour Nginx, c'est à vous de coder la manière dont Ansible va désinstaller Apache, sinon il sera toujours présent. Avec NixOS, si vous retirez toute référence à httpd dans votre configuration, il ne sera plus du tout présent à la prochaine génération du système. C'est un fonctionnement atomic et stateful.

Pour l'installation, j'ai utilisé nixos-infect, un script à lancer sur la plupart des distributions Linux afin de les remplacer par NixOS. Associé à un cloud-init, il permet de faire le déploiement via Terraform de manière complètement automatique, ce qui est vraiment cool il faut le dire. Et pour les gens qui préfèrent une installation à la main, sachez que Hetzner proposer une ISO NixOS et un accès console distante même pour les VPS, c'est donc totalement possible :)

Pour la partie hébergement web, voici mon fichier de configuration /etc/nixos/web.nix :

{ config, lib, pkgs,  ...}:

let
  defaultVirtualHost = {
    documentRoot = "/var/www/html/blank";
    addSSL = true;
    forceSSL = false;
    sslServerKey = "/var/www/ssl/snakeoil.key";
    sslServerCert = "/var/www/ssl/snakeoil.pem";
    locations."/" = {
      index = "index.html";
    };
  };
  makeVirtualHost = webroot:
    { documentRoot = "${webroot}";
      forceSSL = true;
      enableACME = true;
      locations."/" = {
        index = "index.php";
      };
      extraConfig = ''
        <Directory "${webroot}">
          AllowOverride All
        </Directory>
      '';
    };
in {
  security = {
    acme = {
      email = "hostmaster@example.org";
      acceptTerms = true;
    };
  };
  services = {
    httpd = {
      enable = true;
      mpm = "prefork";
      adminAddr = "hostmaster@example.org";
      enablePHP = true;
      phpPackage = pkgs.php80;
      phpOptions = "display_errors = off";
      extraConfig = ''
        SetOutputFilter DEFLATE
        ServerSignature Off
        ServerTokens prod
        <FilesMatch ".(ico|pdf|jpg|jpeg|JPEG|png|gif|js|css)$">
          Header set Cache-Control "max-age=3600, public"
        </FilesMatch>
      '';
      extraModules = [
        "deflate"
      ];
      virtualHosts =
        {"_default_" = defaultVirtualHost;
         "utux.fr"   = (makeVirtualHost "/var/www/html/utux.fr");
        };
    };
  };
}

Explications : j'ai d'autres vhosts non mentionnés ici, et à chaque fois leur configuration est identique. Pour éviter d'avoir à répéter du code, j'utilise let (permet de définir des variables et des fonctions) ainsi que in (pour les appliquer). Je ne connais pas de moyen plus propre de faire des loop pour le moment, car c'est le but. Étant donné que j'utilise PluXml, il ne faut pas oublier le AllowOverride All qui permet aux .htaccess de fonctionner, sinon les fichiers XML qui contiennent les data deviennent accessible, ce qui fait fuiter pas mal d'infos sensibles.

Pour le moment, ça marche plutôt bien. Le serveur consomme 119 Mo de RAM, soit quasiment 10x moins que Kubernetes :) Et en prime le support de l'IPv6 est revenu.

En conclusion, je suis content de pouvoir enfin tester NixOS en production. Bien que je ne sois pas encore familier avec le langage Nix, et que je le trouve bien trop compliqué par rapport à un bon vieux Ansible, j'estime que c'est l'avenir de Linux sur serveur. Les distributions devront être atomiques, et leur configuration centralisée, versionnée et reproductible. J'espère que ceci est le début d'une aventure positive.

Migration du blog vers NixOS

Rédigé par uTux Aucun commentaire

Version courte : je viens de migrer le blog vers un nouveau serveur fonctionnant sous NixOS. Cela ne s'est pas fait de manière transparente, principalement car j'ai eu des ennuis avec Let's Encrypt (5 failures = 1 heure à attendre pour réessayer).

Je ferais un article plus complet pour expliquer pourquoi je migre de Kubernetes à NixOS.

Classé dans : Blog Mots clés : aucun

Un hébergeur veut porter plainte contre moi pour un litige de €70

Rédigé par uTux 7 commentaires

Note: Étant donné que je suis couvert par l'anonymat sur ce blog, je ne citerai pas le nom de l'hébergeur en question, par souci d'équité, et aussi pour éviter de m'attirer des ennuis. Je lâcherai le nom en cas d'escalade de la part de cette société.

Vers 2015 - 2016, inquiet de la loi Renseignement et du tour de vis sécuritaire en France, j'ai décidé de faire héberger mes services à l'étranger, afin d'éviter entre autres les boites noires que le gouvernement voulait faire installer sur les réseaux. Je me suis donc tourné vers un hébergeur aux Pays Bas, dont les prix étaient relativement intéressants, et j'ai pris un VPS (serveur virtuel privé, une VM quoi). J'ai souscrit à un paiement à l'année, avec renouvellement automatique, c'était plus simple pour moi.

Courant 2021, je décide de résilier ma souscription chez eux. La raison est que je migre chez Hetzner qui est moins cher, mais aussi que l'hébergeur néerlandais en question n'a pas de provider Terraform, alors que je gère toute mon infra avec ça. En Juin 2021, je me rends donc dans mon espace client et clique sur le bouton pour annuler le renouvellement qui doit avoir lieu en Août. Je ne reçois aucune confirmation de l'annulation, et en Août je suis informé que l'abonnement vient d'être reconduit de 1 an et que je dois payer €70. J'écris donc au service client en leur expliquant qu'il doit y avoir une erreur, puisque j'ai demandé à ne PAS être renouvelé. Ces derniers m'expliquent alors qu'ils ont bien reçu la demande d'annulation, mais que j'aurais du la formuler 2 mois avant:

Cancellation notice

Et oui, les CGU stipulent que pour les contrats de plus de 3 mois, il y a un préavis de 2 mois pour pouvoir annuler. Dans mon cas, j'ai demandé 1,5 mois avant, ce qui est trop peu, le préavis a donc couvert le renouvellement automatique, ce que je trouve clairement abusif. C'est d'autant plus incroyable quand on sait que la plupart des Cloud Provider sont capables de facturer à la seconde, avec une souplesse importante. Là on est clairement chez un hébergeur qui raisonne à l'ancienne.

J'ai donc refusé de payer et ignoré les relances, pensant qu'ils n'iraient pas plus loin pour une facture de €70 pour un client étranger. Ils ont pourtant mandaté une société de recouvrement, elle aussi aux Pays-Bas, pour me demander de régler ma facture, qui tout à coup est devenue €140 (je ne sais pas pourquoi). J'ai reçu plusieurs relances par mail, avec à chaque fois un montant plus élevé, au motif des frais engendrés pour la procédure. Bien entendu, ces relances indiquent que si je ne paie pas, ils iront en justice pour me faire cracher. Je me suis renseigné sur le pouvoir des sociétés de recouvrement, et il y a deux points importants:

  • La société a interdiction de facturer les frais de recouvrement au débiteur, ils sont donc en droit de réclamer €70 pas plus, même si les relances mentionnent des montants à trois chiffres.
  • La société n'a pas le pouvoir d'un huissier, elle ne peut pas vous mettre en demeure par un simple courrier, elle doit pour cela saisir la justice. Tout ce qu'ils peuvent faire, c'est vous casser les pieds (et encore).

Dans mon cas, la société de recouvrement est aux Pays bas, et ils n'ont que mon numéro de tél, leur pouvoir de nuisance est donc fortement limité. J'ai bon espoir que quelqu'un chez eux finisse par se rendre compte que pour €70, il vaut mieux laisser tomber, d'autant que je ne compte pas céder car je refuse de payer un hébergeur qui a décidé unilatéralement de me retenir 1 an de plus.

Classé dans : Grrr Mots clés : aucun

Une histoire de batterie et de Start and Stop

Rédigé par uTux 7 commentaires

En 2017 j'ai acheté pour la première fois une voiture neuve, une Clio IV, c'était un petit plaisir de trentenaire. Aujourd'hui encore je la perçois comme "neuve" alors qu'elle a passé les 4 ans et son premier contrôle technique.

Au mois de Novembre, le démarrage a commencé à être difficile. Le démarreur peinait à lancer le moteur et était à deux doigts de s'arrêter, mais ça passait quand même. J'ai fait un tour de périphérique Nantais avec espoir de recharger la batterie. Sur le coup ça a semblé fonctionner, car le démarrage suivant s'est bien passé, mais le problème est réapparu dès le lendemain. Et bien entendu il n'a pas fallu longtemps avant que le démarrage ne soit plus possible du tout.

On a là le symptôme d'une batterie HS, après 4 ans, une durée de vie que je trouve plutôt faible mais qui est finalement conforme à la moyenne qui est de 4 à 5 ans minimum. Étant donné que j'ai un petit moteur essence de 0.9L, je pensais m'en tirer avec une batterie à 60€ chez Carrefour, mais c'était sans compter le Start and Stop. Pour ceux qui ne connaissent pas, c'est une feature du véhicule qui permet de couper son moteur à l'arrêt, et le redémarrer automatiquement lorsque l'on effleure une pédale.

Si vous vous demandez comment une batterie peut supporter 5-6 démarrages dans un trajet de 30 minutes sans mourir au bout de 1 mois, et bien vous avez raison de vous poser la question. Les véhicules disposant du Start and Stop nécessitent une batterie spécifique, à technologie EFB (Enhanced Flooded Battery) ou AGM (Absorbent glass mat). Bien entendu ces modèles sont plus chers.

Jetons un coup d’œil à la batterie d'origine :

La batterie installée par Renault dans le véhicule neuf.

L'information intéressante est : 12V - L2 EFB 60Ah 510A (EN). Elle diffère selon le modèle en place, mais voici les informations que l'on peut en tirer :

  • 12V : la tension en Volt (waouh).
  • L2 : Format du "bac" ou "socket" comme j'aime bien dire. C'est l'emplacement physique où on installe la batterie. Voir la liste. En fait la Clio IV a un bac L3, mais la batterie est bien L2 (elle n'occupe donc pas toute la place).
  • EFB : Technologie. Enhanced Flooded Battery. Trahit la présence du Start and Stop.
  • 60Ah : Capacité en Ampère-heure. Plus la valeur est élevée, plus la batterie peut fournir de l'énergie longtemps. Pensez à une bouteille avec sa capacité exprimée en litres.
  • 510A : Pic de courant pouvant être supporté lors du démarrage du moteur (oui, ça fait plus de 6000 watt, c'est énorme).

En théorie, il faut donc remplacer la batterie par un modèle équivalent ou plus puissant, du moment qu'elle rentre physiquement dans le bac et que la polarité est respectée (le (+) et le (-)). En pratique, les constructeurs / revendeurs de batterie fournissent des listes de compatibilité, à partir du modèle de votre voiture, voire même à partir de la plaque d'immatriculation. Et c'est là que les informations peuvent prêter à confusion.

De nombreux catalogues constructeur / revendeurs recommandent une batterie de 70 Ah, au format L3 (donc plus grande), et à technologie AGM, ce qui est supérieur au modèle d'origine. Cela prête à confusion, car l'inévitable question est donc : pourquoi ma voiture neuve est-elle équipée d'une batterie dont les spécifications sont inférieures à celle des constructeurs de batteries ?

Exemple chez Varta. La batterie recommandée est supérieure à celle d'origine. Les deux autres ne sont pas compatibles Start and Stop.

Je n'ai pas trouvé de réponse absolue ou officielle à cette question. Quelques possibilités :

  • Les constructeurs de batterie se basent peut-être sur le format du bac. Ma batterie est une L2, mais le bac est de taille L3, donc les catalogues vont recommander des batteries L3, plus grandes avec une capacité supérieure.
  • Lorsque plusieurs modèles sont possibles, les constructeurs vont recommander le modèle supérieur par défaut. Une batterie de capacité et technologie supérieure fera forcément l'affaire, même si plus chère.

Personnellement, j'étais un peu dérangé à l'idée de mettre une batterie surdimensionnée au simple motif que si elle est plus grosse et plus chère, elle sera forcément meilleure. Pour moi c'est un peu comme mettre une RTX 3080 dans un PC de bureautique, certes elle fera le boulot, mais une 1050 aurait largement fait l'affaire pour moins cher. J'ai donc fait le choix de rester sur un modèle similaire à la batterie d'origine :

Bosch S4E05
Bosch S4E05

Cette batterie coûte un peu moins de 100 euros sur Amazon, un tarif intéressant avec l'avantage d'être livré à domicile, un point important pour un objet qui pèse 15kg et quand on a justement pas de voiture opérationnelle pour aller le chercher. Les chaînes de garage (Feu V**t, Nor**to...) sont trop chères, la seule offre intéressante hors Amazon était une boutique spécialisée mais il me fallait aller à l'autre bout de la ville (20 km quand même).

J'ai déjà changé des batteries dans ma vie, mais cette fois je n'étais pas serein car certaines personnes mentionnent la nécessité de passer au garage pour un "coup de valise", étape nécessaire pour que le véhicule accepte la nouvelle batterie. Heureusement ce n'est pas nécessaire sur la Clio IV, il faut juste le code de l'autoradio, car celui-ci se verrouille en cas de perte d'alimentation.

Le remplacement de la batterie est assez simple, il existe pour cela des dizaines de tutoriels vidéo sur internet. Il faut effectuer les opérations dans le bon sens, et faire attention au petit tuyau d'évacuation des vapeurs acides qu'on a tendance à oublier et qui n'est relié à rien, il ne faut donc pas qu'il tombe. Je n'ai pas mis de graisse de cuivre sur bornes non plus.

Nouvelle batterie en place
L'avantage d'avoir un moteur tout petit, c'est qu'il y reste beaucoup de place.

Le problème est résolu et la voiture démarre sans problèmes.

Attention, le paragraphe suivant n'est sourcé par rien et est purement spéculatif: Je me pose des questions sur l'intérêt du Start and Stop. S'il permet des économies de carburant en ville où il y a de nombreux feux rouges et embouteillages, je me demande si ça en vaut bien la peine face à la durée de vie de la batterie. Son remplacement c'est 15kg de plomb qui sortent d'usine, et 15kg de plomb qui partent à la déchetterie, un désastre. J'ai maintenant tendance à désactiver le Start and Stop quand j'y pense.

J'espère que vous aurez apprécié cet article beaucoup trop long totalement hors sujet avec le blog.

Fil RSS des articles