Volumes Horaires :
CM : 10H; TD/TP : 14H ; Proj : 2H
Ce cours vise à former les apprenants à l’utilisation de Linux. A la fin de ce cours, les apprenants pourront effectuer les opérations de traitement de donner en ligne de commande ( La manipulation des fichiers, l’écriture des programmes Shell, l’utilisation des outils de traitement de données).
Plus précisément, ces opérations incluent ces opérations incluent :
La mise en œuvre des fonctionnalités courantes des utilisateurs
La manipulation des fichiers (création, suppression, Edition, listage, recherche) et de l'arborescence
L'utilisation des filtres pour le traitement des données
Utilisateur des éditeurs de texte (interactifs et en ligne)
L'utilisation des fonctions avancées des Shells
Utiliser les expressions régulières
L'utilisation de quelques outils avancés pour le traitement de données scientifiques sera présentée. Gnuplot, Panda, ...
Ecrire des programmes Shell
Le système d’exploitation Linux est l'une des plateformes les plus importantes de l'écosystème de l'informatique moderne avec Microsoft Windows et Mac OS.
Ce système offre toutes les fonctionnalités et outils opensources nécessaires pour réaliser les tâches de base et avancées qui peuvent être réalisées sur un ordinateur, un smartphone, des systèmes embarqués, bref sur quasiment tous les systèmes électroniques grand public ou spécialisés (routeurs, TPE, plateforme SMS, ...). Quelques exemples d'utilisations :
Bureautique et Internet et Multimédia : C'est l'une des utilisations les plus répondue dans le grand public. Il existe une version Linux des navigateurs populaires (Chrome, Firefox, ...), des lecteurs audio vidéo tels (VLC, ...), ...
Programmation, traitement de données, automatisation et Cybersécurité : Linux est l’environnement préféré les développeurs et programmeurs ainsi que les spécialistes de cybersécurité. Il existe des distributions pour des tâches spécifiques comme Kali pour la cybersécurité, Linux Scientific,...
Serveurs de cloud et de calculs : Linux est un système incontournable pour le fonctionnement du cloud d'aujourd'hui (AWS d'Amazon, Azure de Microsoft et Google Cloud). C'est tellement important que Microsoft a crée sa distribution Linux en 2020 (CBL-Mariner) et permet de faire tourner de Linux sous Windows (Windows Subsystem pour Linux version 2 (WSL2))
Developpement Web et webscraping : Une bonne partie des serveurs Webs tournent sous Linux et Linux offre d'enormes possibilités de collecter des données dépuis des plateformes. Des entrepsies existent sur la base du WebScraping
Systèmes embarqués et Intelligence artificielle : Les plateformes embarqués les plus utilisées utilisent ou peuvent être programmés en utilisant Linux. Il y a Arduino, Raspberry, Jetson Nano, ... Le système de programmation avec de l'IA de Google qui est Google collab utilise des commandes compatibles Linux.
L’objectif de ce cours est de vous présenter les bases du système d'exploitation vous permettant de pouvoir en faire une utilisation suivant vos besoins. Il couvre tous les aspect à fondamentaux ainsi que quelques outils pour le traitement de données et la programmation Shell. Ce cours est accessible à tous ceux qui sont désireux d'en apprendre plus sur la ligne de commande Linux, la partie qui est spécifique aux scientifiques est liée à la programmation et le traitement de données. Toutefois il est bien possible qu’un non-scientifique puisse prendre en main ces outils.
Playlist YouTube des vidéos
https://youtube.com/playlist?list=PLyu2y12z4wMFK9MfvCBUZCObLrXEbgSjJ
Supports de cours et labs (Zip 17MB)
https://drive.google.com/file/d/1rWtszLeoHTnwrZo-7OIGgq-97HtxCXtg/view?usp=sharing
Module 1 : Généralités sur les systèmes UNIX/LINUX
Présentation du module
Section 1 : Structure d’un système informatique moderne et Systèmes d'exploitation
Section 2 : Systèmes UNIX, Linux, Projet GNU
Section 3 : Distributions Linux et Usages de Linux
Module 2 : Shell, Commandes et aide en ligne
Présentation du module
Section 1 : Le Shell
Section 2 Commandes Unix
Section 3 : Documentation en ligne des commandes
Module 3 : Manipulation du système de fichier
Présentation du module
Section 1 : Fichier, arborescence et chemin
Section 2: Navigation dans le système de fichier
Section 3 : Gestion des fichiers et repertoires
Section 4 : Recherche de fichiers
Section 5 : Liens : symboliques et physiques
Section 6 : Gestion des droits sur les fichiers
Module 4 : Edition et traitement de données textuelles
Présentation du module
Section 1: Caractères spéciaux de Bash et WildCards
Section 2: Affichage en ligne
Section 3: Filtres : Tri, sélection, remplacement
Section 4: Filtres : Recherche, comptage et formattage
Section 5: Archivage et compression de données
Module 5: Utilisation de quelques outils de traitement de données
Présentation du module
Section 1: Catégories d'outils de traitement de données sous Linux
Section 2: Editeur de stream : sed
Section 3: Editeur de stream : awk
Section 4: Introduction à gnuplot
Section 5: Introduction à l'utilisation de pandas
Module 6: Initiation à la Programmation SHELL BASH
Présentation du module
Section 1: Création et execution d'un script SHELL
Section 2: Variables, entrées/sorties et expressions
Section 3: Chaines de caractères et listes
Section 4: Instructions if et les opérateurs de test
Section 5 : Boucles : for, while, until, select
Section 6: Fonctions
Conclusion et Evaluation finale