Hello world !

Hello world !

Traditionnellement, c’est par là que tout commence : qu’on en soit à son tout premier bout de code ou à tester une nouvelle techno ou un nouveau langage, il est assez rassurant – et finalement très satisfaisant pour un accomplissement pourtant pas si révolutionnaire – de voir ces quelques mots s’afficher sur notre terminal : “Hello world !”.

Je commence donc ce blog par là pour respecter une forme de tradition ancestrale qui lie tous les devs d’ici et d’ailleurs entre eux, telles nos constantes de test fixées à 42 ou nos belles variables toto et titi (ou foo et bar comme les nommeraient nos amis anglophones).

J’ai récemment pris un poste de dev en lab’. Concrètement, je code des prototypes et autres expérimentations sur la base de technos diverses et variées. Moi qui avais plutôt un profil développeur full-stack, me voilà à devoir mettre les mains dans le cambouis sur des considérations plus larges car je suis responsable de l’ensemble de la chaîne technique de mes produits : du paramétrage de la VM au code de la solution à proprement parler, en passant par les aspects sécurité, paramétrages de proxy, authentification et j’en passe.

Jusqu’à maintenant, j’étais seulement consommateur d’un certain nombre de ces services et je ne m’étais pas vraiment posé la question de ce qu’il y a sous le capot, ni de la facilité (ou pas) de les mettre en œuvre. Maintenant que je fouine dans tout ça, je suis horrifié !

De nombreuses technologies qui sont pourtant largement utilisées dans le monde entier sont sous-documentées, voire non-documentées parfois. Il faut donc glaner des infos de-ci de-là sur les forums (ce qui devient très compliqué pour ceux qui ne sont pas à l’aise avec la langue de Shakespeare – qu’on appellera désormais Willy-Will sur ce blog) et bidouiller sur un bac à sable perso pour s’en dépatouiller. Le pire dans tout ça c’est que la plupart des “sacs à merde” (oui, parlons franchement), qui ont eu le même problème ou la même question que vous avant vous finit une fois sur deux par indiquer “c’est bon j’ai trouvé merci !”, et ne partage pas sa solution. L’autre fois sur deux ? Bah tout simplement il n’aura jamais de solution à son problème.

Bon j’abuse sur le 50/50, dans un tout petit pourcent des cas la solution est trouvée et fournie par les cracks qui traînent ces mêmes forums. Enfin bref, tout ceci soulève quelques questions.

Déjà, dans le cas du 1% : puisque d’autres ont eu le problème avant vous et que la solution existe, pourquoi n’est-t-elle pas documentée proprement quelque part ?

Pour les autres cas, puisqu’on parle d’une techno que vous découvrez – et donc sur laquelle vous n’essayez a priori pas de faire un truc trop fifou du premier coup – vous suivez a priori des sentiers qui ont déjà été tracés. Dès lors on devrait assez rapidement pouvoir vous dire que ce que vous tentez n’est pas possible car hors des limites de la techno (c’est triste mais ça arrive : pas plus tard que ce matin j’aurais aimé pouvoir mettre un port dans mon /etc/hosts pour m’éviter une redirection plus longue à mettre en œuvre, mais ce n’est tout bonnement pas possible), ou alors vous orienter vers une solution.

Bah oui, si la question que vous vous posez concerne l’usage commun de la techno en question, a priori c’est que c’est faisable non ? Eh bien rassurez-vous, d’expérience oui, mais c’est là où le bât blesse, car en fait la seule explication que je peux trouver au manque de documentation dans ce cas-là est la suivante : on retombe dans la catégorie des sacs à merde de tout à l’heure. Ces gens sont soit des égoïstes feignants qui ne prennent pas le temps de rétro-documenter leurs découvertes pour le bien commun, soit des égoïstes salopards (vous sentez que je ne les aime pas ceux-là ?) qui ne VEULENT pas rétro-documenter leurs découvertes car cela fait d’eux des individus d’exception, les seuls à avoir l’information. Ainsi, ils pourront briller dans les dîners mondains et surtout vendre cher cette compétence rare sur le marché de l’emploi.

Alors voilà ces gens deviennent très embauchables et tout ceci est bien beau pour eux mais cela pose de gros problèmes pour, bah, littéralement tous les autres, devs comme profanes de l’informatique qui sont uniquement utilisateurs de PCs, des smartphones, du web, des objets connectés et j’en passe. Eh bien oui, parce que dans le Top 10 de l’OWASP (on y reviendra sûrement dans de futures publications), on trouve de magnifiques failles de sécurité telles que “insecure design” ou encore “security misconfiguration” (palmarès 2021). Je ne vous demande pas de me croire sur parole mais je peux vous assurer qu’une très grande majorité de ces soucis pourraient être évités si on partageait les bonnes pratiques et les connaissances plutôt que de se les garder pour soi.

Bon, on y est ! Après cette longue et verbeuse introduction vous l’avez la raison d’être de ce blog : partager mes expériences, mes essais/erreurs, mes petits tips, bref : répandre un peu de bonne parole. Je ne suis sans doute pas le mieux placé pour parler de la plupart des technos qu’on évoquera au gré des articles de cette “bibliothèque des connaissances cachées” mais comme les mieux placés pour le faire ont décidé de garder les secrets pour eux, je vais faire de mon mieux !


One response to “Hello world !”

  1. […] pas sur ces systèmes tant c’est important mais ironiquement, c’est l’une des raisons d’être de ce blog car c’est l’un des sésames de Linux les moins bien documentés que vous trouverez : la […]

Leave a Reply to Augmenter ses permissions (2/2) – Le Blog du Tech' Cancel reply

Your email address will not be published.