7.1 KiB
+++ title = "Administration Système" description = "Administration Système" sort_by = "weight" weight = 20 +++
L'administration système est un concept en réalité aux contours flous. Ici, on va considérer que l'administration système c'est tout ce qui consiste à faire en sorte que les applications soient fonctionnelles, que les données soient en sécurité, et que les ordinateurs puissent communiquer entre eux à travers le réseau qui nous est mis à disposition. Et tout ça doit être garanti alors que les usages des services peuvent changer, que des machines peuvent tomber en panne, que des attaques informatiques sont tentées sur notre système, que des fibres sont coupées par des tractopelles, que des bugs existent dans les logiciels, etc. Promis, on ne s'ennuie pas !
Dans d'autres domaines, il est courant de faire la différence entre "conception" et "production", et en réalité cette catégorisation s'applique très bien au monde de l'informatique tel qu'il est constitué aujourd'hui : le développement logiciel est la conception, et l'administration système est la production. Cette séparation entre "conception" et "production" n'est pas intrinsèque à l'informatique, elle est artificielle et souvent remise en question. Par exemple, les entreprises de la Silicon Valley ont remarqué que ce découpage était vecteur d'inefficiences. Formulé avec leurs mots, cette critique a donné des expressions comme "tu le développes, tu l'administres" ou encore les concepts de DevOps et SRE, qui sont parfois devenus plus des buzzwords pour cacher que rien d'autre n'avait changé. Il nous semble plus efficace de mobiliser des concepts Marxistes de la division du travail et de l'aliénation pour expliquer ce malaise.
Chez Deuxfleurs, si on identifie des tâches comme relevant de "la conception" ou de "la production", nos membres de sont pas spécialisés dans un domaine : une même personne développe et opère les logiciels. Adopter cette attitude a plusieurs avantages importants : ça encourage à concevoir des logiciels faciles à opérer, robuste et résilients, ça permet aussi d'identifier, de remonter et de corriger directement des bugs ou anomalies identifiées en production, enfin ça permet de mobiliser les outils de développement (exemple : les langages de programmation) pour opérer le système de manière plus sûre et plus rapide.
Évidemment, pouvoir jongler entre conception et opération, ça demande un grand nombre de qualifications. Heureusement, la plupart des ressources pour se former sont accessibles gratuitement sur Internet et sont d'excellentes qualité. De plus, un grand nombre de ces dernières sont mêmes accessibles en Français. Bref, avec un peu d'aide, il est tout à fait possible de s'auto-former.
Pour bien se former, il faut des bases théoriques dans un ensemble de domaines précis : réseau, système d’exploitation, « ingénieurie de fiabilité », et sécurité/cryptographie. Pour couvrir plus largement le domaine, il est bon d'inclure également un peu de programmation, un peu d’architecture matérielle, un peu de base de données, un peu d’algorithmie, un peu de structure de données, etc. Une fois cette base acquise, et seulement une fois qu’elle est acquise, il est possible de s'intéresser au fonctionnement précis d'une technologie en particulier, mais c’est vraiment secondaire. Ce wiki a pour objectif de référencer les bases théoriques existantes et d'apporter des bases pratiques spécifiques complémentaires.
Ressources externes
Les réseaux de zéro - Zeste de savoir. Ce livre abondamment illustré explique de manière simple et moderne les principes fondamentaux des réseaux (topologies, couches, protocoles...), avec à l'appui de nombreux schémas, exemples, exercices et cas pratiques. En particulier, il utilise le simulateur de matériel réseau Packet Tracer, outil gratuit édité par Cisco, pour proposer au lecteur des mises en situation et des exercices de configuration. Agréable à lire, cet ouvrage d'une grande pédagogie offre un panorama complet des réseaux informatiques, en accompagnant le lecteur jusqu'à la compréhension des concepts les plus complexes. Sans nécessiter de prérequis, il constituera un excellent support pour tous ceux et celles qui souhaitent acquérir un bagage solide dans ce domaine.
Acheter le livre - Lire gratuitement en ligne
Système d'exploitation 3IF - INSA Lyon. Contenu du cours :
- Chap. 1: noyau, shell, appel système
- Chap. 2: partage du temps, ordonnancement
- Chap. 3: mémoire virtuelle
- Chap. 4: allocation dynamique de mémoire
- Chap. 5: threads et synchronisation
- Chap. 6: stockage et systèmes de fichiers
Accéder au cours sur le Moodle de l'INSA Lyon
Linux - OpenClassrooms. Pour avoir une approche pratique aux systèmes d'exploitations avec Linux après le cours théorique précédent.
Lire "Initiez vous à Linux" - Lire "Administrez un système Linux"
Le langage C - Zeste de Savoir. Pour être proche du matériel et mieux appréhender comment ton système/OS a été conçu, et comment mieux concevoir et opérer tes applications.
Python - Zeste de Savoir & Site du Zéro. Langage de script haut niveau très utilisé
Cours Zeste de Savoir - Cours Site du Zéro
Ingénieurie de la fiabilité - Google. Google publie un livre de référence en libre accès sur comment opérer des systèmes de manière fiable.
Lire les livres de la collection SRE
Sécurité - ANSSI et Univ Savoie. Pour la sécurité, aller voir du côté de l'ANSSI ou des cours d'école d'ingé en libre accès :
MOOC de l'ANSSI - Guide bonnes pratiques ANSSI - Cours Cryptologie et Sécurité
Trouver les livres de référence. Dans chaque domaine, et parfois pour des technologies installées, des livres de référence existent. Ce sont souvent des ressources beaucoup plus efficaces qu'un simple tutoriel sur un blog.
Liste de livres - Exemple Linux - Exemple Kubernetes
MOOC. Il existe pas mal de MOOC en informatique, que ce soit en français comme en anglais, sur des plateformes spécialisées comme une playlist Youtube.