Posts avec l'étiquette perl:

Perl 7, WTF ? (et aussi, yeaaaah :))

Rapidement abordé sur l’édito précédent, une news de fou pour les perleux du monde entier a pointé le bout de son nez le 24 juin 2020 sur le site officiel du langage Perl. Announcing Perl 7 Et là, on s’est tous dit : mais wtf, Perl6 a déjà été tenté et s’est avéré être un échec (pour les perleux), principalement à cause du changement de philosophie majeure et de la cassure au niveau rétrocompatibilité. Snif, pour un langage qu’on a attendu 10 ans. D’ailleurs, Perl 6 est tellement différent en terme de … Bah en fait, tout, qu’il a été renommé Raku pour bien casser le lien.

Générer un token sécurisé avec String::Random

Je bosse en ce moment sur une petite API pour un usage ludique au bureau (j’expliquerais ce que c’est une prochaine fois), et ça m’a inspiré une courte note sur comment générer un token sécurisé en perl. Pour générer des chaînes de caractères en perl, il existe l’excellent String::Random. Il combine plusieurs méthodes mais elles peuvent s’avérer pauvres pour générer un token, car celui-ci doit : être une suite aléatoire de caractères alphanumériques avoir un pattern dynamique Avoir un pattern dynamique, ça veut dire que la séquence ne doit pas se répéter même si les caractères sont aléatoires, par exemple:

Docker & Mojolicious = <3

Vous vous rappelez de cet article qui parlait d’une application révolutionnaire en perl et utilisant le framework web Mojolicious ? Super. Voici la démo plus ou moins liée, à savoir comment utiliser Docker pour déployer mon application Mojolicious. Note : je ne présente plus Docker. Pour que mon application puisse tourner en conteneur, il faut d’abord construire une image de laquelle sera lancée ledit conteneur. Je ne saurais trop vous conseiller de lire les bests practices en matière de rédaction de Dockerfile, au passage. Je pars d’une image légère, alpine linux. C’est une sorte de système linux ultra-léger, parfait pour construire des images optimisées.

Quote API en Perl/Mojolicious

Je suis d’avis que ce confinement exacerbe notre créativité. C’est vrai, on voit des tas de vidéos sur le Net de gens qui inventent toutes sortes de jeux, challenges, programmes, histoires, dessins, bd… Et j’en passe. Perso, j’en ai profité pour faire du code. J’ai codé un million de trucs useless pendant ce confinement, en Perl, en Python, en C++. Exemple : pourquoi ne pas utiliser Mojolicious pour faire une sorte d’API qui nous donne une citation random à chaque requête ? J’ai fait ça avec un module, Fortune. Dans un premier temps, j’installe les dépendances (libre à vous d’utiliser perlbrew ou non) :

MMORPG : Tau Station

Je ne suis pas très axé jeux vidéos mais s’il y a quelque chose dont je n’ai jamais pu décroché, ce sont les jeux type MMORPG en mode texte, style MUD. J’y ai passé des heures depuis que je touche des claviers. Le premier auquel j’ai joué était MultiMUD, encore accessible ce jour via un telnet multimud.net 4242. J’ai rencontré un mongueur de perl au FOSDEM de février 2013, un type hyper sympa venu faire une conférence sur les objets en perl, Curtis Poe, plus connu sous le pseudo Ovid. Il est de ceux qui sont des sorciers du code et vous épatent par leur créativité ainsi que la facilité qu’ils ont à résoudre tous types de problèmes par 3 ligne de perl.

Monitorer ses certificats SSL en perl

Les certificats SSL, c’est un peu le Point Of Failure du web. Si vous n’êtes pas un admin rigoureux et ne les monitorez pas, vous pouvez passer à côté d’un renouvellement et planter votre site ou votre app. Note : Si vous utilisez Let’s Encrypt, vous pouvez tout de même mettre à profit cet article, mais vous pouvez aussi mettre en place un cron de renouvellement automatique 😄 En perl, il existe des tas de modules dont le très cool Net::SSL::ExpireDate, permettant de faire des scripts très courts et simples, pour éviter cette situation. Vous pouvez même les coupler à une sonde Centreon/Nagios pour les inclure dans votre supervision.

Développer en perl avec perlbrew

Je suis développeur Python sur mon temps libre et parfois dans mon métier de devops, c’est vrai, mais j’aime également beaucoup le perl qui m’a sauvé la vie quelque fois au bureau comme en perso. C’est d’ailleurs mon premier amour et le langage avec lequel j’ai le plus d’expérience, puisque j’en code depuis maintenant 9 ans, en web ou en système. Alors, non, perl n’est pas mort, de nouvelles versions (comme la 5.30.0) sortent régulièrement (ou pas). La communauté des développeurs Perl 5 est quant à elle encore très active, comme le démontre également le CPAN et son activité (nouveau modules ou modules mis à jour).

Interact with AWS using Perl

AWS is mostly about APIs (and a little bit of cloud). In fact, WS is… Yeah, you got it. Most of popular programming languages support these API. You can find on the web SDKs for Go, NodeJS, Python, C++… But have you ever considered perl (as in Perl 5)? Yes, the old brother as we call it in my office. It’s still alive and so much fun to code ! Perl, again ?! It’s good to know that this language is still out there, not dead, and far from it either. So let’s go for a little introduction. You may have heard of Perl 6, and thought something like: