Recherchez sur tout Techno-Science.net
       
Techno-Science.net : Suivez l'actualité des sciences et des technologies, découvrez, commentez
Catégories
Techniques
Sciences
Encore plus...
Techno-Science.net
Partenaires
Organismes
 CEA
 ESA
Sites Web
Photo Mystérieuse

Que représente
cette image ?
 A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | +
Logiciel

Un logiciel ou une application est un ensemble de programmes, qui permet à un ordinateur ou à un système informatique d'assurer une tâche ou une fonction en particulier (exemple : logiciel de gestion de la relation client, logiciel de production, logiciel (En informatique, un logiciel est un ensemble d'informations relatives à des traitements effectués automatiquement par un appareil informatique. Y sont inclus les instructions de traitement, regroupées sous forme de...) de comptabilité, logiciel de gestion des prêts).

On distingue en général, dans un système informatique (L´informatique - contraction d´information et automatique - est le domaine d'activité scientifique, technique et industriel en rapport avec le traitement automatique de l'information...), la partie matérielle (l'ordinateur (Un ordinateur est une machine dotée d'une unité de traitement lui permettant d'exécuter des programmes enregistrés. C'est un ensemble de circuits électroniques permettant de manipuler des...) et ses périphériques) et la partie logicielle, immatérielle (les programmes " écrits " sur le disque (Le mot disque est employé, aussi bien en géométrie que dans la vie courante, pour désigner une forme ronde et régulière, à l'image d'un palet — discus en latin.) dur).

Le logiciel un bien immatériel, mais surtout c'est un bien non-rival, c’est-à-dire qu'il ne s'use pas, c'est un bien dont la consommation par un individu (Le Wiktionnaire est un projet de dictionnaire libre et gratuit similaire à Wikipédia (tous deux sont soutenus par la fondation Wikimedia).) donné n'empêche pas d'autres consommateurs d'en jouir simultanément.

Le terme logiciel est souvent employé pour désigner un programme informatique (Un programme informatique est une liste d'ordres indiquant à un ordinateur ce qu'il doit faire. Il se présente sous la forme d'une ou plusieurs séquences d'instructions, comportant souvent des données de base, devant être exécutées dans un...), et inversement, bien qu'un logiciel puisse être composé d'un seul ou d'une suite de programmes.

Ce dernier cas est d'autant plus fréquent que la capacité réduite de calcul de l'ordinateur oblige à une segmentation (De manière générale, le mot segmentation désigne l'action de segmenter, le fait de se segmenter ou son résultat. En particulier, le mot est employé dans les domaine suivants :) des tâches en plusieurs modules séparés ; cependant, les énormes capacités des micro-ordinateurs actuels en regard des applications typiques de la bureautique (Le terme de bureautique désigne la mécanisation et l'automatisation du travail de bureau, soit les processus de production, d'expédition, de réception et de conservation des documents.) ont permis la réalisation d'applications monolithiques.

Généralement, les programmes sont accompagnés d'un ensemble (En théorie des ensembles, un ensemble désigne intuitivement une collection d’objets (les éléments de l'ensemble), « une multitude qui peut être comprise comme un...) de données (Dans les technologies de l'information (TI), une donnée est une description élémentaire, souvent codée, d'une chose, d'une transaction d'affaire, d'un événement, etc.) permettant de les faire fonctionner (par exemple, un jeu viendra avec de nombreuses images, animations, sons, etc.).

Pour fonctionner, un logiciel nécessite l'utilisation d'un ordinateur (micro-ordinateur, station de calcul, mainframe, supercalculateur, etc.) sur lequel existe à l'origine un " logiciel-moteur " (système d'exploitation) qui accepte le " logiciel-application ".

Le tout (Le tout compris comme ensemble de ce qui existe est souvent interprété comme le monde ou l'univers.) a besoin (Les besoins se situent au niveau de l'interaction entre l'individu et l'environnement. Il est souvent fait un classement des besoins humains en trois grandes catégories : les...) d'une alimentation électrique (Le terme d'alimentation électrique désigne un ensemble de systèmes capables de fournir de l'électricité aux appareils fonctionnant avec cette énergie.).

Les licences

Le droit d'utilisation du logiciel est généralement règlementé par une licence d'utilisation et le droit d'auteur.

Les grandes familles de licences les plus connues sont :

  • les licences autour (Autour est le nom que la nomenclature aviaire en langue française (mise à jour) donne à 31 espèces d'oiseaux qui, soit appartiennent au genre Accipiter, soit constituent les 5 genres Erythrotriorchis, Kaupifalco, Megatriorchis,...) du logiciel libre (Un logiciel libre est un logiciel dont l'utilisation, l'étude, la modification, la duplication et la diffusion sont universellement autorisées sans contrepartie financière. Les droits...) (free software en anglais ex: Projet (Un projet est un engagement irréversible de résultat incertain, non reproductible a priori à l’identique, nécessitant le concours et l’intégration d’une grande diversité de...) GNU) ;
  • le graticiel (Un graticiel ou gratuiciel (en anglais freeware) est un logiciel propriétaire qui est mis gratuitement à disposition par son créateur, mais qui est soumis à...) (freeware ex: icq (ICQ est un système propriétaire de messagerie instantanée, de VoIP et de visioconférence de la société Mirabilis.).com) ;
  • le partagiciel (Un partagiciel (shareware en anglais) est un logiciel propriétaire, protégé par le droit d'auteur, qui peut être utilisé gratuitement durant une certaine période ou un certain nombre d'utilisations. Après...) (shareware ex: 6def.com) ;
  • d'autres types de licences, telles que les licences monoposte ou multiposte ;
  • certains logiciels enfin sont internes à des entreprises et leur diffusion (Dans le langage courant, le terme diffusion fait référence à une notion de « distribution », de « mise à disposition » (diffusion d'un produit, d'une information), voire de « vaporisation » (diffuseur d'un...) est interdite.

Diverses présentations de logiciels

Les programmes peuvent être de différentes formes :

  • exécutables : ils peuvent être exécutés directement par l'ordinateur ;
    • généralement, ils ne peuvent être exécutés que sur un type de machine et de système d'exploitation particulier (exemple : Microsoft Windows (Windows est une gamme de systèmes d'exploitation produite par Microsoft, principalement destinées aux machines compatibles PC. C'est le remplaçant de MS-DOS. Depuis les années 1990, avec la sortie de...) sur un compatible PC) ;
    • cependant, il existe des exécutables (en bytecode) exécutables sur une variété de plates-formes (comme ceux du langage Java) ; ils visent en fait l'exécution pour une machine virtuelle (Le sens originel de machine virtuelle est la création de plusieurs environnements d'exécution sur un seul ordinateur, dont chacun émule l'ordinateur hôte. Cela fournit...), qui est elle-même un logiciel disponible sur les diverses plates-formes.
  • fichiers sources : il s'agit généralement d'un texte respectant les règles d'écriture d'un langage de programmation (Un langage de programmation est un code de communication, permettant à un être humain de dialoguer avec une machine en lui soumettant des instructions et en analysant les données matérielles fournies par le...) particulier ; à titre indicatif, l'ordre de grandeur de la taille d'un logiciel comme Microsoft Word (Microsoft Word est un logiciel de traitement de texte publié par Microsoft. Cette société publie d'autres logiciels de traitement de texte,...) est d'un million (Un million (1 000 000) est l'entier naturel qui suit neuf cent quatre-vingt-dix-neuf mille neuf cent quatre-vingt-dix-neuf (999 999) et qui précède un million un...) de lignes de code ;
    • pour un langage compilé : ils doivent être traduits en un exécutable par un compilateur ;
    • pour un interpréteur : ils sont exécutés directement à la lecture (par exemple des scripts Perl ou PHP).
  • bibliothèques : il s'agit d'un ensemble de fonctions qui, en elles-mêmes, ne sont pas exécutables directement et n'offrent pas de fonctionnalité à l'utilisateur, mais fournissent des services à d'autres programmes (par exemple, on trouvera des bibliothèques permettant à un programme de charger des animations ou de jouer des sons) ; on trouve en particulier des bibliothèques dynamiques (dll Windows (Windows est une gamme de systèmes d'exploitation produite par Microsoft, principalement destinées aux machines compatibles PC. C'est le remplaçant de MS-DOS....) ou so GNU/Linux).

Les données associées au logiciel peuvent également être de différents formats : fichiers classiques, bases de données (relationnelles, hiérarchiques, etc.). Les données du logiciel peuvent être éclatées en un grand nombre (La notion de nombre en linguistique est traitée à l’article « Nombre grammatical ».) de fichiers, ou tout le logiciel peut être rassemblé en un seul fichier ; par exemple, sous Windows, la définition (Une définition est un discours qui dit ce qu'est une chose ou ce que signifie un nom. D'où la division entre les définitions réelles et les définitions nominales.) de l'interface (Une interface est une zone, réelle ou virtuelle qui sépare deux éléments. L’interface désigne ainsi ce que chaque élément a besoin de connaître de l’autre pour pouvoir fonctionner correctement.) utilisateur, le dessin des icônes etc., sont souvent intégrés dans le même fichier ( Un fichier est un endroit où sont rangées des fiches. Cela peut-être un meuble, une pièce, un bâtiment, une base de données informatique. Par exemple : fichier des patients...) que l'application principale.

Développement de logiciels

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é (La quantité est un terme générique de la métrologie (compte, montant) ; un scalaire, vecteur, nombre d’objets ou d’une autre manière de dénommer la valeur d’une collection ou un groupe de choses.) importante d'informations à communiquer entre les intervenants : documentation, réunions. Pour ces raisons, le développement de logiciels dans un contexte (Le contexte d'un évènement inclut les circonstances et conditions qui l'entourent; le contexte d'un mot, d'une phrase ou d'un texte inclut les mots...) 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é.

Un nouveau modèle de développement tend cependant à se répandre : 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.

Bogues

Des erreurs de conception dans les logiciels peuvent causer des comportements incorrects, souvent appelés bogues. La gravité (La gravitation est une des quatre interactions fondamentales de la physique.) de ceux-ci peut aller de très mineure (p.ex., apparence légèrement incorrecte d'un élément d'interface graphique), à des évènements catastrophiques (explosion de la fusée (Fusée peut faire référence à :) Ariane vol 501, irradiation (L'irradiation, dans le domaine de la physique, est une émission de rayons (notamment lumineux) d'une particule; ou une propagation par rayonnement. Les...) 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 bogue ; cependant, il existe des mécanismes par lesquels on peut limiter la quantité de bogues, voire les supprimer. Citons d'une part des préceptes d'organisation (Une organisation est) des équipes de programmation (La programmation dans le domaine informatique est l'ensemble des activités qui permettent l'écriture des programmes informatiques. C'est une étape importante de la conception de logiciel (voire de matériel, cf. VHDL).) et leur méthodologie, d'autre part les technologies de recherche (La recherche scientifique désigne en premier lieu l’ensemble des actions entreprises en vue de produire et de développer les connaissances scientifiques. Par extension métonymique, la recherche...) de bogues 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é (Un système est fiable lorsque la probabilité de remplir sa mission sur une durée donnée correspond à celle spécifiée dans le cahier des charges.). Dans l'ensemble, l'obtention de logiciels complexes peu bogués est coûteuse en hommes et en temps (Le temps est un concept développé par l'être humain pour appréhender le changement dans le monde.). Plus les anomalies sont détectées tôt au long du développement du logiciel, moins leur correction est coûteuse.

Ouverture du code source (Le code source (ou les sources voire le source) est un ensemble d'instructions écrites dans un langage de programmation informatique de haut niveau, compréhensible par un être humain entraîné,...)

On classe les logiciels d'après la disponibilité (La disponibilité d'un équipement ou d'un système est une mesure de performance qu'on obtient en divisant la durée durant laquelle...) du code source et de la licence qui régit la distribution du programme :

  • code ouvert : tout le monde (Le mot monde peut désigner :) peut lire le code source. Ce terme n'est pas synonyme de logiciel libre ;
  • code fermé : le code source n'est disponible que pour une minorité de personnes ;
  • logiciel libre : tout le monde peut étudier, copier, modifier et distribuer des versions modifiées du logiciel (définition de la free software foundation). Les logiciels libres sont protégés pour la plupart par une licence d'utilisation ; Pour autant cela ne signifie pas que le logiciel est gratuit.
  • logiciel propriétaire : au moins un de ces droits n'est pas rempli pour les utilisateurs. La plupart du temps, acquérir une licence d'utilisation nécessite le paiement d'une certaine somme aux créateurs du logiciel ;
  • logiciel commercial : logiciel destiné à la vente, il peut être libre ou propriétaire.

Développeurs

Logiciels critiques

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 (Graphie) de vue (La vue est le sens qui permet d'observer et d'analyser l'environnement par la réception et l'interprétation des rayonnements lumineux.) de la sécurité.

Source: Wikipédia publiée sous licence CC-BY-SA 3.0.

Vous pouvez soumettre une modification à cette définition sur cette page. La liste des auteurs de cet article est disponible ici.