Objectifs pédagogiques
- Expliquer les subtilités du langage Python pour écrire des programmes qui interagissent avec un système de type Linux.
Modalités et moyens pédagogiques
Formation délivrée en présentiel ou distanciel* (e-learning, classe virtuelle, présentiel à distance).
Le formateur alterne entre méthode** démonstrative, interrogative et active (via des travaux pratiques et/ou des mises en situation).
Variables suivant les formations, les moyens pédagogiques mis en oeuvre sont :
- Ordinateurs Mac ou PC (sauf pour les cours de l'offre Management), connexion internet fibre, tableau blanc ou paperboard, vidéoprojecteur ou écran tactile interactif (pour le distanciel)
- Environnements de formation installés sur les postes de travail ou en ligne
- Supports de cours et exercices
En cas de formation intra sur site externe à M2i, le client s'assure et s'engage également à avoir toutes les ressources matérielles pédagogiques nécessaires (équipements informatique...) au bon déroulement de l'action de formation visée conformément aux prérequis indiqués dans le programme de formation communiqué.
* nous consulter pour la faisabilité en distanciel
** ratio variable selon le cours suivi
Niveau requis
Avoir suivi les stages LUX-ADMA "Linux - Administration avancée" et PYT "Python - Par la pratique" ou avoir les connaissances équivalentes.
Public concerné
Développeurs, administrateurs.
Programme
Jour 1
Environnement de travail
- Préparer sa station de travail Linux (prérequis)
- Configurer et utiliser l'interpréteur Python
- Installer un IDE : Spyder, PyDev ou PyCharm
Exemples de travaux pratiques (à titre indicatif)
- Installer Python 3 et des bibliothèques tierces
- Installer et configurer un IDE
- Ecrire un programme pour tester la configuration
Environnement système
- Les différentes couches de l'architecture système Linux
- Présentation des classes nécessaires
- Diverses interfaces de systèmes d'exploitation (os.environ, os.ctermid...)
- Les flux standards (sys.stdin, sys.stdout, sys.stderr)
- Interprétation des arguments de la ligne de commande
- Exécuter des commandes du Shell Bash (system)
- Manipuler les expressions régulières
- Mise au point de programmes (débogage)
Exemples de travaux pratiques (à titre indicatif)
- Ecrire un programme qui affiche l'environnement système
- Exécuter des commandes du Shell dans un programme Python
- Débogage d'un programme (exécution pas à pas, traçage...)
Jour 2
Gestion des processus
- Multiprocessing (spawn, fork...)
- Présentation de la classe process
- Echange d'objets entre les processus (queues, tubes)
- Mémoire partagée
- Synchronisation entre processus
- Présentation des classes
- Pool (workers)
- Multiprocessing
- Primitives de synchronisation
- Manipulation des processus (os.kill, os.getpid...)
Exemples de travaux pratiques (à titre indicatif)
- Gestion des processus
- Créer un programme multiprocessing
- Créer une communication entre deux processus
- Synchronisation
Gestion des threads
- Multithreading
- Présentation de la classe threading
- Instanciation et lancement de threads
- Synchronisation (lock, rlock, semaphore...)
- Communication entre threads (event objects)
Exemples de travaux pratiques (à titre indicatif)
- Créer un programme avec plusieurs threads
- Créer une communication entre deux threads
- Synchronisation
Jour 3
Gestion des signaux
- Définition
- Présentation de la classe signal
- Intercepter un signal
Exemple de travaux pratiques (à titre indicatif)
- Interception d'un signal
Gestion de fichiers
- Manipulation
- De fichiers (shutil.copyfile, os.remove, os.rename...)
- De dossiers (os.mkdir, os.rmdir...)
- Gestion des chemins d'accès (os.path)
- Permissions (os.chmod, os.chown, os.umask...)
- Création de fichiers (os.open, os.write, os.read...)
Exemples de travaux pratiques (à titre indicatif)
- Manipulation de fichiers
- Manipulation de dossiers et des chemins d'accès
- Gestion des permissions de fichiers
- Conception d'un fichier, ajout de données et lecture
Le contenu de ce programme peut faire l'objet d'adaptation selon les niveaux, prérequis et besoins des apprenants.
Modalités d’évaluation des acquis
- En cours de formation, par des études de cas ou des travaux pratiques
- Et, en fin de formation, par un questionnaire d'auto-évaluation