Tests des scripts PowerShell : arrêter de « Pester »

tests des scripts PowerShell

Salut à tous ! aujourd’hui on va se pencher à l’intégration continue en PowerShell et plus particulièrement les tests des scripts PowerShell avec le module PowerShell Pester.

Les tests ? on s’en fou… yolo, non?

Alors, non… les tests on s’en passe, certes, bien sur les petits SI, ou pour les bout de scripts en read-only à usage unique. Mais dès que vous commencez à vouloir maintenir votre code dans le temps… Les tests ça devient bel investissement, car si effectivement c’est pas passionnant à écrire, ils permettent quand même de spécifier clairement les entrées et les sorties attendus de vos scripts et donc de s’assurer que celles-ci ne seront pas modifiée lors de vos futures mise à jour.

Donc, pour répondre à la question : dois-je écrire un jeu de tests pour mon code ? j’aurais tendance à dire :

  1. Si votre code est destiné à avoir une durée de vie supérieure à quelques mois : oui.
  2. Sinon, c’est à évaluer en fonction de la « criticité » du script que vous comptez exécuter. Exemple : un script qui modifie 150 000 comptes utilisateurs de manière d’un côté, ou de l’autre côté celui test si le port
Lire la suite

Fonction Copy as path sous Windows

Copy as path

Salut à tous, je vous fait une très brève aujourd’hui. Il y a un pote qui m’a fait découvrir la fonction « copy as path » de l’explorer Windows. C’est très con mais je connaissais pas, et jusque là je me faisais suer à copier le chemin puis le nom du fichier quand j’avais besoin d’un chemin complet vers le fichier.

Bref, il vous suffit d’appuyer sur « Maj. » en même temps que vous cliquez avec le bouton droit de votre souris sur le fichier dans l’explorateur. Et pouf la fonction « copy as path » apparait (« Copier en tant que chemin d’accès » en Français). Un coup de Ctrl-V et vous allez coller le full path vers le fichier, dans votre console PowerShell par exemple.

Voilà, c’est tout con, mais parfois il ne faut pas grand chose pour se changer la vie… Si ça peut en aider un ou deux !… Lire la suite

Splunk certbot et Let’s Encrypt App

Splunk certbot et Let's Encrypt

Je continue un peu sur Splunk, ce coup-ci j’ai fait une TA Splunk certbot et Let’s Encrypt. J’en ai eu un peu marre de déboguer les enrôlements certbot sans Splunk. Donc comme la dernière fois, j’ai fait une TA supportant le format de log de certbot actuel (versions 0.28.0). J’ai appliqué la même démarche que pour VSFTPD et fail2ban avec le Splunk Add-on Builder.

CLI Packaging

A la nuance qu’au moment de publier, j’ai fait l’update vers Splunk 8 qui m’a cassé le Add-on Builder… du coup j’ai du terminer en mode fichier et faire mes dernières modifs en mode CLI et par exemple packager avec :

./splunk package app TA-certbot

TLDR, elle est où cette TA Splunk certbot et Let’s Encrypt ?

Comme d’habitude, vous la trouverez sur la Splunkbase :

https://splunkbase.splunk.com/app/4758/

Modification de Limits.conf

Notez qu’il y a un configuration spécifique pour cette app. La regex que j’utilise est « un peu violente » (cf. explications ci-dessous). Du coup pour quelle soit fonctionnelle, il se peut (mais à priori ça marche quand même sans) que vous deviez modifier votre fichier limits.conf et rajouter le stanza suivant :

[rex]
depth_limit = 100000

Ce réglages permet d’augmenter la récursivité … Lire la suite

Déployer un site Jekyll avec Nginx

Jekyll avec Nginx

Salut à tous, aujourd’hui on va s’intéresser aux générateurs de sites dit « statiques » et plus particulièrement comment déployer un site Jekyll avec Nginx(avec le thème beautiful-jekyll). Et oui, je sais ça fait 10 ans que cette techno est sortie, mais moi j’en ai pas eu besoin jusqu’ici hein…^^

C’est quoi un « site statique » ?

Un site statique, par opposition à un site dynamique, est un site ou le serveur web n’exécute pas de code lors des requêtes du client. Exit : PHP, Node-JS ou Django, en gros le serveur se contentera de servir des fichiers statiques de type HTML, JavaScript et CSS.

C’est quoi l’intérêt ?

Les CMS comme WordPress, Drupal ou encore Joomla qui vous permettent de construire vos sites grâce à des interfaces web avec des sous-parties réservées à l’administration et à l’édition de vos textes, images, etc. Les sites statiques à contrario, doivent être générés (et transférés si besoin) sur le serveur à chaque mise à jour, puisque lors des appels clients, votre serveur web ne fera que renvoyer des fichiers et n’exécutera aucun code.

En contrepartie de cette perte de fonctionnalités, vous obtenez en gain non négligeable sur les éléments suivant :… Lire la suite