Introduction

Lors de choix architecturaux, prendre en compte les cycle de vie des logiciels impactés oriente toujours les choix. Est-il par exemple justifié de migrer vers une version de logiciel dont la fin de support est proche ? Combien de temps avons-nous avant de devoir se mettre à jour, et quel en sera l’impact ? Ce questionnement reste central dans l’établissement de l’effort à fournir pour répondre aux besoins finaux.

Dans cette situation, je me réfère au site “endoflife.date” 1 qui centralise les cycles de vie de nombreux logiciels connus.

➡ Et à des fins de rapidité d’utilisation et d’automatisation, j’ai mis en place ce petit script qui facilite la récupération de l’information.

Fonctionnement

Le script fait une requête HTTP GET sur la ressource https://endoflife.date/api/PRODUCT.json. Il traite ensuite les différentes versions et les affiche via la méthode Python __repr__.

Installation

Lancer le script Bash suivant :

SCRIPT_1="https://gitlab.com/-/snippets/2592975/raw/main/software_endoflife.py"

TEMP_DIR=$(mktemp -d)
echo "Downloading in local directory: $TEMP_DIR"

curl $SCRIPT_1 > "$TEMP_DIR/software_endoflife.py" 2> /dev/null

python3 "$TEMP_DIR/software_endoflife.py" -h

Quelques dépendances sont à prévoir : requests, dataclasses.

Utilisation

Lancer l’interpréteur Python3 pour exécuter le script.

 $ python3 "$TEMP_DIR/software_endoflife.py" -h

Voici ce que cela donne (sur le site asciinema2).

asciicast