Pourquoi utiliser Linux en Info ? (Et pourquoi pas tout le temps en fait ?)

Disclaimer

Personne n'est forcé d'utiliser un OS en particulier plutôt qu'un autre, ce guide est surtout là pour expliquer qu'est-ce qui fait de linux un excellent OS pour votre parcours en Informatique et peut-être professionnel. Je décline toute responsabilité en cas de perte de data, bootloader cassé et cheveux blancs provoqués par une première installation d'Arch (T'en fait pas la 3ieme c'est la bonne 😉).

1. Pour le travail 💼

Énormément de services et logiciels sont à la base conçus pour/sur Linux. Il n'y a qu'à voir la popularité des serveurs linux par rapport à celle des serveurs Windows. D'après les données de Datanyze, il faut descendre à la 7ième place avant de trouver un serveur de chez Microsoft [1] [2]. Donc savoir untilier linux est un gros avantage a ce niveau. De plus, un grans nombre d'outils et une très grande communauté sont à ta disposition pour répondre à tes questions et te faciliter la vie lorsque tu va programmer.

Un OS qui TE correspond 🫵

Il existe un grand (très grand) nombre de "distributions" linux. Chacune de ces distributions peut être vue comme un OS à part entière, mais toutes partent du même noyaux (le kernel linux). Pour donner une idée de la quantité de distributions existantes, voici une petite image tirée de wikipédia :

clique ici pour voir l'image Une timeline des distros linux

Cette quantité de distributions peut faire peur au début mais ne t'en fait pas ! Commence sur les basiques et avance petit à petit vers des distros qui te correspondent plus. Les distributions recommandées pour commencer linux sont (liste non exhaustive) :

Comprendre 🤔

Si tu veux vraiment comprendre comment fonctionne un ordinateur, que ce soit au niveau de l'OS ou des services (Les pilotes/taches automatiques/...), linux est un choix d'exception. Entre sa grande modularité et la possibilité de tout (ou presque) modifier, tu pourra jouer avec des Desktop Environment (1) ou même des Window Manager (2) en standalone (3)

Les outils 🔧

Un grand nombre d'outils sont créés pour linux à la base et/ou sont cross-platform (4). Tous ces outils peuvent être utilisés pour te faciliter la vie, ou pour répondre à des besoins spécifiques. Par exemple, dans le monde de la cybersécurité, une immense partie des tools disponibles ne le sont que sur linux. Par ailleurs, les meilleurs outils de compilation/debug/optimisation gratuits sont la plupart du temps disponible et optimisés pour une utilisation sur linux plutôt que sur windows/mac.

L'utilisation du terminal (Oui oui le truc qui fait peur avec que du texte pas mis en forme) te sera d'ailleurs très utile tout au long du cursus, et ce pour plein de choses, de la compilation de projets c++ à l'utilisation du langage BASH dans le cours de réseaux, savoir utiliser un terminal te permettra d'avancer bien plus vite dans beaucoup de projets.

Des logiciels centralisés 🧑‍💻

Sur linux, la plupart des distributions possèdent un gestionnaire de paquets. Ce gestionnaire de paquets est un logiciel (la plupart du temps en cli (5)) qui permet l’installation et la gestion de tous les logiciels de ton PC. Cet outil te permet la plupart du temps de mettre tous tes logiciels à jour en une seule ligne de commande ! Attention cependant, comme partout il existe des exceptions, certains logiciels ne seront pas disponibles via cet outils, cela dépend de si le(s) auteur(s) a/ont décidé(s) de rendre son/leur logiciel disponible sur ces plateformes.

La sécurité 🔐

Il va sans dire que le point faible de toute sécurité dans l'informatique se trouve entre le clavier et la chaise. Cependant, linux est connu pour être la cible d'un nombre bien moins important d'attaques. Le système de permissions sur l'OS est bien plus restrictif au niveau des applications que celui de windows, et permet ainsi à beaucoup moins de systèmes d'être compromis.

Les exceptions ❌

Certains outils et langages font exceptions à ce qui a été dit au dessus. Il existe de nombreux logiciels, principalement des jeux vidéos, qui ne sont tout bonnement pas disponible sur linux. Cependant, beaucoup d'outils proposent des couches de compatibilité, tel que wine, afin de pouvoir utiliser des logiciels normalement uniquement disponibles sur windows sur un PC linux.

sources: 🚰

2. Pour les performances ⏱️

Linux est également connu pour être bien moins gourmand que Windows au niveau ressources et énergie. Si ton PC est un peu vieux et qu'il est sur le point de décoller lorsque tu lance ton bloc note, linux est une bonne manière de te garantir encore quelques années de vie.

3. Pour le style 😎

Étant complètement libre et open-source (6), linux a connu et connait encore de nombreux Desktop Environment et Windows Managers, qui permettent aux utilisateurs de styliser leurs environnements comme bon leur semble. Il n'y a qu'à faire un tour sur le subreddit r/unixporn pour voir tout ce que les gens sont capables de faire. (https://www.reddit.com/r/unixporn/ (SFW :p)). Bien que cela puisse paraître déroutant, passer une journée à apprendre comment faire ceci ou cela va également te permettre de bien mieux comprendre comment ta machine/ta distribution fonctionne et va te permettre de pouvoir régler tous tes soucis bien plus rapidement dans le futur (Ces savoirs sont la plupart du temps applicables à plus d'une distribution !)

4. Et pour les jeux ? 🎮

Bien que linux ne soit pas connus pour la possibilité de jouer à des jeux vidéos, il existe de nombreux systèmes permettant de jouer à des jeux vidéo (même pas fait pour linux à la base) de façon (quasi) normale. Rien qu'en prenant Steam, la plus grande platforme de jeux vidéos dématérialisés, on peut voir que le gaming sur linux est une de leur grandes ambitions (L'OS du Steam Seck par exemple, est basé sur Arch Linux). Steam propose également Proton, une layer de compatibilité destinée à faire fonctionner les jeux sur linux, juste en cochant une case dans les paramètres Steam. Pour voir quels jeux fonctionnent et à quel point sur linux, le site web ProtonDB (Un projet indépendant, non reconnu par Valve) https://www.protondb.com/.

5. Pour le free-software ! 🆓

Comment parler de linux sans énoncer le free software ? Un logiciel libre permet à ses utilisateurs de l'utiliser, le modifier, le distribuer et l'étudier comme il le souhaite. Par exemple, le compilateur gcc, un compilateur c/c++ open-source et libre, permet à ses utilisateur de le modifier, par exemple pour ajouter une passe de compilation, de le redistribuer (Avec par exemple cette nouvelle passe de compilation) ou de l'étudier en profondeur (pour comprendre ce qu'est une passe de compilation par exemple).

Le logiciel libre est un mouvement social visant à garantir aux utilisateurs la possibilité de savoir comment ce qu'ils utilisent fonctionne. Sa philosophie est que l'utilisation des ordinateurs ne devrait pas empêcher ses utilisateurs de collaborer, et de proposer à tout le monde le même accès à la connaissance. Son but est également de pousser à l'avancement de la technologie par la collaboration du plus grand nombre.

Glossaire 💭

(1) Desktop Environment: Un environment de bureau; il s'agit d'une suite de logiciel destinée à faire un environment de Bureau le plus agréable possiblie. Cela comprend usuellement une système de gestion de fenêtre, une barre de tâches, des application utilitaires de base (Calculatrice, navigateur, bloc note, une application pour les paramètres systèmes, ...). Exemple: Cinnamon, Gnome, ...
(2) Windows Manager: Un windows manager va gérer les fenêtre des applications sur ton PC. Souvent inclus dans un Desktop Environment, il peut aussi être utilisé seul (exemple: i3, bspwn, ...)
(3) Standalone: Une application standalone est une application qui n'a aucune dépendence extérieure.
(4) Cross-platform: Un logiciel cross-platform est un logiciel qui possède plusieurs versions, une par platforme sur lequel le logiciel est utilisable. Par exemple, firefox est utilisable sur windows comme sur linux.
(5) CLI: Command Line Interface: Se dit d'une interface de logiciel accessible uniquement en ligne de commande (depuis le terminal). Il existe cependant la plupart du temps une ou plusieurs alternative(s) graphique(s).
(6) Open-source: Un logiciel open-source est un logiciel dont le code source est visible par tous.