Le Blog Utux

Parce qu'il n'y a pas que Linkedin pour se faire mousser avec des articles techniques

Upgrade en Debian 10

Rédigé par uTux

Que ce soit en serveur ou en desktop je n'ai jamais eu de problème de montée de version sur Debian, c'est là qu'on voit qu'on est pas chez Ubuntu :) J'ai fait l'opération sur 2 machines virtuelles et 1 notebook, tous en bureau Mate, tout s'est déroulé à merveille.

Debian forever :)

Classé dans : Non classé Mots clés : debian

Merci Terraform 0.12 :)

Rédigé par uTux

J'ai une relation d'amour et de haine avec Terraform. Cet outil est formidable pour discuter avec les providers de cloud et faire de la remédiation, en revanche je me casse régulièrement les dents sur le langage hcl que je trouve extrêmement limité et frustrant. Trois exemples :

  • Les variables : Toute variable doit être déclarée, typée et contenir une valeur, même si on ne s'en sert pas. Une variable ne peut pas être égale à une autre. Pas de dictionnaire.
  • Pas de if, pas de loop : On doit ruser avec count mais on perd grandement en souplesse et en lisibilité.
  • pas DRY: (Don't Repeat Yourself) on ne peut pas utiliser du code commun et envoyer des variables en fonction de l'environnement, donc on duplique pas mal de code. Ce problème est réglé par Terragrunt que je recommande.
Logo Terraform
C'est principalement pour ces deux raisons que je considère qu'il est très difficile voire impossible de faire du code générique sur Terraform. On ne peut pas créer un module qui gère tous les cas possibles à l'aide des variables, on devra obligatoirement imposer des choix.

Terraform 0.12 est une version qui était très attendue depuis près de 1 an car promettant de lever pas mal de limitations du hcl. Et en effet la nouvelle version du langage nous apporte des nouveautés très appréciables. Mes 3 préférées sont :

  • First-class expression syntax :
    • ${var.foo} devient var.foo
    • ${var.foo["key"]} devient var.foo.key
    • ${var.foo[count.index]} devient var.foo (mon préféré)
  • Generalized type system :Les variables peuvent être des "object" composés de clés de différents types. Les objets eux-mêmes peuvent faire partie d'une liste: exemple. C'est peut-être le plus gros progrès de cette version.
  • Iteration constructs : Arrivée des boucles for et des boucles dynamiques, semble en pratique plus limité que ce qu'on pourrait croire mais c'est bon à prendre. Exemple.

Terraform 0.12 couplé à Terragrunt offre une plus grande souplesse et évite de se répéter. J'ai entamé la migration de mes projets pour profiter de ces nouveautés, et j'en suis très content. Merci Terraform :)

How to remove server_tokens in Azure Application Gateway

Rédigé par uTux

In Azure, the Application Gateway is basically a reverse proxy, passing traffic to some backends. While testing the SSL certificate of a listener with ssllabs, I have been surprised by the "HTTP server signature" field: Nexus/2.14.10-01. Indeed, the backend was a Nexus service, but I was expecting to see the server signature of the Application Gateway (which is Nginx), or nothing, but not the backend.

Turns out the HTTP response contains the following header:

< HTTP/1.1 200 OK
< Server: Nexus/2.14.10-01
[...]

Many sysadmins and organizations consider this as a security issue, giving attackers information about the server. While I do not totally agree with this statement (Obfuscation), I often disable this information. This is simple with Nginx and Apache, but what about Azure Application Gateway?

Application Gateway -> Your application gateway -> Rewrites -> + Rewrite set

Name and Association
  • Name: give a name to your rewrite set. Ie: DisableServerTokens.
  • Associated routing rules: Select the rule associated to your backend(s)
Rewrite rule configuration
  • Rewrite rule name: give a name to your rewrite rule name. Ie: DisableServerHeader.
  • Action type: Delete
  • Header type: Response
  • Header name: Common header
  • Common header: Server

Then Save your modifications. This should remove the "Server" HTTP header.

Astérix: Le secret de la potion magique

Rédigé par uTux

Je n'attendais rien de ce film, à vrai dire le pitch me rendait sceptique car il m'était impossible d'imaginer que Panoramix puisse révéler le secret de la potion magique, cela irait à l'encontre du lore de la franchise. Et finalement ce fut une surprise positive, très positive même puisqu'il s'agit pour moi d'un des meilleurs films Astérix.

Asterix

Ce que l'on note en premier c'est bien entendu l'humour omniprésent et qui fonctionne plutôt bien, on passe une bonne partie du film à rire surtout lorsque tout part en WTF à la fin, sans vouloir spoiler il n'y a qu'Alexandre Astier qui pouvait imaginer un combat final de cette ampleur et le réussir.

J'ai ensuite beaucoup apprécié l'aspect graphique, techniquement l'animation est impeccable et certaines scènes éclairées par un soleil levant ou des nuages d'orage sont à mon sens magnifiques.

Enfin, sans vouloir spoiler, le thème du film est la transmission et la succession. Il n'est pas trop présent, presque secondaire, mais il parle aux trentenaires comme moi et est le bienvenue dans un film qui propose son propre scenario original. Peut-être faut-il libérer Astérix, cesser de vouloir adapter les bandes dessinées avec des acteurs français bankables et passer la main à une nouvelle génération de passionnés.

Si on enlève les quelques interventions agaçantes d'un Elie Semoun incapable de se renouveler, le film est presque un sans faute et j'espère qu'il va cartonner car des films comme ça j'en veux plus souvent !

Seal of approval

Linux sur desktop: Linus se trompe

Rédigé par uTux

Article écrit en réaction aux propos de Linus Torvalds, qui affirme que Si Linux a de la peine à s'imposer sur le desktop c'est à cause de la fragmentation de l'écosystème. Forcément c'est un titre alléchant, le papa de Linux qui ressasse un troll vieux de plus de 10 ans, y'a matière à attirer les clics et les commentaires.

En tant qu'utilisateur de Linux depuis 12 ans, ancien prosélyte, ancien techos helpdesk, je pense fortement que ce n'est pas vrai et que le monsieur se trompe. Même s'il est un dictateur reconnu et probablement un bon développeur, je pense que le problème n'est pas technique.

Mauvais raisonnement

Excusez l'analogie un peu sexiste, mais on ne fait pas un enfant en 3 mois avec 3 femmes. Affirmer que mettre tous les gens sur une distribution unique et un environnement graphique unique permettrait d'atteindre une qualité supérieure reste à prouver tant il y a de facteurs en jeu.

De plus il ne faut pas oublier que la grande majorité des distributions Linux et des logiciels libres sont gratuits et faits par des gens qui s'éclatent, des contributeurs réguliers ou occasionnels, bref des gens à qui on ne peut pas donner d'ordres. Il n'y aurait aucune légitimité à rediriger ces gens là vers un projet unique, la plupart cesseraient juste de contribuer et nous devrions être content de les avoir actuellement même s'ils sont "répartis" sur différents projets.

D'autre part ce raisonnement part du principe que cet éparpillement provoque un déficit de moyens au niveau des distributions, alors que des organisations telles que Red Hat, Fedora, Suse, Debian, Ubuntu, ont déjà énormément de contributeurs et même des moyens financiers.

Et pour finir faisons une analogie avec les voitures: si demain on décide qu'il est inutile d'avoir plusieurs constructeurs automobile puisqu'au final les voitures se ressemblent toutes, est-ce que cela augmentera la qualité des véhicules ? Non, cela donnera juste un énorme monopole à quelqu'un.

Linux ou le fantasme d'un Windows gratuit

On aura beau avoir la distribution la plus peaufinée, la plus performante, la moins buguée, il y aura toujours des reproches sur l'impossibilité de trouver les mêmes logiciels que Windows, faire les mêmes manipulations, avoir la même compatibilité. En gros nous avons un espèce de fantasme d'un Linux qui serait un Windows gratuit amélioré, bien sûr cela n'est pas possible.

Par contre, plutôt que d'avoir Linux avec un environnement Windows, il est possible de faire l'inverse. Aujourd'hui on peut installer Debian 9 sur Windows 10, sans virtualisation, sans émulation, avec accès natif aux dépôts de la distribution. Et ça marche plutôt bien. Peut-être la convergence Windows/Linux est-elle déjà là et qu'au final l'intérêt de Linux sur desktop est de moins en moins pertinent.

La vente liée

Enfin on ne peut continuer la réflexion sans évoquer l'éternelle vente liée. Il est probable que l'écrasante majorité des utilisateurs ne sait pas installer un système d'exploitation, n'a pas envie d'apprendre (à juste titre), voire ne sait même pas ce qu'est un OS. Donc à partir du moment où chaque ordinateur vendu dans le monde vient avec Windows, la compétition n'est pas juste.

Conclusion

Alors qu'il a gagné sur mobile, Linux ne s'imposera jamais sur desktop, car c'est un marché bloqué, car il est trop tard pour changer les habitudes des gens, et parce qu'il est plus pragmatique de parier sur la convergence des environnement avec WSL qui permet d'avoir Linux sur Windows. Avec les efforts récents de Microsoft dans l'opensource je ne serais pas surpris de voir un rachat de Canonical prochain pour faire face à IBM.

Plutôt que de chercher à révolutionner 20 ans d'informatique grand public, s'isoler et se trouver des ennemis partout, tenter d'aller contre un courant beaucoup trop fort, le combat devrait être mené sur un autre front. On ne pourra pas déployer de Linux sur les PC grand public, en revanche on peut faire vivre son écosystème. On a des logiciels libres populaires qui marchent bien: Firefox, VLC, LibreOffice, c'est à mon sens là dessus qu'il faut investir nos efforts.