Les logiciels
Un logiciel est un ensemble de programmes et de données permettant à un appareil informatique d'effectuer des opérations. Contrairement au matériel, qui correspond aux composants physiques de la machine, le logiciel est constitué d'informations exécutées ou utilisées par le système.
Un ordinateur peut posséder un processeur très puissant, beaucoup de mémoire et un grand espace de stockage, mais ces composants ne permettent pas à eux seuls de rédiger un document, de regarder une vidéo ou de naviguer sur le Web. Ces fonctions nécessitent des logiciels capables de donner des instructions au matériel.
Le fonctionnement des logiciels
Lorsqu'un logiciel fonctionne, son code est exécuté par le processeur. Le programme contient des instructions qui indiquent les opérations à effectuer, tandis que les données utilisées par le programme sont conservées en mémoire ou sur un support de stockage.
Les logiciels ne communiquent généralement pas directement avec le matériel. Ils utilisent les fonctions fournies par le système d'exploitation. Une application qui doit afficher une image, enregistrer un fichier ou utiliser une imprimante demande ainsi au système d'exploitation d'effectuer les opérations nécessaires.
Le système d'exploitation constitue donc la base logicielle sur laquelle les autres programmes fonctionnent. Plusieurs logiciels peuvent être exécutés simultanément et partager les ressources de l'ordinateur grâce à cette organisation.
Les différents types de logiciels
Les logiciels remplissent des rôles très différents. Certains assurent le fonctionnement général de l'appareil, tandis que d'autres sont conçus pour réaliser directement une tâche particulière.
Le système d'exploitation appartient aux logiciels fondamentaux. Il gère notamment le processeur, la mémoire, les fichiers, les périphériques et les processus en cours d'exécution. Il fournit également l'interface permettant de contrôler l'appareil.
Les applications sont destinées aux tâches réalisées par l'utilisateur. Un même ordinateur peut ainsi utiliser des logiciels pour rédiger des documents, calculer des données, modifier des images, lire des vidéos, consulter le Web ou jouer.
D'autres logiciels remplissent des fonctions plus spécialisées. Les pilotes permettent au système d'exploitation de communiquer avec certains matériels, tandis que des outils système servent notamment à configurer, surveiller, diagnostiquer ou entretenir l'ordinateur.
Installer et exécuter un logiciel
Avant de pouvoir utiliser une application, celle-ci doit généralement être installée. L'installation copie les fichiers nécessaires sur le support de stockage et configure le système pour permettre l'exécution du programme.
Une fois installé, le logiciel peut être lancé depuis son raccourci, son menu ou directement depuis son fichier exécutable. Le système d'exploitation charge alors les éléments nécessaires en mémoire et crée les processus permettant au programme de fonctionner.
Lorsqu'une application est fermée, ses processus sont normalement arrêtés et la mémoire qu'elle utilisait peut être réutilisée par d'autres programmes.
Les logiciels et les fichiers
Les logiciels utilisent constamment des fichiers. Un traitement de texte utilise par exemple des fichiers contenant des documents, un lecteur multimédia ouvre des fichiers audio ou vidéo et un logiciel de retouche travaille sur des fichiers d'images.
Les fichiers sont organisés dans des dossiers afin de faciliter leur classement et leur recherche. Le système d'exploitation fournit aux logiciels les fonctions nécessaires pour créer, lire, modifier, copier, déplacer ou supprimer ces fichiers.
Le type d'un fichier est souvent indiqué par son extension. Un fichier .webp correspond généralement à une image JPEG, un fichier .mp3 à un fichier audio et un fichier .pdf à un document PDF. L'extension permet notamment au système d'exploitation d'associer un fichier à une application capable de l'ouvrir.
Les logiciels et Internet
De nombreux logiciels utilisent une connexion Internet. Un navigateur Web communique avec des serveurs pour recevoir les pages et les ressources d'un site. D'autres applications utilisent Internet pour envoyer et recevoir des messages, synchroniser des fichiers, récupérer des données ou communiquer avec des services en ligne.
Certains logiciels fonctionnent principalement sur l'appareil, tandis que d'autres dépendent fortement de serveurs distants. Une application peut ainsi utiliser à la fois les ressources locales de l'ordinateur et des services accessibles par Internet.
Les mises à jour
Après leur publication, les logiciels continuent généralement d'évoluer. Les développeurs publient des mises à jour pour corriger des erreurs, améliorer les performances, ajouter des fonctions ou corriger des failles de sécurité.
Une mise à jour de sécurité peut par exemple corriger une vulnérabilité permettant à un programme malveillant d'exécuter certaines opérations sur l'ordinateur. Les mises à jour sont donc particulièrement importantes pour maintenir un logiciel sécurisé et compatible avec les autres composants du système.
Les logiciels propriétaires et les logiciels libres
Les logiciels peuvent être distribués selon des licences différentes. Un logiciel propriétaire est généralement contrôlé par l'entreprise ou l'organisation qui le développe. Son code source n'est normalement pas accessible librement et son utilisation est soumise aux conditions définies par sa licence.
Un logiciel libre accorde au contraire certaines libertés concernant son utilisation, son étude, sa modification et sa redistribution. L'accès au code source permet notamment d'étudier son fonctionnement et de participer à son développement.
Un logiciel libre n'est pas nécessairement gratuit. La notion de liberté concerne principalement les droits accordés aux utilisateurs et non l'absence de prix.
Les logiciels et la sécurité
Un logiciel peut présenter des failles de sécurité, c'est-à-dire des défauts pouvant être exploités pour contourner certaines protections ou effectuer des opérations non prévues.
Les logiciels doivent donc être maintenus à jour et téléchargés depuis des sources fiables. Un programme malveillant peut également se présenter sous l'apparence d'un logiciel légitime et provoquer la destruction de données, le vol d'informations ou l'utilisation abusive des ressources de l'ordinateur.
Les droits accordés aux logiciels constituent également un élément important de la sécurité. Une application n'a pas nécessairement besoin d'accéder à toutes les ressources de l'appareil pour fonctionner. Limiter ses autorisations permet de réduire les conséquences possibles en cas de comportement malveillant.
L'évolution des logiciels
Les logiciels ont progressivement évolué d'outils spécialisés exécutant quelques instructions vers des programmes capables de réaliser des tâches très complexes. Les applications modernes peuvent gérer des images, du son, des communications réseau, des bases de données et des interfaces graphiques dans un même environnement.
Certains logiciels utilisent également des techniques d'intelligence artificielle pour analyser des données, reconnaître des images ou des sons, générer du contenu ou automatiser certaines tâches. Ces fonctions restent cependant des fonctionnalités logicielles exécutées sur des ressources matérielles.
Une couche entre l'utilisateur et la machine
Les logiciels constituent donc l'interface entre les utilisateurs, les données et le matériel. Le système d'exploitation organise les ressources de la machine, tandis que les applications utilisent ces ressources pour fournir des fonctions particulières.
Lorsqu'un utilisateur rédige un document, regarde une vidéo ou modifie une photographie, plusieurs éléments coopèrent : l'application fournit les fonctions nécessaires, le système d'exploitation gère les ressources et le matériel exécute les opérations physiques nécessaires.
L'ensemble forme une organisation en plusieurs niveaux dans laquelle chaque logiciel peut s'appuyer sur les fonctions fournies par les couches inférieures. Cette organisation permet de créer des programmes complexes sans que chaque application ait besoin de gérer directement tous les composants physiques de l'ordinateur.
- Les systèmes d'exploitation
- Les applications
- Les logiciels libres
- Les mises à jour
- Les traitements de texte
- Les tableurs
- Les retouches d'images
- Les lecteurs multimédia
- Les jeux
- Les navigateurs Web
- Les fichiers et dossiers
- L'invite de commande
Les logiciels libres
Un logiciel libre est un logiciel dont les utilisateurs disposent de certaines libertés concernant son utilisation, son étude, sa modification et sa redistribution. Ces libertés reposent sur l'accès au code source du programme.
Le code source correspond à l'ensemble des instructions écrites par les développeurs pour créer le logiciel. Il est généralement rédigé dans un langage de programmation lisible par les humains, puis transformé en instructions que le processeur peut exécuter.
Dans un logiciel propriétaire, le code source est généralement conservé par son éditeur et son utilisation est soumise à une licence qui définit ce que l'utilisateur est autorisé à faire. Un logiciel libre donne au contraire des droits supplémentaires sur le programme et son code source.
Libre ne signifie pas gratuit
Le terme libre ne signifie pas nécessairement gratuit. Il désigne les libertés accordées aux utilisateurs et non le prix du logiciel.
Un logiciel libre peut être distribué gratuitement, mais il peut également être vendu. Une entreprise peut par exemple vendre un logiciel libre, proposer une assistance technique payante ou facturer des services associés à son utilisation.
À l'inverse, un logiciel gratuit n'est pas forcément libre. Un programme peut être téléchargé et utilisé gratuitement tout en conservant un code source fermé et en interdisant sa modification ou sa redistribution.
Les quatre libertés
La définition traditionnelle du logiciel libre repose sur quatre libertés fondamentales. Elles concernent l'utilisation du logiciel, l'étude de son fonctionnement, sa modification et sa redistribution.
- Utiliser : le logiciel peut être utilisé pour n'importe quel usage.
- Étudier : le fonctionnement du logiciel peut être examiné grâce à l'accès au code source.
- Modifier : le code source peut être adapté pour répondre à des besoins particuliers.
- Redistribuer : le logiciel original ou une version modifiée peut être partagé avec d'autres utilisateurs, selon les conditions de sa licence.
Ces libertés permettent par exemple à un développeur d'étudier le fonctionnement d'un programme, de corriger une erreur dans son code, d'ajouter une fonction puis de distribuer sa version modifiée.
Les licences libres
Les libertés accordées par un logiciel libre sont définies par une licence. Elle précise notamment les conditions dans lesquelles le logiciel peut être utilisé, modifié et redistribué.
Il existe plusieurs licences libres. Certaines imposent que les modifications redistribuées restent disponibles sous les mêmes libertés, tandis que d'autres permettent d'intégrer le code modifié dans un logiciel distribué sous une licence différente.
Le respect de la licence est nécessaire même lorsqu'un logiciel est libre. L'accès au code source ne signifie donc pas que toutes les utilisations sont automatiquement autorisées sans aucune condition.
Le développement collaboratif
Le code source accessible permet à plusieurs développeurs de travailler sur un même logiciel. Ils peuvent proposer des corrections, améliorer certaines parties du programme, ajouter des fonctionnalités ou rechercher des failles de sécurité.
Le développement peut ainsi être réalisé par des personnes situées dans différents pays et travaillant indépendamment les unes des autres. Les modifications sont ensuite examinées, testées et éventuellement intégrées au projet.
Cette organisation permet de faire évoluer certains logiciels pendant de nombreuses années. Elle est particulièrement utilisée dans les projets libres de grande taille.
Logiciel libre et open source
L'expression open source désigne une approche dans laquelle le code source est accessible et peut être utilisé, étudié et modifié selon les conditions de la licence.
Les notions de logiciel libre et d'open source sont très proches et concernent souvent les mêmes logiciels. La différence se situe principalement dans leur approche : le logiciel libre met l'accent sur les libertés accordées aux utilisateurs, tandis que l'open source insiste davantage sur les possibilités de développement et de collaboration offertes par l'accès au code.
Quelques logiciels libres
De nombreux logiciels libres sont utilisés quotidiennement dans différents domaines de l'informatique.
- Linux : famille de systèmes d'exploitation utilisée notamment sur les serveurs, les ordinateurs et les supercalculateurs.
- LibreOffice : suite bureautique comprenant notamment un traitement de texte, un tableur et un logiciel de présentation.
- Firefox : navigateur Web développé comme logiciel libre.
- GIMP : logiciel de création et de retouche d'images.
- VLC : lecteur multimédia capable de lire de nombreux formats audio et vidéo.
La place des logiciels libres
Les logiciels libres occupent une place importante dans l'informatique. Ils sont utilisés sur des ordinateurs personnels, des serveurs, des téléphones, des systèmes embarqués et de nombreuses infrastructures informatiques.
Ils sont également très présents dans les technologies utilisées pour faire fonctionner Internet. Des serveurs Web, des outils de développement, des systèmes de gestion de bases de données et de nombreux composants logiciels reposent sur des projets libres.
Le logiciel libre permet ainsi d'utiliser un programme tout en conservant davantage de possibilités pour étudier son fonctionnement, l'adapter et le redistribuer. Il favorise également la coopération entre développeurs et la diffusion des connaissances informatiques.