« J'estime que la Règle d'or est que, si j'aime un programme, je dois le partager avec d'autres qui aiment ce programme. Les éditeurs de logiciels cherchent à diviser et à conquérir les utilisateurs, en interdisant à chacun de partager avec les autres. Je refuse de rompre la solidarité avec les autres utilisateurs de cette manière. » – Richard Matthew Stallman, Le Manifeste GNU
Initiez-vous à GNU/Linux avec Ubuntu
Sur le bureau, un CD Ubuntu. Un ami me l'a prêté. Il m'a parlé de liberté, de noyau, de manchot, de gnou… Mais que va m'apporter Ubuntu dans l'utilisation quotidienne de mon ordinateur ? Comment faire pour ne pas être déboussolé, moi qui ai toujours utilisé Windows (ou MacOS) ?
Généralités sur le Logiciel Libre
Au commencement de l'ère informatique, dans les années 60, un ordinateur était toujours livré avec le schéma de fonctionnement, tant matériel que logiciel. À cause des coûts élevés de l'ordinateur et des logiciels de base inclus avec ceux-ci, ces énormes machines étaient améliorées par leurs utilisateurs (des grandes entreprises). À l'époque, personne n'aurait eu l'idée d'être dépendant d'une autre entreprise pour la maintenance, autant matérielle que logicielle, des ordinateurs.
Depuis, l'informatique a bien évolué et est utilisée par tout le monde. Les machines sont devenues plus petites et le matériel est désormais construit à la chaîne ; l'ordinateur a trouvé sa place à la maison.
Contrairement aux grandes entreprises, les utilisateurs à la maison ne peuvent se permettre d'engager un programmeur pour améliorer leurs logiciels. Avec l'arrivée de l'ordinateur personnel, les entreprises spécialisées dans le développement de programmes informatiques ont connu un immense succès : elles vendent des produits aux utilisateurs à la maison, de même que le support technique de leurs produits.
Ceci a incité toute l'industrie du logiciel à garder ses secrets de fabrication, en produisant du code dit propriétaire. Dans un logiciel privateur (un logiciel qui utilise du code propriétaire), seul le vendeur du logiciel a le droit de savoir « ce qui se cache sous le capot » : il est interdit de l'utiliser pour une autre fonction que celle à laquelle il est destiné, de voir comment il est écrit, et par conséquent, ce qu'il fait réellement, et encore moins d'en modifier son comportement. Vous n'avez pas non plus le droit de le diffuser.
C'est aussi gênant pour la sécurité : aucun expert indépendant n'a le droit de vérifier si un logiciel privateur est sécurisé !
À l'inverse du logiciel privateur, un courant, s'inspirant de ce qui existait dans les années 60 et assez proche des notions de partage présentes dans la recherche et les universités, prône une utilisation moins contraignante des logiciels. Un logiciel est considéré comme libre quand il garantit à ses utilisateurs quatre libertés fondamentales :
- la liberté d'exécuter le programme, pour tous les usages (liberté 0) ;
- la liberté d'étudier le fonctionnement du programme, et de l'adapter à ses besoins (liberté 1) ;
- la liberté de redistribuer des copies, donc d'aider son voisin (liberté 2) ;
- la liberté d'améliorer le programme et de publier ses améliorations, pour en faire profiter toute la communauté (liberté 3).
Le respect des libertés 1 et 3 nécessite, de la part de l'auteur, la mise à la disposition de quiconque du code du programme, et ceci sans aucune restriction. Ces grands principes sont défendus par la Free Software Foundation notamment via le projet GNU (voir ici).
GNU/Linux, Ubuntu, c'est quoi ?
Nous savons maintenant ce qu'est un logiciel libre. Mais qu'est GNU/Linux ?
GNU/Linux est un système d'exploitation libre. Un système d'exploitation est un ensemble de logiciels qui permettent à votre ordinateur de fonctionner.
Ces logiciels concernent l'interface, le cœur de l'ordinateur, les périphériques, la gestion des ressources internes de la machine, les dialogues entre la machine et les utilisateurs,… On peut d'une certaine manière comparer un système d'exploitation à un orchestre : tous ces logiciels seraient les musiciens, chacun spécialisé sur un instrument spécifique, responsable de l'exécution de sa propre partition, et pour coordonner tout ce beau monde, un chef d'orchestre, le noyau, dans notre cas, le noyau Linux.
Il faut à ce niveau faire la remarque suivante : l'ordinateur ne dialogue avec ses périphériques qu'au travers de petits logiciels très techniques, appelés les pilotes. Les fabricants des périphériques sont responsables de la fourniture des pilotes dont, très souvent, sous prétexte de "secret professionnel", ils ne publient pas le code.
Au sens le plus strict du terme "système d'exploitation libre", l'incorporation de tels pilotes dans un système GNU/Linux lui retirerait son qualificatif de "libre". Les développeurs GNU/Linux écrivent de leur côté des pilotes libres pour parer à cette difficulté, mais du temps s'écoule entre la mise sur le marché de nouveaux matériels et la disponibilité des pilotes libres aptes à les faire fonctionner dans un système GNU/Linux.
Sous l'impulsion de Richard Matthew Stallman (ou RMS), le Projet GNU naquit en 1983, se donnant pour but de créer un système d'exploitation libre et complet. Au fil des années 1980, de nombreux morceaux du système sont écrits, mais un composant essentiel tarde à être finalisé : le noyau. Justement, un noyau nommé "Linux" voit le jour le 5 octobre 1991, date à laquelle Linus Torvalds, son programmeur, annonce sa disponibilité. Linus Torvalds choisit de lui-même de publier son noyau sous une licence libre, ce qui permit de créer une variante fonctionnelle du système d'exploitation GNU : GNU/Linux.
Ubuntu est une distribution GNU/Linux. Ce point sera développé plus loin.
GNU ? Qu'est-ce qu'un système libre ? Pourquoi ?
À ce point de la lecture, vous vous demandez en quoi c'est utile ou intéressant à savoir. Pour y répondre, nous allons voir comment fonctionnent les logiciels présents sur votre ordinateur.
Un ordinateur ne comprend que des nombres. Ces nombres ont diverses significations :
- des opérations à effectuer, par exemple (exemple fictif), 1 pour signifier "faire une addition", 2 pour "faire une soustraction", …
- l'endroit où se trouvent les nombres sur lesquels il faut faire les opérations, par exemple 1000 pour désigner la position 1000 de la mémoire de l'ordinateur, 1001, pour la position suivante,… On appelle ces positions "adresses mémoires", ou simplement "adresses".
Pour donner à l'ordinateur l'ordre d'ajouter le nombre à l'adresse 1000 et le nombre à l'adresse 1001, et stocker le résultat à l'adresse 1002, on lui dira ainsi 1,1000,1001,1002. Les deux "phrases" 'additionner le nombre à l'adresse 1000 au nombre à l'adresse 1001 et stocker le résultat à l'adresse 1002' et '1,1000,1001,1002' signifient la même chose, mais dans deux langages extrêmement différents.
Pour dialoguer avec les ordinateurs, les êtres humains que nous sommes ont inventé des langages intermédiaires, dits langages de programmation, dans lesquels les nombres que comprennent les ordinateurs sont remplacés par des symboles que nous comprenons plus facilement. Bien sûr un tel langage reste souvent une histoire de spécialistes, les programmeurs, et il faut un outil, le compilateur, pour transformer cette "phrase" intermédiaire en phrase compréhensible par l'ordinateur.
De même qu'un écrivain aligne des phrases les unes derrière les autres pour constituer un livre, un programmeur aligne des phrases du langage de programmation les unes derrière les autres pour constituer un programme, un logiciel. Pour comprendre l'enjeu du Logiciel Libre, on peut comparer ce programme à une recette de gâteau. Bien évidemment, la recette n'est pas le gâteau. Pour obtenir le gâteau, il faut qu'un pâtissier le fabrique. Vous l'utilisateur, pourrez alors le manger.
Dans le cas des logiciels privateurs, vous aurez uniquement le gâteau, après l'avoir payé, sans savoir ce qu'il y a vraiment dedans, ni comment le cuisiner vous-même ou l'adapter à votre goût, ou en fonction des caractéristiques de votre four. Tout ceci est secret.
Mais, dans l'univers du logiciel libre, on vous donne le gâteau, (on peut éventuellement vous le vendre), mais on vous donne la recette en plus du gâteau. Donc, si vous vous y connaissez en pâtisserie, et que vous voyez un grumeau, vous pouvez corriger la recette, le programme, et le faire fonctionner convenablement, ou ajouter un arrangement beaucoup plus savoureux… Vous allez me dire "c'est compliqué, je ne suis pas pâtissier, moi !". Ce n'est pas grave, puisque plein de gâteaux tout préparés sont là pour vous : les distributions. L'une d'elles a fabriqué les gâteaux, chassé les grumeaux et livré tout cela pour vous sur le média d'installation d'Ubuntu que vous avez (j'espère) entre les mains !
La cuisine et l'informatique sont des mondes différents. Si vous achetez une cuisine toute équipée, on vous fournit également le mode d'emploi de tous les appareils. En informatique, on vous livre votre PC également tout équipé, mais sans aucun mode d'emploi des composants, les pilotes de périphériques pour votre carte graphique, votre carte réseau,… Tous ces pilotes sont couverts par le secret des logiciels privateurs. Pour obtenir des pilotes libres, les programmeurs doivent "deviner" comment ces périphériques fonctionnent et réécrire les pilotes correspondants.
Donc en utilisant un système libre, vous pouvez vous voir confrontés à la difficulté de trouver les pilotes qui correspondent à votre matériel. Mais, ne soyez pas trop inquiets, la communauté que nous formons est là pour vous aider à vous sortir de cette difficulté. Et surtout ne blâmez pas les systèmes libres. La faute en est aux fabricants qui ne se donnent pas suffisamment la peine de fournir des pilotes libres ou au minimum, publier le mode d'emploi de leurs équipements.
À quoi servent les distributions comme Ubuntu ?
Les logiciels libres, pour continuer la comparaison avec les gâteaux du paragraphe précédent, sont une foule de recettes, sans cesse améliorées par des pâtissiers. Mais pour celui qui veut juste manger le gâteau sans le fabriquer, il existe des distributions GNU/Linux.
Le rôle d'une distribution, c'est de vous offrir (en général via un fichier inscriptible sur une clé USB ou gravable sur un CD) un système GNU/Linux complet et fonctionnel.
Des centaines de logiciels libres sont testés, assemblés et compilés pour vous. Un installateur est intégré au CD, pour vous aider dans l'installation de GNU/Linux.
Les logiciels fournis ne sont plus sous leur forme de "recette", mais de "gâteaux". En général, cela se présente sous forme de "paquets", qui contiennent le logiciel (par exemple Firefox) prêt à l'emploi.
Ubuntu utilise le système de paquet Debian, avec l'extension .deb
. Un .deb contient le logiciel, des scripts d'installation, et une liste de dépendances. Car certains logiciels ont besoin d'autres logiciels pour fonctionner, cela est géré automatiquement par le système de paquets d'Ubuntu : apt-get, et son interface graphique, Synaptic. Aujourd'hui, pour simplifier encore plus l'installation des paquets, Ubuntu est livré avec une Logithèque (un "app store") qui se charge toute seule de gérer les paquets à installer.
Pour en savoir plus, allez au chapitre L'installation des programmes.
La technique de base d'Ubuntu
Qui est GNU et qui est Linux ? Et les pilotes ?
À l'installation d'Ubuntu, un programme est placé au début de votre disque : Grub. C'est lui qui va vous permettre de choisir le système que vous souhaitez utiliser (pour garder Windows par exemple). Si vous sélectionnez Ubuntu, Grub va alors charger le noyau, c'est à dire le cœur de votre système. Le noyau contrôle les périphériques, la mémoire, le réseau, le bon déroulement des programmes…
Par dessus viennent les outils GNU, qui permettent vraiment d'utiliser la machine : manipuler des fichiers, faire des calculs…
Le noyau Linux contrôlant le matériel, c'est lui qui intègre les pilotes. Comme le noyau est libre, il peut se compiler avec les pilotes que l'on souhaite.
Mais pas de panique, Ubuntu a compilé pour vous le noyau de votre distribution avec un maximum de pilotes (que l'on appelle modules), il est donc très rare d'avoir à chercher et compiler un module soi même.
Par contre, les constructeurs ne se précipitent pas pour programmer des pilotes pour Linux, ni même pour fournir des indications permettant de les développer. Il arrive donc que certains matériels ne soient pas bien gérés par Linux, voire pas gérés du tout (souvent des périphériques USB peu communs, certaines cartes son bas de gamme, ou certaines cartes wifi anciennes).
Mais rassurez vous, il y a tout de même énormément de matériel compatible, et l'on a parfois la bonne surprise de voir un périphérique sans pilote existant pour XP (ou Vista) marcher à merveille sur Ubuntu !
Bien entendu, à l'installation d'Ubuntu, votre matériel va être détecté automatiquement, il ne vous sera posé que des questions simples, et en Français.
Sur la page matériel vous trouverez comment résoudre les problèmes si l'un des composants de votre ordinateur n'est pas reconnu, ou comment optimiser l'utilisation de certains périphériques.
Comment est organisé mon disque dur avec Ubuntu ?
Un disque dur est partagé en partitions, zones de mémoire accueillant des systèmes de fichiers.
GNU/Linux utilisant son propre système de fichier, il ne peut pas être installé sur la même partition que Windows. Il faut donc repartitionner votre disque si vous avez déjà un système d'exploitation (généralement Windows) et que vous souhaitez le garder. Si votre disque est vierge, ou que vous avez un disque dur dédié pour Linux, cela ne vous concerne pas, Ubuntu se débrouillera tout seul pour créer les partitions.
Avec Windows, vous êtes habitués à voir des partitions telles que C:\ D:\ etc… sous Ubuntu, il n'y en a pas. GNU/Linux n'utilise pas de lettres pour les partitions, il n'y a qu'une arborescence qui commence par la racine, notée / Les autres partitions sont "montées" dans des répertoires ("dossiers"). Le CD ROM se retrouve par exemple dans /media/cdrom . Ce système est déroutant au début, mais extrêmement pratique. Ne vous est-il jamais arrivé sous Windows d'acheter un disque dur, qui perturbe l'ordre des lettres de vos lecteurs ? Sous GNU/Linux, vous n'avez pas ce problème, il suffit de monter votre disque dans le répertoire que vous préférez.
Vous trouverez les principaux répertoires d'un système Ubuntu sur la page arborescence.
Enfin, à l'installation, les partitions choisies pour Ubuntu sont formatées. Linux reconnaît le FAT32 et le NTFS (en lecture et écriture ), mais utilise son propre format : ext3 et ext4 entre autres. Et ces formats sont très performants, car ils fragmentent très peu les fichiers.
Pour en savoir plus sur les systèmes de fichiers sous GNU/Linux, consultez le document suivant : Hiérarchie des répertoires sous Linux.
Afficher (enfin) quelque chose
Nous allons maintenant entrer dans la partie la plus intéressante d'Ubuntu, qui vous a peut-être fait choisir ce système après avoir vu des captures d'écran : l'interface graphique !
Xorg ? Wayland ? On s'en fiche non ?
Sous GNU/Linux, la partie graphique est (traditionnellement) sous la forme d'un serveur, qui se nomme simplement X, et dont les clients sont les fenêtres. Cela remonte aux antiques ordinateurs UNIX, qui étaient constitués d'une grosse machine distribuant les programmes à des terminaux (le serveur X de GNU/Linux est fourni par le logiciel Xorg, qui est récent, mais son protocole de fonctionnement est d'une telle fiabilité qu'il n'a guère changé depuis… 1987 !!!).
Ce fonctionnement clients/serveur a des avantages (comme pouvoir lancer des programmes sous le nom d'un autre utilisateur, voire depuis une autre machine), mais introduit une certaine lourdeur, souvent peu visible sur une machine moderne.
Le serveur graphique Xorg va s'occuper de choisir la bonne résolution pour votre écran, contrôler la souris et l'affichage des programmes. Mais ce n'est pas lui qui s'occupe des bordures de fenêtre, des menus, des lanceurs, cela est le rôle du gestionnaire de fenêtres.
Pour des raisons de performance et de sécurité, Xorg est petit à petit en train de céder sa place à Wayland, un protocole moderne simplifiant énormément les effets de composition visuelle (transparences, ombres, déformations, etc.) proposés par les gestionnaires de fenêtres.
Un GNOME maintenant ?
Pour votre plus grand plaisir, il existe des dizaines de gestionnaires de fenêtres, et beaucoup proposent en fait un environnement de bureau complet :
À vous de choisir l'environnement (ergonomie, menus, barre des tâches, bureau, paramétrage et personnalisation, interactions entre les applications,…) qui vous convient !
Ubuntu propose les environnements KDE, Xfce, Budgie, LXDE, Mate, Unity et GNOME, ce dernier étant l'interface par défaut d'Ubuntu.
Un gestionnaire de fenêtres (Mutter, icewm, fluxbox, …) est un programme qui contrôle l'apparence des fenêtres et apporte les moyens par lesquels l'utilisateur peut interagir avec elles. Un environnement de bureau (Gnome, KDE) apporte une interface plus complète au système d'exploitation et apporte un ensemble d'utilitaires et d'applications intégrés. Et tout cela, c'est bien sûr Xorg ou Wayland qui se charge de l'afficher.
Au démarrage de votre interface graphique, xorg démarre (et le curseur en forme de roue qui tourne), puis LightDM (ou GDM) qui vous permet de choisir l'utilisateur et l'interface à utiliser, et enfin l'environnement de bureau au premier lancement de votre système Ubuntu.
GTK+, Qt, qu'est-ce que c'est ?
Pour programmer, les codeurs utilisent des bibliothèques, qui sont en quelque sorte des bouts de programmes tout prêts, ce qui évite par exemple de programmer un sélecteur de fichier à chaque fois. Les bibliothèques les plus importantes sont GTK+ et Qt, utilisées respectivement par Gnome et KDE. Les bibliothèques ont un peu la fonction des DLL de Windows.
Lorsque vous installez un programme, il va avoir besoin de certaines bibliothèques pour fonctionner. Rassurez-vous, les bibliothèques s'installent toutes seules lorsque vous sélectionnez un programme dans un gestionnaire de paquets. Et pas de prolifération de différentes versions comme sous Windows, Ubuntu se charge de coordonner tout ce petit monde sans même que vous ayez à y réfléchir !
Cette magie se fait grâce à apt qui permet d'installer facilement des logiciels, nous verrons cela plus loin.
Ce système de bibliothèques partagées permet de lancer un programme KDE dans Gnome, et inversement, ou d'utiliser un programme Gnome dans un autre environnement comme Xfce. Ainsi, vous avez un système très modulable, vous piochez dans les programmes et les interfaces qui vous plaisent, vous mélangez, changez les thèmes, c'est beaucoup plus marrant que sous Windows où il n'y a qu'une interface avec un thème.
Enfin, utiliser Ubuntu !
Les utilisateurs et les droits
Nous avons vu qu'historiquement les systèmes UNIX étaient de grosses machines pour plusieurs utilisateurs. GNU/Linux a gardé cette architecture, ce qui le dote d'une gestion des droits et des utilisateurs très avancée.
Chaque utilisateur a sa petite maison, protégée par son mot de passe, où il peut faire ce qu'il veut, le répertoire /home/utilisateur (/home/pouet si vous vous appelez pouet).
Par défaut, vous n'êtes pas administrateur de la machine, c'est l'utilisateur "root" qui a ce privilège. Ubuntu a la particularité d'avoir le compte root désactivé. C'est le premier utilisateur créé sur le système qui a accès aux droits d'administrateur en utilisant son propre mot de passe et la commande sudo.
Comme la manière de penser de GNU/Linux est "tout est fichier", les fichiers doivent être bien gardés entre utilisateurs pour éviter les bêtises.
Un fichier ou un répertoire (clic droit –>Propriétés –> Onglet Permissions) peut donc avoir une combinaison de 3 droits : lecture, écriture et exécution affectés pour chacun à trois entités : son propriétaire, son groupe de propriétaires et les "autres utilisateurs". Avec ces 512 possibilités ( 2^3 * 2^3 * 2^3 ) GNU/Linux a une gestion des droits beaucoup plus évoluée que Windows, et surtout la particularité du droit d'exécution, qui indique que l'on a affaire à un programme ou un script. Ce droit est très pratique, il évite par exemple que vous exécutiez les virus de vos courriels en pièces jointes, car ceux-ci n'ont pas le droit d'être utilisés comme programmes et sont considérés comme des données.
Ainsi le système de droits permet une grande modularité dans l'accès à vos données si vous êtes plusieurs à utiliser l'ordinateur.
Voir la page permissions des fichiers Voir la page droits des fichiers
L'installation des programmes
Voilà, vous savez de plus en plus de choses sur ce merveilleux système, pourquoi c'est un gnou et un manchot, pourquoi vous n'avez pas le droit de modifier les fichiers système dans /etc…
Pour installer des programmes sur votre Ubuntu, il va falloir perdre vos réflexes d'OS propriétaire, où il s'agit d'aller sur des sites non sécurisés pour télécharger un programme d'installation plein d'adwares. Sur Ubuntu, c'est beaucoup plus sécurisé, et plus simple, si si !
Le travail de l'équipe d'Ubuntu, en plus de vous fournir une "image CD" d'installation avec le minimum vital, est de vous fournir des logiciels, qui sont donc adaptés aux petits oignons à votre système !
Cela se passe via des gestionnaires de paquets ou des logithèques, la plus connue étant GNOME Logiciels, un utilitaire pour installer des applications, qui va chercher tout seul sur internet (ou votre CD si vous n'avez pas de connexion) la dernière version avec les dépendances qui lui sont utiles.
C'est un programme ressemblant plus ou moins au célèbre Appstore d'Apple ou du Google Play de… Google.
Bref, cette fonctionnalité qui permet d'éviter de perdre du temps à rechercher des logiciels sur la toile, on la doit aux dépôts qui sont des serveurs contenant de très nombreux logiciels pour Ubuntu. Il existe plusieurs dépôts : les officiels, contenant les programmes choisis par l'équipe Ubuntu (dont vous pouvez avoir un aperçu sur http://packages.ubuntu.com) ; et les non officiels, qui proposent certains programmes moins courants ou non libres.
Ainsi, avec tous les dépôts Ubuntu activés, Synaptic me propose 52218 paquets (en 2017), de quoi trouver mon bonheur (il y a heureusement un outil de recherche !) ; et la Logithèque m'en propose tout autant!
Un terminal, ça console ? (oulala...)
Enfin, la partie qui fâche. La console. Le fameux "Ah ouais, mais Linux c'est en mode texte ?"
Tordons le cou aux idées toutes faîtes : vous pouvez utiliser Ubuntu sans taper une seule ligne de commande, et sans voir une seule fois ce fameux "mode texte". Mais… c'est parfois très pratique de savoir s'en servir, car cela permet certaines choses qui sont bien plus longues à faire en mode graphique.
La console est l'équivalent de l'invite de commande sous Windows, mais elle est bien plus performante et pratique, et elle vous servira aussi pour configurer plus finement certaines choses, notamment pour accéder à tous les secrets de votre système. Mais les néophytes, abstenez-vous! Rares sont les occasions d'utiliser cette console sous Ubuntu (sauf si vous êtes un geek ou un nerd, mais dans ce cas, vous savez probablement tout ça).
À l'aide !!!
Vous souhaitez aller plus loin dans votre connaissance d'Ubuntu et de GNU/Linux ? Voici quelques pistes :
- Commencez par le wiki, où vous vous trouvez déjà, et entre autres :
- La page des débutants
- Si vous ne trouvez pas la réponse à vos interrogations, essayez le forum francophone. Il y a une fonction recherche qui est absolument délicieuse pour trouver plein d'infos, et si vous ne trouvez pas, plein de gens non moins délicieux pour vous aider.
- Ou bien encore sur IRC (plus d'infos sur le protocole IRC ici), accessible via cette page, ou avec votre client habituel sur le serveur
irc.freenode.net
et le canal#ubuntu-fr
- Si vous maîtrisez un minimum l'Anglais, le forum anglophone
- Toujours en Anglais, Launchpad, où sont indiqués tous les bugs découverts par les utilisateurs.