Blog ENI : Toute la veille numérique !
🐠 -25€ dès 75€ 
+ 7 jours d'accès à la Bibliothèque Numérique ENI. Cliquez ici
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Livres et vidéos
  2. Scripting Python sous Linux
  3. L’environnement de travail
Extrait - Scripting Python sous Linux Développez vos outils système (2e édition)
Extraits du livre
Scripting Python sous Linux Développez vos outils système (2e édition)
2 avis
Revenir à la page d'achat du livre

L’environnement de travail

Le langage Python en 2023

Lors de la rédaction de la première édition de cet ouvrage, deux versions de Python étaient encore d’actualité et beaucoup de librairies importantes n’étaient pas encore portées en version 3.

Aujourd’hui, Python2 s’est arrêté à la version 2.7 et n’évoluera plus.

De son coté, Python 3 est devenu en 2020 le langage préféré auprès des développeurs.

Langage préféré, populaire, le plus utilisé etc. ... quelles que soient la statistique et son origine, python se classe dans les cinq ou dix premiers langages informatiques.

Dans cet ouvrage la version utilisée est la version 3.10 ; bien entendu toute version supérieure ou égale devrait convenir, mais la version 3.10 apporte une fonctionnalité importante qui pourrait bien révolutionner l’art et la manière de programmer en python.

Il est aussi possible de compiler sur votre machine la toute dernière version ; en annexe se trouvent les scripts utilisés pour cette opération.

L’environnement de travail

Parlons maintenant de l’environnement de travail.

Dans la majorité des cas, un terminal (Konsole, Roxterm…) sera nécessaire. Utilisez celui dont vous avez l’habitude.

La ligne de commande dans le terminal reste l’outil de base de l’administrateur système. Généralement, un terminal s’utilise avec plusieurs onglets ; cela permet de tester quelque chose pendant une édition, visualiser un fichier de configuration, entre autre choses.

Un terminal et l’interpréteur Python

Dans un premier temps, seuls un terminal et le binaire Python seront nécessaires. 

Les scripts que l’on code n’ont bien souvent pas d’interface homme/machine car ils sont lancés automatiquement ; des exemples sont prévus pour apprendre à capturer les entrées et sorties standards dans des fichiers de logs quand c’est nécessaire.

Mais, parfois, il peut être nécessaire d’interagir avec la machine ; des exemples à base de make/shell/Python vont illustrer la génération de page HTML.

Au début, l’interpréteur Python convient très bien pour tester quelques séquences d’instructions.

Il sert aussi quand on ne se souvient plus de la syntaxe de certaines commandes, et il est utile d’avoir un onglet du terminal avec un interpréteur ouvert, prêt pour effectuer des tests.

Un incontournable : Git

Il est important de préciser qu’il faut utiliser Git, et ce avant même d’avoir tapé la moindre ligne de code python.

Cela doit devenir un réflexe et s’insérer dans votre hypothalamus reptilien : chaque projet même insignifiant doit commencer par la création d’un dépôt Git.

Git est un logiciel de gestion de version décentralisé créé par Linus Torvalds lui-même.

Même dans son utilisation la plus basique (add / commit / push) Git gérera pour vous l’évolution de votre projet et dans une certaine mesure sa sauvegarde.

Mais Git peut aller loin et même très très loin, le noyau linux est développé avec Git et fédère ainsi le travail de plusieurs milliers de développeurs.

La configuration de l’environnement Python

Mais là tout de suite, il faut pouvoir travailler sereinement avec le langage Python, et ceci sans interférer avec les versions de Python déjà présentes sur la machine.

Car pour bien appréhender ce langage, il faudra à un moment donné apprendre à télécharger des modules (équivalents Python des paquets Debian), et ce sans casser ou mettre à jour les modules déjà présents dans votre système.

Et, surtout, il faut savoir choisir la version de Python que l’on veut utiliser.

Pour cela, il existe plusieurs techniques :

  • Se créer une machine virtuelle sous une distribution Linux récente comme Debian, Mint ou Ubuntu pour étudier le langage Python

  • Utiliser le module Python virtualenv (venv)

L’option 1 est hors sujet pour cet ouvrage, mais s’il ne s’agit pas de votre pain quotidien, une procédure de création de machine virtuelle (debian 10) se trouve en annexe. 

virtualenv est un module Python issu de la librairie standard du langage Python. 

Pour l’instant, retenez qu’un module est l’équivalent Python du paquet Debian et que l’on gère ces paquets avec la commande pip, comme Ubuntu utilise apt.

Dans les lignes suivantes, il faudra utiliser les commandes un peu comme une recette de cuisine. Des explications plus complètes viendront en temps et en heure.

Pour l’instant, le but est de préparer l’environnement de travail.

 Lancez votre terminal favori puis procédez comme suit.

1. Étape 1 : repérez le binaire Python qui vous...

Les autres outils nécessaires

Il reste à choisir l’éditeur ; là aussi prenez celui dont vous avez l’habitude, le nôtre est vim.

Sinon, il existe pléthore d’éditeurs, et beaucoup ont des modes dédiés pour le langage Python.

:wq 

Non, la ligne précédente n’est pas une scorie ou une erreur, il s’agit généralement de la séquence de touches que l’on utilise pour sortir de ’vi’.

:   => deux points pour passer en mode commande

w => pour écrire le fichier (write)

q => pour sortir (quit)

Git un compte, des projets et des sauvegardes

Dans la précédente version de cet ouvrage, Git n’était expliqué que sommairement dans une obscure annexe en fin d’ouvrage.

Vu l’importance de cet outil, une section se devait de lui être consacrée. par contre si Git et GitHub vous sont familiers, alors mieux vaut sauter cette partie. 

Git est un logiciel de gestion de versions décentralisé, selon la définition volontairement neutre donnée par Wikipédia.

De notre point de vue, Git (se prononce ’guite’ ou ’Gé hi Té’) est LE LOGICIEL DE GESTION DE VERSIONS.

De plus, il a été développé par une légende vivante : Linus Torvalds lui-même.

Non seulement Linus Torvalds a révolutionné l’informatique moderne avec son noyau Linux, même s’il ne l’a pas fait exprès... mais il a récidivé dans le domaine de la gestion de version du code source avec Git.

Un gestionnaire de versions permet de gérer les évolutions des fichiers d’un projet tout au long de sa conception, du premier fichier jusqu’à une version finale de production.

Il ne faut pas restreindre l’utilisation de Git à du code source, ainsi l’ensemble des fichiers de cet ouvrage (fichiers LibreOffice) sont suivis avec un dépôt Git....

Inscription sur un site et configuration de base

En premier lieu, il faut s’inscrire sur un site comme Framagit, GitLab ou GitHub. 

Puis installer le logiciel si ce n’est déjà fait (yum, apt etc.).

Pour la configuration c’est très simple :

git config -global user.name « VOTRE NOM »  
git config -global user.email « VOTRE ADRESSE MAIL » 

Ainsi, chaque commit mentionnera nom et adresse mail, c’est utile quand on travaille en équipe.

Par défaut Git utilise l’éditeur vim ce qui ici convient parfaitement, mais sinon voici comment paramétrer « nano » par défaut :

git config -global core.editor « /usr/bin/nano » 

Et, pour vérifier la configuration il suffit de taper :

git config --list 

Astuce pour GitHub avec l’authentification SSH

Si vous souhaitez utiliser une clé SSH dédiée pour Github alors voici comment paramétrer le fichier ~/.ssh/config :

Host github.com 
     Hostname github.com 
     IdentityFile=/le_chemin_vers_la_clé_privée 

Beaucoup de tutoriels sur le sujet précisent qu’il faut spécifier le nom du dépôt alors que cela n’est pas nécessaire.

Il faudra cependant entrer la partie publique de la clé, de manière globale dans votre compte GitHub (Settings / SSH and GPG Keys) ou au niveau du projet dans l’onglet Settings du projet puis Deploy Keys.

Pour tester la connexion :

ssh -vT git@github.com 

Création d’un projet

Ensuite, il faut créer un projet. Quel que que soit le site la démarche est simple, il suffit de donner :

  • un nom,

  • une description,

  • une visibilité : le mode privé au début convient bien.

Généralement, on vous propose de l’initialiser avec un README, c’est une bonne idée, cela fait au moins un fichier dans le dépôt.

Une fois la création confirmée, le site du projet apparaît avec un "commit initial" qui comprend le fichier README.

Quelque part se trouve un bouton "clone" ou un lien HTTPS pour cloner le projet.

À côté, on trouve généralement un autre bouton pour copier l’URL dans le presse-papier, cela va servir.

Revenons sur notre machine et notre bon vieux terminal.

Dans un nouveau répertoire dédié à ce projet, lancez la commande :

git clone https://l'url_de_votre_site_dans_le_presse_papier.git 

Puis l’authentification qui peut être différente en fonction du site, un mot de passe, une phrase de passe ou juste l’échange de clé.

Cela devrait donner quelque chose comme :

$ git clone https://framagit.org/xxxxxxx/test_create_projet.git  
Clonage dans 'test_create_projet'...  
Username for 'https://framagit.org': xxxxxxx  
Password for 'https://xxxxxxxxx@framagit.org': xxxxxxx  
remote: Enumerating objects: 3, done.  
remote: Counting objects: 100% (3/3), done.  
remote: Total 3 (delta 0), reused 0 (delta 0)  
Dépaquetage des objets: 100% (3/3), fait.  
Vérification de la connectivité... fait. 

Normalement, un répertoire du nom de votre projet vient d’être créé et dedans se trouve un fichier README.

Cette opération a cloné le dépôt distant en dépôt local ; maintenant, une copie des sources se trouve localement sur votre machine.

Une fois positionné dans le répertoire, la commande git status permet de savoir si des modifications ont été faites sur les fichiers :

 $ git status  
Sur la branche main  
Votre branche est à jour avec...