{"id":28254877,"url":"https://github.com/stephrobert/linux-training","last_synced_at":"2025-06-16T04:31:09.422Z","repository":{"id":289641659,"uuid":"971923846","full_name":"stephrobert/linux-training","owner":"stephrobert","description":"Formation Linux Gratuite","archived":false,"fork":false,"pushed_at":"2025-06-04T09:34:58.000Z","size":76,"stargazers_count":27,"open_issues_count":1,"forks_count":8,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-06-04T16:46:47.378Z","etag":null,"topics":["linux"],"latest_commit_sha":null,"homepage":"https://blog.stephane-robert.info/docs/admin-serveurs/linux/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/stephrobert.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"contributing.md","funding":".github/FUNDING.yml","license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"ko_fi":"stephanerobert89902"}},"created_at":"2025-04-24T09:07:00.000Z","updated_at":"2025-06-04T11:54:37.000Z","dependencies_parsed_at":"2025-06-04T10:32:51.561Z","dependency_job_id":null,"html_url":"https://github.com/stephrobert/linux-training","commit_stats":null,"previous_names":["stephrobert/linux-training"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/stephrobert/linux-training","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stephrobert%2Flinux-training","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stephrobert%2Flinux-training/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stephrobert%2Flinux-training/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stephrobert%2Flinux-training/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stephrobert","download_url":"https://codeload.github.com/stephrobert/linux-training/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stephrobert%2Flinux-training/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260096618,"owners_count":22958083,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["linux"],"created_at":"2025-05-19T20:16:09.216Z","updated_at":"2025-06-16T04:31:09.400Z","avatar_url":"https://github.com/stephrobert.png","language":"Python","funding_links":["https://ko-fi.com/stephanerobert89902"],"categories":["Python"],"sub_categories":[],"readme":"# TP Linux pour Administrateurs Systèmes\n\nBienvenue dans ce projet de **Travaux Pratiques Linux** !\n\nCes TP vous guideront dans l'apprentissage pratique de l'**administration\nsystème Linux**. Chaque TP est organisé dans un **sous-dossier** avec son propre\nénoncé. Au début, les explications seront détaillées, mais très vite, vous serez\nplus autonome dans l'exécution des tâches demandées.\n\n## Pré-requis\n\n### Environnement\n\n- Une machine (ou wsl2 pour ceux qui sont sous windows) avec une distribution\n  **Debian** ou une de ses dérivées fraîchement installée (par exemple Debian\n  12).\n- **Accès administrateur (root)** ou un utilisateur pouvant utiliser `sudo`.\n- **Virtualisation activée** dans le BIOS/UEFI (Intel VT-x ou AMD-V), car\n  certains TP utiliseront la **virtualisation** pour manipuler d'autres\n  distributions Linux.\n\n**Conseil :** vérifiez si la virtualisation est activée :\n\n```bash\negrep -c '(vmx|svm)' /proc/cpuinfo\n```\n\nUn résultat supérieur à 0 indique que la virtualisation est active.\n\n### Logiciels\n\n- Installer **Python 3** et **pip** :\n\n```bash\nsudo apt update\nsudo apt install python3 python3-pip\n```\n\n- Installer **pytest** et **testinfra** pour valider vos exercices :\n\n```bash\npip install pipx --user\npipx install pytest\npipx inject pytest pytest-testinfra\n```\n\n- Cloner ce dépôt :\n\n```bash\ngit clone \u003cURL_DU_DEPOT\u003e\ncd \u003cnom_du_dossier\u003e\n```\n\n**Vérifications rapides :**\n\n```bash\npython3 --version\npytest --version\n```\n\nA partir du TP 7, il sera nécessaire d'installer **Incus** (anciennement LXD).\nEn effet, Incus est un gestionnaire de conteneurs et de machines virtuelles qui\nvous permet de créer et gérer des environnements virtuels. Il est\nparticulièrement utile pour les TP qui risquent d'endommager votre instance de Linux.\n\nPour l'installer, exécutez les commandes suivantes :\n\n```bash\nsudo apt install incus\n```\n\nInitialiser Incus :\n\n```bash\nsudo incus init --minimal\n```\n\n## Documentation obligatoire\n\nAvant de commencer un TP, vous devez **lire la documentation** liée au sujet sur\n[mon site de documentation Linux](https://blog.stephane-robert.info/docs/).\n\nChaque énoncé précisera quelle section lire.\n**Aucune aide ne sera donnée sur des notions qui y sont expliquées.**\n\n**Exemples de lectures recommandées :**\n\n- [Introduction aux Serveurs\n  Linux](https://blog.stephane-robert.info/docs/admin-serveurs/linux/)\n- [Apprendre les commandes Linux de\n  base](https://blog.stephane-robert.info/docs/admin-serveurs/linux/commandes/)\n\n## Structure du projet\n\nChaque TP est placé dans un **sous-dossier** indépendant :\n\n```bash\n/Linux-training/\n│\n├── tp01-navigation-fichiers/\n│   └── README.md\n│   └── challenge/\n│       ├── README.md\n│       └── tests/\n│           └── test_tp.py\n├── tp-02-commandes-avancees/\n│   └── README.md\n│   └── challenge/\n│       ├── README.md\n│       └── tests/\n│           └── test_tp.py\n├── ...\n```\n\nChaque sous-dossier contient :\n\n- Un fichier `README.md` avec les consignes.\n- Un dossier `challenge/` avec :\n  - Un fichier `README.md` avec les consignes.\n  - Un dossier tests contenant un fichier `test_tp.py` pour valider automatiquement votre travail.\n\n## Comment travailler sur un TP\n\n1. Lire la documentation liée au sujet sur [le\n   site](https://blog.stephane-robert.info/docs/).\n2. Lire attentivement le `README.md` contenu dans le dossier du TP.\n3. Effectuer les tâches demandées dans votre terminal.\n4. Relever le challenge dans le dossier `challenge/` :\n5. Vérifier votre travail avec **pytest** :\n\n```bash\npytest -v\n```\n\nLes tests vous indiqueront si votre solution est correcte.\n\n## Important\n\n- **Aucune réponse n’est donnée** dans les énoncés après les premiers TP.\n- **Cherchez par vous-même** avec l'aide des commandes Linux (`--help`, `man`,\n  etc.).\n- **Validez vos résultats** uniquement via les tests automatisés.\n- **Si vous bloquez**, n'hésitez pas à demander de l'aide sur\n  [le discord](https://blog.stephane-robert.info/docs/discord/).\n\n## Mise à jour du dépôt\n\nJe vais continuer à mettre à jour ce dépôt avec de nouveaux exercices et des\naméliorations. Pour récupérer les dernières modifications, vous pouvez\nsimplement exécuter :\n\n```bash\ngit pull origin main\n```\n\n## Contribuer\n\nBien entendu, vous êtes invités à contribuer à ce dépôt en proposant des\naméliorations ou en corrigeant des erreurs. N'hésitez pas à ouvrir une **issue**\nou à soumettre une **pull request**.\n\nPlus d'infos [ici](https://github.com/stephrobert/containers-training/blob/main/contributing.md)\n\n## Me soutenir\n\nSi vous appréciez ce travail et souhaitez me soutenir, vous pouvez me payer un\ncafé ☕️:\n\n[![ko-fi](https://www.ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/stephanerobert89902)\n\n## Copyright et licence\n\nTous les contenus contenus dans ce repo sont :\n\n- Copyright ©2025 Stéphane Robert\n- Distribués sous [licence Creative Commons BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/)\n\n![Creative Commons BY-SA](https://mirrors.creativecommons.org/presskit/buttons/88x31/png/by-sa.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstephrobert%2Flinux-training","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstephrobert%2Flinux-training","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstephrobert%2Flinux-training/lists"}