- Logiciel
-
En informatique, un logiciel est un ensemble d'informations relatives à des traitements effectués automatiquement par un appareil informatique. Y sont incluses les instructions de traitement, regroupées sous forme de programmes, des données et de la documentation. Le tout est stocké sous forme d'un ensemble de fichiers dans une mémoire[1].
- Un logiciel applicatif, le type de logiciel le plus courant, aussi appelé application informatique : un logiciel dont les automatismes sont destinés à assister un utilisateur dans une de ses activités[2],[3].
- Un logiciel système (ou logiciel de base). C'est un logiciel dont les automatismes contrôlent l'utilisation du matériel informatique par les logiciels applicatifs[4]. Les automatismes du logiciel système sont indépendants de l'activité pour laquelle l'appareil est utilisé[5].
- Le système d'exploitation sert d'interface entre le matériel et les logiciels applicatifs. C'est l'ensemble de logiciels système central qui contrôle l'utilisation de l'appareil informatique par les autres logiciels[6].
Un appareil informatique est une machine qui effectue des traitements en fonction d'instructions et de données. Les instructions et les données sont contenues dans un logiciel. Le logiciel est un élément indispensable à l'utilisation de tout appareil informatique.
Sommaire
Étymologie
Dérivé du mot logique. Créé en 1972 comme traduction du terme anglais software[7]. Cette traduction est officialisée par un arrêté publié au Journal Officiel le 17 janvier 1982[8].
Introduction
Selon les principes de la machine de Turing et l'architecture de von Neumann, un appareil informatique est une machine qui effectue des traitements en fonction d'instructions et de données. Les instructions et les données sont contenues dans un logiciel. Un appareil informatique contient toujours au minimum un seul logiciel, nécessaire pour mettre en activité l'appareil.
Contenu d'un logiciel
Article connexe : paquet (logiciel).Un logiciel est composé d'un ou plusieurs fichiers tels que des programmes, des scripts, des bibliothèques logicielles, des fichiers de configuration, des fichiers de données, des documents électroniques ou du code source.
Le logiciel peut être une application informatique complète, ou une pièce détachée telle qu'un composant logiciel ou un plugin.
Les programmes, les scripts et les bibliothèques logicielles contiennent des suites d'instructions en groupes appelés fonctions ou procédures. Dans une bibliothèque logicielle chaque fonction ou procédure peut être exécutée séparément, tandis que dans un programme ou un script l'exécution de l'instruction de départ provoque l'exécution en chaine de toutes les autres instructions. L'exécution des instructions est rarement linéaire[9].
Dans un script, les instructions sont écrites sous une forme facile à lire pour un humain, et exécutable par l'appareil informatique par l'intermédiaire d'un logiciel appelé interprète ou interpréteur. Dans un fichier de code source les instructions sont écrites sous une forme facile à lire pour un humain, un logiciel appelé compilateur le transformera en code machine - exécutable par l'appareil informatique, ou en bytecode - facile à lire pour un logiciel émulateur (voir aussi machine virtuelle).
Un composant est un logiciel destiné à être utilisé comme pièce détachée dans plusieurs autres logiciels. Un plug-in est un logiciel destiné à être utilisé comme pièce détachée pour un logiciel en particulier. Les composants et les plugins sont souvent sous la forme de bibliothèques logicielles.
Les fichiers de configuration contiennent des valeurs de réglage qui permettent d'adapter l'exécution du logiciel à la configuration informatique. Les fichiers de configuration sont souvent sous une forme facile à lire et modifiables à l'aide d'un logiciel éditeur de texte.
Un logiciel peut contenir divers fichiers, tels que des images, des sons, des textes ou des documents. Ces fichiers peuvent être utilisés par le logiciel, par exemple affichés comme icône sur l'interface graphique, ou être mis à disposition de l'utilisateur comme aide, comme modèle, ou comme exemple.
Le langage de programmation est un ensemble normalisé de règles d'écriture du code source. Le non-respect du langage de programmation entraine l'échec du travail automatique du compilateur ou de l'interprète.
Distribution, utilisation et droits
En tant qu'œuvre intellectuelle, les logiciels sont soumis au droit d'auteur à même titre que toute œuvre littéraire ou artistique - livre, brochure, œuvre musicale ou théâtrale[10].
Le droit d'auteur autorise l'auteur du logiciel de décider sous quelles conditions le logiciel peut être diffusé, modifié, et utilisé. La licence d'utilisation est un contrat dans lequel l'auteur stipule les conditions sous lesquelles une personne (physique ou morale) est autorisée à utiliser le logiciel[11].
Les types de logiciels les plus courants sont:
- Logiciel propriétaire. l'auteur se réserve le droit de diffuser, et de modifier le logiciel. L'acquisition du droit d'utiliser le logiciel est souvent payante.
- Partagiciel (anglais shareware). L'auteur autorise autrui à diffuser le logiciel. L'utilisation prolongée du logiciel requiert un don à son auteur.
- Gratuiciel (anglais freeware). L'auteur autorise la diffusion et l'utilisation par autrui gratuitement, mais garde le droit de modifier le logiciel.
- Code source libre : (anglais Open source) un logiciel dont le code source est mis à disposition d'autrui.
- Logiciel libre : logiciel sur lequel il est possible d'effectuer copie, modification et diffusion.
Le secteur public a été l’un des secteurs d’activité le plus moteur dans la diffusion et appropriation de l’open source et des logiciels libres. A titre d’exemple, en 2011, près de 19% du budget informatique de l’administration française est dédié à des projets à composantes open source ou incluant des logiciels libres, générant ainsi un marché de plus de 1,2 milliard d’euros en 2011 (logiciels et services)[12].
Quelle que soit sa classification, un logiciel peut ou non être commercial, c'est-à-dire destiné à la vente.
Il faut aussi tenir compte des évolutions en cours dans les modèles de distribution des logiciels avec la montée en puissance du cloud computing, et notamment du mode SaaS (Software as a Service). Celui-ci change les modes de rémunérations associés et la facturation en regard. Même si en 2011, la part du mode SaaS dans l’ensemble du marché des logiciels est encore marginale[13], sa progression est rapide et devrait devenir un mode à ne pas négliger parmi les différentes formes couramment acceptées. Plusieurs indicateurs confortent l’évolution progressive vers des services applicatifs à la demande via le réseau[14].
Développement de logiciels
Article détaillé : Développement de logiciel.Les logiciels, suivant leur taille, peuvent être développés par une personne seule, une petite équipe, ou un ensemble d'équipes coordonnées. Le développement de grands logiciels par de grandes équipes pose de grands problèmes de coordination, en raison de la quantité importante d'informations à communiquer entre les intervenants : documentation, réunions. Pour ces raisons, le développement de logiciels dans un contexte professionnel suit souvent des règles strictes permettant le travail en groupe et la maintenance du code ; en effet, souvent, les personnes qui doivent opérer des modifications ultérieures dans le code ne sont plus les personnes qui l'ont développé.
Il existe de nombreux modèles ou méthodologies de développement. Un exemple d'un nouveau modèle de développement est le bazar (modèle utilisé pour la conception de GNU/Linux)
Un logiciel en version béta (ou béta-test) est un logiciel non finalisé, pour lequel on effectue une série de tests jusqu'à ce qu'une stabilité relative soit atteinte. Les personnes qui cherchent les dernières failles de ces versions de logiciels sont appelés des béta-testeurs.
Un logiciel qui est opérationnel sera maintenu. La maintenance du logiciel désigne les modifications apportées à un logiciel, après sa mise en œuvre, pour en corriger les fautes, en améliorer l'efficacité ou autres caractéristiques, ou encore adapter celui-ci à un environnement modifié (ISO/IEC 14764).
Coquilles (« Bugs »)
Article détaillé : Bug informatique.Les bugs sont des erreurs de conception ou de programmation dans les logiciels, qui peuvent causer des comportements incorrects. La gravité du dysfonctionnement peut aller de très mineure (apparence légèrement incorrecte d'un élément d'interface graphique), à des évènements catastrophiques (explosion de la fusée Ariane lors du vol 501, irradiation incorrecte de patients par une machine de traitement...) en passant par des pertes plus ou moins grandes de données, et, rarement, par une détérioration du matériel.
Il est difficile, pour des raisons fondamentales, de produire des logiciels sans bug. Cependant, il existe des mécanismes par lesquels on peut limiter la quantité de bugs, voire les supprimer. Citons d'une part des préceptes d'organisation des équipes de programmation et leur méthodologie, d'autre part les techniques de recherche de bugs dans les logiciels. La recherche en informatique a développé un domaine d'étude, la vérification formelle, dont l'objectif est de certifier la qualité des logiciels et de garantir leur fiabilité. Dans l'ensemble, l'obtention de logiciels complexes peu bugués est coûteuse en temps et en main d'œuvre. Plus les anomalies sont détectées tôt au long du développement du logiciel, moins leur correction est difficile.
Qualité des logiciels
Article détaillé : Qualité logicielle.Un logiciel est un produit qui ne se détériore pas. La qualité d'un logiciel dépend entièrement de sa construction. L'appréciation globale de la qualité d'un logiciel se fonde sur de nombreux facteurs tels que la complétude des fonctionnalités, la précision des résultats, la fiabilité, la tolérance de pannes, la facilité et la flexibilité de son utilisation.... Les facteurs de qualité peuvent être directement observables par l'utilisateur, ou alors constatable par les ingénieurs lors des revue de code ou des travaux de maintenance [15].
Un consortium s'est créé le 6 octobre 2009 aux États-Unis pour établir un standard mondial de la qualité des logiciels. Ce consortium s'appelle le Consortium for IT Software Quality (CISQ).
Développeurs
Articles détaillés : Catégorie:Éditeur de logiciel et Liste des éditeurs de jeux vidéo.Logiciels critiques
Article détaillé : Profil d'application.Pour la sécurité globale des systèmes d'information d'une entité, il peut être nécessaire de définir des profils d'application, afin d'identifier les logiciels critiques sur lesquels il est nécessaire de porter une attention particulière du point de vue de la sécurité.
Voir aussi
- Catégorie:Logiciel applicatif
- Programme informatique
- Agent logiciel
- Micrologiciel ou firmware
- Génie logiciel
- Brevet logiciel
- Progiciel
- Installateur (informatique)
Notes et références
- Logiciel - Dictionnaire Larousse
- Etude sur l'industrie du logiciel En 2009, 52% des logiciels créés sont des logiciels applicatifs.
- (en)Application software, definition. PC-MAG
- (en)System software, definition, ZD-net
- (en)System software, definition, BitPipe
- (en) Operating system, definition
- Logiciel - Trésor de la langue française informatisé
- Enrichissement du vocabulaire de l'informatique. Journal Officiel du 17/01/1982, page 50624
- l'ordre dans lequel les instructions sont exécutées par l'appareil informatique n'est pas le même que l'ordre dans lequel elles se trouvent dans le fichier
- La protection des logiciels
- Le contrat de licence
- L’open source : un marché en croissance dynamique d’ici 2011, Knowledge Center MARKESS International
- Une pénétration différenciée du cloud computing dans les organisations françaises, blog MARKESS International
- 5ème Baromètre des Prestataires Cloud Computing, blog MARKESS International Extrait du
- ISBN 9782746231474), page 387 Alain April et Claude Laporte, Assurance qualité logicielle 1: concepts de base, Lavoisier, 2011, (
Catégories :- Logiciel
- Méthodes informatiques
Wikimedia Foundation. 2010.