Un nouvel outil est apparu ces dernières années dans le monde du développement. Il s’agit des notebooks. Les notebooks (en français calepin électronique) sont des interfaces interactives qui permettent d’avoir dans un même document du texte en langage naturel et du code exécutable. Si vous souhaitez les utiliser sur l’IBM i vous êtes au bon endroit !
Les notebooks sont particulièrement utilisés dans le domaine de la data-science pour de l’analyse de données mais aussi dans l’enseignement car il permet d’avoir un document collaboratif simple et structuré.
Les notebooks sont très efficaces pour exécuter des scripts, démontrer des processus étape par étape ou fournir des supports de formation directement exécutables. Cela permet d’avoir un support visuel et interactif.
Dans le contexte IBM i qu’est le nôtre, on peut lui trouver plusieurs avantages non négligeables :
-
- Création de scripts CL ou SQL très utiles pour des procédures métiers de personnes non technique. (On peut aussi faire des scripts SHELL)
- Visualisation de données grâce à des graphes
- Et encore une fois, très utile en formation pour pouvoir faire des démonstrations dynamiques.
Grâce à VS Code et au pack d’extension IBM i Development Pack on peut créer et utiliser des notebooks simplement sur l’IBM i. Voilà comment faire :
Installation des extensions :
Pour exécuter des requêtes SQL et CL dans un notebook, il faut d’abord avoir installé et configuré les packages compris dans IBM i Developement pack.
Dans un premier temps et si ce n’est pas déjà fait, il faut télécharger VS CODE sur le site officiel (https://code.visualstudio.com/).
Ensuite, depuis VSCODE, il faut télécharger IBM i Development pack :
Connexion à l’IBM i :
Il faut ensuite se connecter à notre IBM i depuis VSCODE. Pour cela il faut se connecter au serveur IBM i grâce à l’onglet IBM i (qui apparait après l’installation des extensions) en renseignant toutes les informations (adresse IP, utilisateur et mot de passe).
Création d’un notebook :
Il suffit de créer sur VSCODE un fichier avec l’extension inb (i NoteBook). Une fois ce fichier ouvert on remarque en haut de ce dernier un menu « + Code » et « + Markdown » (ainsi que d’autres options mais nous y reviendrons plus tard).
En cliquant sur + Code, on peut y écrire du code :
En bas à droite on peut lire SQL. Le code devra donc être écrit en SQL, il est possible de changer le langage en cliquant dessus. Nous avons le choix entre CL, SQL et SHELL. On peut voir aussi une option markdown. Le markdown est un langage de balisage léger et c’est celui que nous allons utiliser pour écrire des paragraphes et/ou des titres.
Tout à gauche de la capture on peut voir un logo en forme de triangle (style play). Lorsqu’il est utilisé, le code écrit dans l’onglet va s’exécuter. Le résultat de l’exécution s’affiche en dessous comme dans l’exemple ci-dessous :
Enfin en haut à droite, on voit plusieurs logos, de gauche à droite :
-
- Permet d’exécuter toutes les cellules au-dessus de celle-ci. (Les cellules sont les blocs de codes comme celui-ci).
- Permet d’exécuter cette cellule et toutes celles en dessous.
- Permet de diviser la cellule par rapport à la position du curseur.
- Permet d’ouvrir un menu déroulant avec plusieurs actions.
- Permet de supprimer la cellule.
Les cellules sont déplaçables en les glissants, il est donc très simple de réorganiser son notebook.
Dans les cellules SQL, il est possible de construire des graphiques directement avec la requête SQL, en précisant simplement le type de graphe que l’on souhaite, par exemple :
Remarque : il est important de préciser dans le select quelle est la colonne du label.
Maintenant passons aux cellules type markdown. Elles servent comme on l’a dit à mettre du texte dans nos notebooks. La syntaxe de base du markdown se retrouve ici : https://www.markdownguide.org/basic-syntax/. On peut voir que pour faire un titre on peut utiliser # mon titre, ce qui donnerait en html <h1> mon titre <h1>.
Les cellules markdown sont différentes des cellules de code :
On trouve en haut à gauche un menu similaire à celui du code mais le comportement n’est pas le même, dans l’ordre :
- Ce bouton permet d’exécuter le code de toutes les cellules de la section. Une section est par exemple le code entre deux cellules qui ont un titre de même type.
- Le bouton Valider permet de quitter le mode édition de la cellule et d’afficher le texte comme on le désire. En mode affichage ce logo est remplacé par un crayon qui permet de rentrer en mode édition de la cellule.
- Les deux autres boutons servent à la même chose que les cellules code.
Voici un exemple de notebook réalisable sur l’IBM i :
Le bouton clear all output permet lui de supprimer tous les affichages de résultats des cellules de code.
Enfin le bouton export, qui peut être très pratique, permet lui d’exporter le notebook ainsi que les résultats des cellules au format HTML.
Pour aller plus loin :
Les notebooks permettent d’apporter une interactivité et de la modernité à l’IBM i. Ils ont pu apparaitre sur l’IBM i grâce à des projets open sources. Ces projets sont un moteur important de l’IBM i et nous ne pouvons que vous inviter à essayer d’y participer pour continuer de faire évoluer ce qui était à la base un AS/400.