Informatique : encyclopédie mathématiques
Cet article est issu de l'encyclopédie libre Wikipedia.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 par des machines telles que les ordinateurs, les consoles de jeux, les robots, etc.
Le terme « informatique » désigne à l'origine l´informatique théorique : un ensemble de sciences formelles qui ont pour objet l'étude de la notion d'information et des procédés de traitement automatique de celle-ci. En font partie, par exemple, l'algorithmique, le traitement du signal, la calculabilité et la théorie de l'information.
L'automatisation du traitement d'informations est bien plus ancienne que l'invention de l'ordinateur. Les premières machines de traitement automatisé étaient des machines mécaniques construites au XVIIe siècle.
« La science informatique n'est pas plus la science des ordinateurs que l'astronomie n'est celle des télescopes[1] »
— Edsger Dijkstra.
Apparu dans les années 1950, le secteur d'activité des technologies de l'information et de la communication est lié à la fois à l'informatique, l'électronique et la télécommunication. Les activités sont la production de matériel informatique - machines et pièces détachées, et de logiciels - procédés de traitement - qui sont destinés à l'acquisition, au stockage, à la transformation, la transmission et la restitution automatique d'informations. Le secteur fournit également de nombreux services liés à l'utilisation de ses produits : enseignement, assistance, surveillance et entretien.
Les anglophones utilisent le terme computer science pour la science (informatique) et la science appliquée (ainsi que l'étude de sa mise en œuvre)[2],[3],[4]. Par opposition à information technology (autrefois data processing) qui regroupe toutes les techniques permettant de traiter les informations .
Le terme « informatique » est utilisé pour la première fois en France en mars 1962 par Philippe Dreyfus, ancien directeur du Centre National de Calcul Électronique de Bull dans les années 1950, pour son entreprise « Société d'Informatique Appliquée » (SIA), à partir des mots « information » et « automatique »[5],[6].
En France, l'usage officiel du mot a été consacré par Charles de Gaulle qui, en Conseil des ministres, a tranché entre « informatique » et « ordinatique », et le mot fut choisi par l'Académie française en 1967 pour désigner la science du traitement de l'information.
Le terme allemand Informatik est créé en 1957 par Karl Steinbuch qui a publié un essai intitulé Informatik: Automatische Informationsverarbeitung (Informatique : traitement automatique de l'information)[7].
En juillet 1968, le ministre fédéral de la Recherche scientifique d'Allemagne, Gerhard Stoltenberg, prononça le mot Informatik lors d'un discours officiel au sujet de la nécessité d'enseigner cette nouvelle discipline dans les universités de son pays, et c'est ce mot qui servit aussitôt à nommer certains cours dans les universités allemandes[réf. nécessaire]. Le mot informatica fit alors son apparition en Italie et en Espagne, de même qu’informatics au Royaume-Uni.
Le mot « informatique » a ensuite été repris par la Compagnie Générale d'Informatique (CGI) créée en 1969[8].
Pendant le même mois de mars 1962, Walter F. Bauer inaugura la société américaine Informatics Inc. qui, elle, déposa son nom et poursuivit toutes les universités qui utilisèrent ce nom pour décrire la nouvelle discipline, les forçant à se rabattre sur computer science, bien que les diplômés qu'elles formaient fussent pour la plupart des praticiens de l'informatique plutôt que des scientifiques au sens propre. L’Association for Computing Machinery, la plus grande association d'informaticiens au monde, approcha même Informatics Inc. afin de pouvoir utiliser le mot informatics pour remplacer l'expression computer machinery, mais l'entreprise déclina l'offre. La société Informatics Inc. cessa ses activités en 1985, achetée par Sterling Software[réf. nécessaire].
Le sens du mot informatique, qui désigne initialement la science du calculateur (en anglais computer science) a évolué vers un sens populaire beaucoup plus large qui inclut de nombreuses activités en rapport avec les techniques de l'information.
Bernard Lang effectue une analogie au secteur de l'automobile, et dit :
« nul ne confond la thermodynamique, la technique des moteurs à explosion et le mode d'emploi d'un véhicule automobile. »
Pour éviter toute confusion, les milieux académiques utilisent les termes science informatique, informatique fondamentale ou informatique théorique pour désigner la science du calculateur. Tandis que les milieux économiques utilisent le terme technologies de l'information ou technologies de l'information et de la communication pour désigner le secteur industriel. L'utilisation des appareils est parfois assimilée à de la conduite, comme dans la European Computer Driving License (traduction : permis de conduire un ordinateur)[9],[10].
L'usage contemporain du terme « informatique » recouvre deux champs disciplinaires distincts dans les pays anglo-saxons : les sciences de l'ordinateur (computer science) et « l'informatics » (dont les sciences de l'information sont un sous-domaine)[11],[12]. Le domaine de « l'informatics » s'intéresse à la structure, les algorithmes, le comportement et les interactions des systèmes naturels ou artificiels qui stockent, traitent et échangent de l'information. Ce champ disciplinaire reste encore largement méconnu en France en tant que tel pour quatre raisons principales :
Cependant, la situation pourrait évoluer rapidement avec l'apparition de formations où cette distinction est fondamentale, en sciences cognitives notamment.
Depuis des millénaires, l'Homme a créé et utilisé des outils l'aidant à calculer (abaque, boulier...). Parmi les algorithmes les plus anciens, on compte des tables datant de l'époque d'Hammurabi (environ -1750). Les premières machines mécaniques apparaissent entre le XVIIe et le XVIIIe siècle. La première machine à calculer mécanique réalisant les quatre opérations aurait été celle de Wilhelm Schickard au XVIe siècle, mise au point notamment pour aider Kepler à établir les Tables rudolphines d'astronomie.
En 1642, Blaise Pascal réalisa également une machine à calculer mécanique qui fut pour sa part commercialisée et dont neuf exemplaires existent dans des musées comme celui des Arts et métiers et dans des collections privées (IBM).[réf. souhaitée]
La découverte tardive de la machine d'Anticythère montre que les Grecs de l'Antiquité eux-mêmes avaient commencé à réaliser des mécanismes de calcul en dépit de leur réputation de mépris général pour la technique (démentie d'ailleurs dans le cas particulier des travaux militaires d'Archimède)[13].
Cependant, il faudra attendre la définition du concept de programmation (illustrée en premier par Joseph Marie Jacquard avec ses métiers à tisser à cartes perforées, suivi de Boole et Ada Lovelace pour ce qui est d'une théorie de la programmation des opérations mathématiques) pour disposer d'une base permettant d'enchaîner des opérations élémentaires de manière automatique.
Une autre phase importante fut celle de la mécanographie, avec l'apparition des machines électromécaniques alimentées par cartes perforées de l'Américain Herman Hollerith, qui savaient tout faire sauf de la comptabilité en grandes entreprises (voir Gilbert Bitsch : Liste d'informaticiens et précurseurs de l'informatique), et les machines comptables à doubles entrées, inventées par Hollerith (voir l'autre aspect de la mécanographie) à la fin du XIXe siècle. Les trieuses et les tabulatrices furent utilisées à grande échelle pour la première fois par les Américains lors du recensement de 1890 aux États-Unis, suite à l'afflux des immigrants dans ce pays lors de la seconde moitié du XIXe siècle.
La première entreprise européenne qui a développé et commercialisé des équipements mécanographiques a été créée par l'ingénieur norvégien Fredrik Rosing Bull dans les années 1930. F.R. Bull s'est installé en Suisse, avant de venir en France pour s'attaquer au marché français des équipements mécanographiques. Pendant la Seconde Guerre mondiale, René Carmille utilisait des machines mécanographiques Bull.
Les Allemands étaient équipés de machines mécanographiques déjà avant la Seconde Guerre mondiale. Ces équipements étaient installés par ateliers composés de trieuses, interclasseuses, perforatrices, tabulatrices et calculatrices connectées à des perforateurs de cartes. Les traitements étaient exécutés à partir de techniques électromécaniques utilisant aussi des lampes radio comme les triodes. La chaleur dégagée par ces lampes attirait les insectes, et les bugs (terme anglais pour insectes, parfois francisé en bogue) étaient une cause de panne courante. Ce n'est que suite à l'invention du transistor en 1947 et son industrialisation dans les années 1960, que les appareils informatiques ont pris leur forme finale, celle qu'ils ont encore aujourd'hui.
L'ère de l'informatique moderne commença durant la Seconde Guerre mondiale, avec l'invention du transistor, puis du circuit intégré quelques années plus tard. L'utilisation de ces composants électroniques à la place des relais électromécaniques et de tubes à vide ont permis de rendre les appareils à la fois plus petits, plus complexes, plus économiques et plus fiables.
Au même moment, le mathématicien Alan Turing théorise le premier ce qu'est un ordinateur, avec son concept de machine universelle de Turing.
Le domaine de l'informatique est donc un domaine récent, basé sur des sciences originaires de l'Antiquité (la cryptographie) et des expériences menées au XVIIe siècle, comme par exemple la machine à calculer de Blaise Pascal. Ce n'est qu'à la fin de la Seconde Guerre Mondiale que l'informatique a été reconnue comme un domaine scientifique et technologique à part entière.
La série de livres The Art of Computer Programming de Donald Knuth, sortie à partir des années 1960, fait ressortir les aspects mathématiques de la programmation informatique[14]. Edsger Dijkstra, Niklaus Wirth et Christopher Strachey travaillent et publient dans le même sens.
On demandait à Donald Knuth dans les années 1980 s'il valait mieux selon lui rattacher l'informatique fondamentale au génie électrique — ce qui est souvent le cas dans les universités américaines — ou à un département de mathématiques. Il répondit : « Je la classerais volontiers entre la plomberie et le dépannage automobile » pour souligner le côté encore artisanal de cette jeune science. Toutefois, le fort caractère scientifique des trois premiers volumes de son encyclopédie suggère qu'il s'agit là d'une boutade de sa part.
La miniaturisation des composants et la réduction des coûts de production, associées à un besoin de plus en plus pressant de traitement des informations de toutes sortes (scientifiques, financières, commerciales, etc.) a entraîné une diffusion de l'informatique dans toutes les couches de l'économie comme de la vie de tous les jours.
Des études en psychologie cognitive et en ergonomie réalisées dans les années 1970 par Xerox sont à l'origine de l'usage des interfaces homme-machine graphique en vue de simplifier l'utilisation des outils informatiques.
La démocratisation de l'utilisation d'Internet - réseau basé sur ARPANET - depuis 1995, a amené les outils informatiques à être de plus en plus utilisés comme moyen de télécommunication, à la place des outils tels que la poste ou le téléphone.
En France, l'informatique a commencé à vraiment se développer seulement dans les années 1960, avec le Plan Calcul. Depuis lors, les gouvernements successifs ont mené des politiques diverses en faveur de la Recherche scientifique, l'Enseignement, la tutelle des Télécommunications, la nationalisation d'entreprises clés.
La science informatique est une science formelle, son objet d'étude est le calcul[15], calcul au sens large, c'est-à -dire non limité exclusivement à la manipulation des nombres, mais de tout type d'information formelle que l'on peut traiter de manière systématique tel que : textes, couleurs, données, valeurs logiques. Selon les contextes, on parle d'un calcul, d'un algorithme, d'un programme, d'une procédure, etc.
Un terme qui semble émerger pour se référer à la « science de l'informatique » est « Technologies de l'Information et de la Communication » (TIC). Ce terme apparait en effet plus proche du terme anglais Computer Sciences. Par exemple, un institut de recherche comme l'INRIA, un centre de recherche en informatique français, utilise ce terme.
Un algorithme est une manière systématique de procéder pour arriver à calculer un résultat[16]. Un des exemples classiques est l'algorithme d'Euclide du calcul du « Plus grand commun diviseur » (PGCD) qui remonte au moins à 300 ans av. J.-C.
Mais il s'agit déjà d'un calcul complexe ; encore avant cela, le simple fait d'utiliser un abaque demande d'avoir réfléchi sur un moyen systématique (et correct) d'utiliser cet abaque pour réaliser des opérations arithmétiques.
Des algorithmes existent donc depuis l'Antiquité, mais ce n'est que depuis les années 1930, avec les débuts de la théorie de la calculabilité que les scientifiques se sont posés la question « qu'est ce qu'un modèle de calcul ? » et « est-ce que tout est calculable ? ». Une des premières choses a été pour les scientifiques de répondre de manière formelle à ces deux questions.
Il existe de nombreux modèles de calcul, mais les deux plus centraux sont les « machine de Turing » et le « lambda calcul ». Ces deux systèmes formels définissent des objets qui peuvent représenter ce qu'on appelle de procédures de calcul, des algorithmes ou des programmes. Ils définissent ensuite un moyen systématique d'appliquer ces procédures, c'est-à -dire de calculer.
Le résultat le plus important de la calculabilité est probablement la thèse de Church[17] qui postule que tous les modèles de calcul ont la même puissance. C'est-à -dire qu'il n'existe pas une procédure que l'on pourrait exprimer dans un modèle mais pas dans un autre.
Un deuxième résultat fondamental est l'existence de fonctions incalculables. Une fonction étant ce que calcule une procédure ou un algorithme (ceux-ci étant désignant plutôt comment faire le calcul). On peut montrer qu'il existe des fonctions, bien définie, pour lesquelles il n'existe pas de procédure pour les calculer. L'exemple le plus connu étant probablement le problème de l'arrêt qui montre qu'il n'existe pas de machine de Turing calculant si une autre machine de Turing donnée s'arrêtera (et donc donnera un résultat) ou non. Selon la thèse de Church-Turing, tous les modèles de calcul sont équivalent par conséquent ce résultat s'applique aussi aux autres modèles, ce qui inclut les programmes et logiciels que l'on peut trouver dans les ordinateurs courants. A noter qu'il existe un lien très fort entre les fonctions que l'on ne peut pas calculer et les problèmes que l'on ne peut pas décider (voir Décidabilité et indécidabilité).
Une fois la notion de calcul définie, la suite a été de se consacrer à l'algorithmique, c'est-à -dire l'étude des algorithmes.
Le but est trouver effectivement des procédures correctes et de les comparer entre elles. En effet, tous les algorithmes ne se valent pas : le nombre d'opérations nécessaires pour arriver au résultat diffère d'un algorithme à l'autre. Ce nombre d'opération, appelé la complexité algorithmique est le sujet de la théorie de la complexité des algorithmes, qui constitue une préoccupation essentielle en algorithmique.
La complexité algorithmique sert en particulier à déterminer comment le nombre d'opérations nécessaires évolue en fonction du nombre d'éléments à traiter (la taille des données). L'évolution peut être indépendante de la taille des données, ou parle alors de complexité constante. Ou alors le nombre d'opérations peut augmenter selon un rapport logarithmique, linéaire, polynomial ou exponentiel (dans l'ordre décroissant d'efficacité et pour ne citer que les plus répandues). En pratique une augmentation exponentielle de la complexité aboutit très rapidement à des durées de calcul déraisonnable pour une utilisation en pratique. Alors que pour une complexité polynomiale (ou meilleure), le résultat sera obtenu après une durée de calcul réduite, même avec de grandes quantités de données.
Nous arrivons maintenant un problème ouvert fondamental en informatique : « P est-il égal à NP ? »[18]
En simplifiant beaucoup : P est « l'ensemble des problèmes pour lesquels on connaît un algorithme efficace » et NP « l'ensemble des problèmes pour lesquels on connaît un algorithme efficace pour vérifier une solution à ce problème ».
Et en simplifiant encore plus : existe-t-il des problèmes difficiles ? Des problèmes pour lesquels il n'existe pas d'algorithme efficace.
Cette question est non seulement d'un grand intérêt théorique mais aussi pratique. En effet un grand nombre de problèmes courants et utiles sont des problèmes que l'on ne sait pas résoudre de manière efficace. C'est d'ailleurs un des problèmes du prix du millénaire et le Clay Mathematical Institute s'est engagé à verser un million de $ aux personnes qui en trouveraient la solution.
Comme nous venons de le dire : c'est un problème ouvert, donc formellement il n'y a pas de réponse reconnue. Mais, en pratique, la plupart des spécialistes s'accordent pour penser que P≠NP, c'est-à -dire qu'il existe effectivement des problèmes difficiles qui n'admettent pas d'algorithme efficace.
Ce type de problème de complexité algorithmique est directement utilisé en cryptologie. En effet les méthodes de cryptologie modernes reposent sur l'existence d'une fonction facile à calculer qui possède une fonction réciproque difficile à calculer. C'est ce qui permet de chiffrer un message qui sera difficile à décrypter (sans la clé).
La plupart des chiffrements (méthode de cryptographie) reposent sur le fait que la procédure de Décomposition en produit de facteurs premiers n'a pas d'algorithme efficace connu. Si quelqu'un trouvait un tel algorithme il serait capable de décrypter la plupart des cryptogrammes facilement. On sait d'ailleurs qu'un calculateur quantique en serait capable, mais ce genre d'ordinateur n'existe pas, en tout cas pour le moment.
Plus récemment, et à la frontière avec la logique mathématique : la Correspondance de Curry-Howard a jeté un pont entre le monde des démonstrations formelles et celui des programmes.
Citons aussi l'étude de la mécanisation des procédés de calcul et de pensée qui a permis de mieux comprendre la réflexion humaine, et apporté des éclairages en psychologie cognitive et en linguistique[19],[20].
Le terme techniques de l'information et la communication désigne un secteur d'activité et un ensemble de biens qui sont des applications pratiques des connaissances scientifiques en informatique ainsi qu'en électronique numérique, en télécommunication, en sciences de l'information et de la communication et en cryptologie.
Le système de numération binaire est le système utilisé aujourd'hui dans tous les appareils en électronique numérique pour représenter l'information sous une forme qui peut être manipulée par des composants électroniques.
Les appareils informatiques sont équipés de quatre unités qui servent respectivement à entrer des informations, les stocker, les traiter puis les faire ressortir de l'appareil. Les informations circulent entre les pièces des différentes unités par des lignes de communication - les bus. Le processeur est la pièce centrale qui anime l'appareil en suivant les instructions des programmes qui sont enregistrés à l'intérieur.
Il existe aujourd'hui une gamme étendue d'appareils capables de traiter automatiquement des informations.
De ces appareils, l’ordinateur est le plus connu, le plus ouvert, le plus complexe et un des plus anciens. L'ordinateur est une machine modulable et universelle qui peut être adaptée à de nombreuses tâches par ajout de matériel et/ou de logiciel.
Un système embarqué est un appareil équipé de matériel et de logiciel informatique, et dédié à une tâche bien précise. Ci-dessous quelques exemples :
Le matériel informatique (ou hardware, de l'anglais) est un assemblage d'équipements qui peuvent être de différentes marques. Le respect des normes industrielles par les différents fabricants assure le fonctionnement de l'ensemble.
L'intérieur du boîtier d'un appareil informatique contient un ou plusieurs circuits imprimés sur lesquels sont soudés des composants électroniques et des connecteurs. La carte mère est le circuit imprimé central, sur lequel sont connectés tous les autres équipements.
Les périphériques sont par définition les équipements situés à l'extérieur du boîtier.
Un bus est un ensemble de lignes de communication qui servent aux échanges d'information entre les composants de l'appareil informatique. Les informations sont transmises sous forme de suites de signaux électriques. Chaque impulsion électrique correspond à un bit (la plus petite information manipulable par informatique).
Les périphériques d'entrée servent à commander l'appareil informatique ou à y envoyer des informations.
L'envoi des informations se fait par le procédé de numérisation.
L'ensemble des dispositifs de commande et les périphériques de sortie directement associés forment une façade de commande appelée interface homme-machine.
La numérisation est le procédé de transformation d'informations brutes (une page d'un livre, les listes des éléments périodiques...) en suites de nombres binaires pouvant être manipulées par un appareil informatique. La transformation est faite par un circuit électronique. La construction du circuit diffère en fonction de la nature de l'information à numériser.
Une mémoire est un dispositif électronique (circuit intégré) ou électromécanique destiné à conserver des informations dans un appareil informatique.
Un processeur est un composant électronique qui exécute des instructions.
Un appareil informatique contient au minimum un processeur, voire 2, 4, ou plus. Les ordinateurs géants contiennent des centaines, voire des milliers de processeurs.
L'acronyme CPU (en anglais Central Processor Unit) désigne le ou les processeurs centraux de l'appareil. L'exécution des instructions par le ou les CPU influence tout le déroulement des traitements.
Voir aussi : Microprocesseur multi-cœur.
Les équipements de sortie servent à présenter les informations provenant d'un appareil informatique sous une forme reconnaissable par un humain.
Les équipements de réseau sont relatifs à la communication d'informations entre des appareils informatiques. Ils servent à l'envoi d'informations, à la réception, à la retransmission, et au filtrage.
Les communications peuvent se faire par câble, par onde radio, par satellite, ou par fibre optique.
Un protocole de communication est une norme industrielle relative à la communication d'informations. La norme établit autant le point de vue électronique (tensions, fréquences) que le point de vue informationnel (choix des informations, format) ainsi que le déroulement des opérations de communication (qui initie la communication, comment réagit le correspondant, combien de temps dure la communication, …).
Selon le modèle OSI - qui comporte 7 niveaux, une norme industrielle (en particulier un protocole de communication) d'un niveau donné peut être combinée avec n'importe quelle norme industrielle d'une couche située en dessus ou en dessous.
Une carte réseau est un circuit imprimé qui sert à recevoir et envoyer des informations conformément à un ou plusieurs protocoles.
Un modem est un équipement qui sert à envoyer des informations sous forme d'un signal électrique modulé, ce qui permet de les faire passer sur une ligne de communication analogique telle une ligne téléphonique.
Un logiciel est un ensemble d'informations relatives à un traitement automatisé. Un logiciel contient des suites d'instructions qui décrivent en détail les algorithmes en rapport avec un traitement d'informations ainsi que les informations relatives à ce traitement (valeurs clés, textes, images, etc.).
Un appareil informatique peut contenir de très nombreux logiciels, organisés en trois catégories :
Un logiciel embarqué, un logiciel libre, un logiciel propriétaire font référence à une manière de distribuer le logiciel. Voir « Marché de l'informatique ».
Les algorithmes des logiciels font usage des résultats des recherches en intelligence artificielle. Et les logiciels font souvent usage de métaphores : il s'agit d'une pratique du langage qui consiste à expliquer une situation nouvelle en faisant analogie à une situation antérieure et connue. Dans un logiciel qui automatise une activité, les automatismes du logiciel sont présentés sous forme de symboles qui représentent les activités effectués par des « acteurs ». Avant l'automatisation de l'activité, ces acteurs étaient des humains ou des machines.
Les instructions disponibles diffèrent d'un processeur à l'autre. Un logiciel donné peut fonctionner uniquement sur un appareil informatique dont le jeu d'instructions du processeur correspond à celui qui est utilisé par ce logiciel. Le processeur est alors dit compatible avec le logiciel, et inversement.
Un logiciel applicatif ou application informatique contient les instructions et les informations relatives à une activité automatisée par un appareil informatique (informatisée). Il peut s'agir d'une activité de production (exemple : activité professionnelle), de recherche, ou de loisir.
Lire en ligne : IEEE Computer Society - Keywords[22].
Un logiciel système contient les instructions et les informations relatives à des opérations de routine susceptibles d'être exécutées par plusieurs logiciels applicatifs. Un logiciel système sert à fédérer, unifier et aussi simplifier les traitements d'un logiciel applicatif. Les logiciels systèmes contiennent souvent des bibliothèques logicielles.
Lorsqu'un logiciel applicatif doit effectuer une opération de routine, celui-ci fait appel au logiciel système par un mécanisme appelé appel système. La façade formée par l'ensemble des appels systèmes auquel un logiciel système peut répondre est appelée Interface de programmation ou API (acronyme de l'anglais Application programming Interface).
Un logiciel applicatif effectue typiquement un grand nombre d'appels système, et par conséquent peut fonctionner uniquement avec un système d'exploitation dont l'interface de programmation correspond. Le logiciel est alors dit compatible avec ce système d'exploitation, et inversement.
Le système d'exploitation est un logiciel système qui contient l'ensemble des instructions et des informations relatives à l’utilisation commune du matériel informatique par les logiciels applicatifs.
Les traitement effectués par le système d'exploitation incluent : répartition du temps d'utilisation du processeur par les différents logiciels (multitâche), répartition des informations en mémoire vive et en mémoire de masse. En mémoire de masse les informations sont groupées sous formes d'unités logiques appelées fichiers.
Les traitements effectués par le système d'exploitation incluent également les mécanismes de protection contre l'utilisation simultanée par plusieurs logiciels applicatifs d'équipements de matériel informatique qui par nature ne peuvent pas être utilisés de manière partagée (voir exclusion mutuelle).
POSIX est une norme industrielle d'une interface de programmation qui est appliquée dans de nombreux systèmes d'exploitation, notamment la famille UNIX.
L’environnement graphique est le logiciel système qui organise automatiquement l'utilisation de la surface de l'écran par les différents logiciels applicatifs et redirige les informations provenant des dispositifs de pointage (souris). L'environnement graphique est souvent partie intégrante du système d'exploitation.
Une base de données est un stock structuré d'informations.
Un système de gestion de base de données (sigle : SGBD) est un logiciel système dont les traitements consistent à l'organisation du stockage d'informations dans une ou plusieurs bases de données. Les informations sont disposées de manière à pouvoir être facilement modifiées, triées, classées, ou supprimées. Les automatismes du SGBD incluent également des protections contre l'introduction d'informations incorrectes, contradictoires ou dépassées[23].
Le micrologiciel est souvent distribué sur une puce de mémoire morte qui fait partie intégrante du matériel en question.
Le traitement de l'information s'appliquant à tous les domaines d'activité, on[Qui ?] pourra les trouver associés au mot informatique. Ainsi on[Qui ?] pourra parler d'informatique médicale si ces outils sont utilisés par exemple dans l'aide au diagnostic, et ce champ d'activité se rapportera plutôt à l'informatique scientifique décrit ci-dessous ; ou bien on[Qui ?] parlera d'informatique bancaire ; il s'agira alors soit des systèmes d'information bancaire qui relèvent plutôt de l'informatique de gestion, de la conception et de l'implantation de produits financiers qui relève plutôt de l'informatique scientifique et des mathématiques, ou encore de l'automatisation des salles de marché qui en partie relève de l'informatique temps réel. On[Qui ?] peut schématiquement distinguer les grands différents types suivants :
L'informatique est un important secteur d'activité scientifique et industriel aux États-Unis, en Europe et au Japon. Les produits et services de cette activité s'échangent dans le monde entier. Les produits tels que les connaissances, les normes, les logiciels ou les langages de programmation circulent très rapidement par l'intermédiaire des réseaux informatiques et de la presse spécialisée, et sont suivis par les groupes de veille technologique des entreprises et des institutions. Les matériels informatiques peuvent être conçus sur un continent et construits sur un autre.
L'anglais international est devenu la langue véhiculaire de tout le secteur d'activité. C'est la langue des publications scientifiques, ainsi que de nombreux ouvrages techniques. La grande majorité des langages de programmation utilisent le vocabulaire anglais comme base. De nombreux termes apparaissent aux États-Unis. Les organismes de standardisation internationaux, du type OASIS, W3C, ... créent souvent des acronymes pour désigner de nouveaux produits. Il arrive que des entreprises créent des termes pour désigner une nouvelle activité : le mot e-business (terme ronflant) a été inventé par IBM.
Dans les pays francophones, il peut être intéressant d'adopter, au moins partiellement, une terminologie en français, et ceci pour plusieurs raisons :
On trouve dans le monde environ 1 milliard de micro-ordinateurs[25], 300 000 stations de travail, quelques dizaines de milliers de mainframes, et 2 000 superordinateurs en état de marche.
On ne connaît pas avec certitude la part de marché occupée par l'industrie des systèmes embarqués, mais on estime que l'informatique représente le tiers du coût d'un avion ou d'une voiture[26].
La distribution des produits informatiques est faite sous la forme de multiples canaux de distribution, parmi lesquels on compte la vente directe, le e-commerce, les chaînes de revendeurs, les groupements de revendeurs, la vente par correspondance.
Les grossistes informatiques ont un rôle clef dans la distribution informatique et sont un point de passage quasi obligé pour les sociétés qui ont choisi la vente indirecte (par un réseau de revendeurs). Les grossistes, qu'ils soient généralistes ou spécialisés, adressent la multitude de petits points de vente ou les sociétés de service pour lesquelles l'activité de négoce représente un volume d'activité faible.
Aujourd'hui la plupart des constructeurs sont spécialisés soit dans le matériel, soit dans le logiciel, soit dans les services.
Apple et Sun sont parmi les seuls constructeurs spécialisés à la fois dans le matériel et le logiciel. IBM et HP sont parmi les seuls constructeurs spécialisés à la fois dans le matériel et les services.
Dans le sultanat d'Oman entre 2002 et 2005, 16 % des ventes concernaient du logiciel, 30 % concernait des ordinateurs, 28 % concernait des services, et 25 % concernait des équipements de transmission[27].
En Autriche, en 2007, 21 % des ventes concernent le logiciel, 34 % concernent le matériel, et 45 % concernent des services[28].
Historiquement, le matériel informatique était distribué par les grands constructeurs qui traitaient en direct avec leurs clients ; la plupart de ceux-ci étant de grandes entreprises ou des organismes publics. Les logiciels étaient créés par les clients. Les constructeurs fournissaient uniquement un système d'exploitation, et assistaient leurs clients par l'organisation de cours de programmation à la formation des analystes programmeurs. Au fur et à mesure de la baisse des prix des systèmes, le marché s'est élargi, obligeant plusieurs constructeurs à se structurer pour mieux diffuser leur produit et à s'appuyer sur des partenaires.
Ces partenaires étaient au départ mono-marque et travaillaient souvent sous la forme d'agent semi-exclusif, puis ils se sont transformés au fil du temps en revendeurs indépendants multi-marques.
Dans les années 1980, en même temps que les premiers micro-ordinateurs, sont apparus les premiers éditeurs spécialisés dans le logiciel.
Depuis 1987, le marché du micro-ordinateur est le principal secteur du marché informatique, et les micro-ordinateurs, initialement utilisés à des fins domestiques, sont désormais largement utilisés dans les entreprises et les institutions, où ils tendent à remplacer les stations de travail et les mainframes.
Du fait de la croissance très rapide du marché, vecteur de forte concurrence, de nombreuses sociétés ont disparu dans les années 1980. Des 14 grands fabricants de l'époque, il n'en reste aujourd'hui[Quand ?] plus que deux[29].[Qui ?]
L'ordinateur est un appareil modulable, construit par assemblage de composants de différentes marques.
Le développement et la construction des composants est le fait de quelques marques très spécialisées. La majorité des constructeurs d'ordinateurs sont des assembleurs : un assembleur est une société qui vend des ordinateurs construits par assemblage de composants provenant d'autres marques, y compris de concurrents.
En 1965, Gordon Earle Moore, co-fondateur d'Intel, un grand fabricant de microprocesseurs, émettait la Loi de Moore. Cette loi, basée sur l'observation, prévoit que la complexité des microprocesseurs doublerait tous les 18 mois. Quarante ans plus tard, cette observation se confirme toujours. Selon le magazine Ligne de crédit, l'alignement à la Loi de Moore n'est pas le fait du hasard, mais une volonté de l'industrie informatique[30].
Le matériel informatique est aujourd'hui produit par diverses multinationales, majoritairement du Japon et de Taïwan. Exemples :
En Autriche, les principales marques d'ordinateur sont, en 2007 : Hewlett-Packard (Palo Alto, États-Unis), Dell, (Round Rock, États-Unis), Fujitsu (Japon), Siemens (Berlin, Allemagne), Sony (Tokyo, Japon) et Acer (Taïwan)[31].
Les principales marques de consoles de jeux sont en 2007 : Sony (Tokyo, Japon), Nintendo (Kyoto, Japon), et Microsoft (Redmond, États-Unis)[32].
La fabrication d'un logiciel (développement) demande très peu de moyens techniques, et beaucoup de temps et de savoir-faire.
Il existe aujourd'hui un très grand nombre d'auteurs de logiciels, il peut s'agir de multinationales comme Microsoft, de petites entreprises locales, voire de particuliers ou de bénévoles.
Des entreprises, qui utilisent du matériel informatique pour leurs propres besoins, ont souvent des équipes spécialisées, qui créent des logiciels sur mesure pour les besoins de l'entreprise. Ces logiciels ne seront jamais mis sur le marché.
Dans des secteurs industriels comme par exemple l'aviation, il existe des équipes qui créent des logiciels pour intégrer dans les systèmes embarqués de ce secteur. Ces logiciels ne sont jamais mis sur le marché séparément.
Un logiciel étant un ensemble d'informations, il peut être transmis par les moyens de télécommunications. Le téléchargement est l'opération qui consiste à utiliser un réseau de télécommunication pour récupérer un logiciel en provenance d'un autre appareil. Le e-commerce est l'activité qui consiste à vendre des logiciels (ou d'autres biens) en les distribuant par des réseaux de télécommunication comme par exemple Internet.
Un logiciel libre (ou open source) est un logiciel que n'importe qui peut utiliser, étudier, modifier et redistribuer librement. Un tel logiciel peut être soumis au droit d'auteur (sous une certaine licence) ou non (dans le domaine public). Les logiciels libres sont généralement distribués gratuitement.
Un logiciel propriétaire est un logiciel non libre.
Un gratuiciel (en anglais freeware) est un logiciel gratuit.
Un shareware est un logiciel propriétaire qui est gratuit pendant une période d'essai et payant ensuite. De nombreuses variantes de shareware existent, selon le paiement demandé (qui est parfois un don à une organisation caritative, l'envoi d'une carte postale à l'auteur...) et le fonctionnement du logiciel à la fin de la période d'essai (le logiciel peut ne plus être utilisable, ou le rester mais avertir fréquemment l'utilisateur qu'il doit l'acheter, etc.).
Un micrologiciel (en anglais firmware) est un logiciel incorporé dans un matériel informatique, et indissociable de celui-ci.
Un progiciel est un logiciel prêt-à -porter et générique prévu pour répondre à un besoin ordinaire. Par opposition à un logiciel développé sur mesure en vue de répondre à un besoin spécifique (tel qu'un logiciel développé par l'équipe spécialisée d'une entreprise).
Il existe aujourd'hui une offre très large de logiciels, de tous les types: libres, propriétaires, shareware, freeware.
L'industrie du logiciel est un des principaux secteurs économiques en Europe et aux États-Unis. De nombreux constructeurs de logiciels sont aux États-Unis. La création de logiciels applicatifs représente 52 % de l'activité[33].
Si le Japon est un des pays les mieux équipés en matériel informatique, on y trouve les plus grands fabricants de matériel, il n'en va pas de même pour le logiciel, et de nombreux logiciels posent des problèmes pour l'écriture de textes en utilisant l'alphabet japonais[34].
Il existe maintenant (en 2008) environ 80 systèmes d'exploitation différents. Le marché est largement occupé par la famille Windows : cette famille de systèmes d'exploitation, propriété de Microsoft (Redmond, États-Unis) occupe environ 90 % du marché des systèmes d'exploitation pour ordinateurs personnels. La société Microsoft a fait l'objet de divers procès pour monopolisation du marché[35].
GNU est un projet de système d'exploitation lancé en 1985, entièrement basé sur des produits open source. Linux est un système d'exploitation open source, écrit par une équipe de plus de 3 200 bénévoles. La valeur de revente de Linux est estimée à plus de 1,4 milliard de dollars[36].
L'offre en logiciels libres consiste notamment en des ensembles qui contiennent à la fois des produits GNU et Linux. Ils sont distribués avec des magazines, ou mis à disposition pour le téléchargement.
Le piratage consiste à mettre à disposition un logiciel sans le consentement de son éditeur, lorsque sa licence ne l'autorise pas.
La licence d'utilisation s'apparente à un contrat (dont la valeur juridique varie selon les pays) accepté implicitement par tout acheteur d'un logiciel (ou explicitement lors de l'installation ou du premier lancement de celui-ci).
Par cette licence, l'éditeur autorise notamment l'acheteur à utiliser le logiciel. La vente de licences d'utilisation est la première source de revenus de nombreux éditeurs logiciels et le piratage représente pour eux un important manque à gagner.
Le piratage consiste pour un tiers (pirate) à vendre des copies d'un logiciel, parfois légalement acquis. Ce qui signifie prétendre octroyer aux acheteurs le droit d'utiliser le logiciel à l'insu et contre le gré de l'éditeur. Le logiciel copié est parfois strictement identique à l'original, mais la licence n'est pas authentique et la vente constitue un acte de contrefaçon. Le piratage touche le marché du logiciel comme les marchés d'autres biens immatériels tels que la musique ou la vidéo.
Les éditeurs vendent souvent leur logiciel accompagné de services tels que garantie et mises à jour, des services qui ne sont, la plupart du temps, disponibles que sur les logiciels légalement acquis.
Le nombre de copies de logiciels vendues par des pirates est plus ou moins élevé selon les pays. Selon la Business Software Alliance, en Algérie 85 % des logiciels vendus en 2008 seraient issus du piratage[37]. Toujours selon la Business Software Alliance, au Luxembourg, ce taux aurait été de 21 % en 2007, ce qui serait le taux le plus bas du monde[38].
Le marché des services est un marché relativement récent et en forte progression. Le commerce de services consiste principalement en la vente et l'exécution de mandats concernant des modifications sur des systèmes d'information d'entreprises ou de collectivités.
Les systèmes d'information des entreprises sont parfois composés de centaines d'ordinateurs, sur lesquels sont exécutés des centaines de logiciels de manière simultanée. Il existe de nombreux liens entre les différents logiciels et les différents ordinateurs, et le simple fait d'arrêter un seul des éléments risque de déranger des milliers d'usagers, voire de provoquer le chômage technique de l'entreprise.
Selon le cabinet Gartner Dataquest, les services informatiques ont généré 672,3 milliards de dollars dans le monde en 2006. Soit un marché en augmentation de 6,4 % par rapport à 2005[39].
Un consultant est une personne chargée d'une mission de services.
De nombreuses SSII se trouvent aux États-Unis et en Inde. Parmi les leaders du marché on trouve IBM - la plus ancienne société d'informatique encore en activité, ainsi que EDS, Accenture et Hewlett-Packard, toutes originaires des États-Unis.
Les principaux sujets des mandats sont la création de logiciels sur mesure, la mise en place de progiciels et la modification des fichiers de configuration en fonction des besoins, des opérations de réglage, d'expertise et de surveillance du système informatique. En France la majorité des constructeurs de logiciels sont des SSII.
L'informaticien est d'une manière générale une personne qui travaille dans le secteur de l'informatique. Il existe dans ce secteur diverses activités qui sont orientées vers la création de logiciels ou la maintenance d'un système informatique - matériel et logiciels.
Le secteur dépend également des activités des fabricants de semiconducteurs et de pièces détachées, des assembleurs, ainsi que des fournisseurs de télécommunication et des services d'assistance.
La maintenance d'un système informatique consiste à la préparation d'ordinateurs tels que serveurs, ordinateurs personnels, ainsi que la pose d'imprimantes, de routeurs ou d'autres appareils. L'activité consiste également au dépannage des machines, à l'adaptation de leur configuration, l'installation de logiciels tels que systèmes d'exploitation, systèmes de gestion de base de données ou logiciels applicatifs, ainsi que divers travaux de prévention des pannes, des pertes ou des fuites d'informations telles que l'attribution de droits d'accès ou la création régulière de copies de sauvegarde (backup en anglais).
Le directeur informatique décide des évolutions du système informatique dans les grandes lignes, conformément à la politique d'évolution de la société qui l'emploie. Il sert d'intermédiaire entre les fournisseurs et les clients (employés de l'entreprise), ainsi que la direction générale. Il propose des budgets, des évolutions, puis mandate des fournisseurs pour des travaux.
L'ingénieur système travaille à la mise en place et l'entretien du système informatique : la pose de matériel informatique, l'installation de logiciels tels que systèmes d'exploitation, systèmes de gestion de base de données ou logiciels applicatifs, et le réglage des paramètres de configuration des logiciels.
L'administrateur de bases de données est chargé de la disponibilité des informations contenues dans des bases de données et la bonne utilisation des systèmes de gestion de base de données - les logiciels qui mettent à disposition les informations et qui occupent une place stratégique dans de nombreuses entreprises. Il s'occupe des travaux de construction, d'organisation et de transformation des bases de données, ainsi que du réglage des paramètres de configuration du système de gestion de base de données et de l'attribution de droit d'accès sur le contenu des bases de données.
Le responsable d'exploitation veille à la disponibilité constante du système informatique. Il effectue des tâches de sauvegarde régulière en vue de prévenir la perte irrémédiable d'informations, organise les travaux de transformation du système informatique en vue limiter la durée des mises hors service et attribue des droits d'accès en vue de limiter les possibilités de manipulation du système informatique au strict nécessaire pour chaque usager - ceci en vue de prévenir des pertes ou des fuites d'information.
Le génie logiciel consiste à la création de nouveaux logiciels ainsi que la transformation et la correction de logiciels existants. En font partie la définition d'un cahier des charges pour le futur logiciel, l'écriture du logiciel dans un ou l'autre langage de programmation, le contrôle du logiciel créé, la planification et l'estimation du budget des travaux.
Dans une équipe d'ingénieurs, le chef de projet est chargé d'estimer la durée des travaux, d'établir un planning, de distribuer les tâches entre les différents membres de l'équipe, puis de veiller à l'avancée des travaux, au respect du planning et du cahier des charges. Le chef de projet participe également à la mise en place du logiciel chez le client et récolte les avis des usagers.
L'analyste-programmeur est chargé d'examiner le cahier des charges du futur logiciel, de déterminer la liste de les toutes les tâches de programmation nécessaire pour mettre en œuvre le logiciel. Il est chargé de déterminer les automatismes les mieux appropriés en fonction du cahier des charges et des possibilités existantes sur le système informatique. L'analyste-programmeur est ensuite chargé d'effectuer les modifications nécessaires dans le logiciel, de rédiger ou de modifier le code source du logiciel et de vérifier son bon fonctionnement.
L'architecte des systèmes d'informations est chargé de déterminer, d'organiser et de cartographier les grandes lignes de systèmes informatiques ou de logiciels. Il réalise des plans d'ensemble, détermine les composants (logiciel et matériel) principaux de l'ensemble, ainsi que les flux d'informations entre ces composants. Lors de la création de nouveaux logiciels il est chargé de découper le futur logiciel en composants, puis d'organiser et de cartographier le logiciel et les produits connexes.
Les entreprises et les institutions qui ont un système informatique de grande ampleur ont souvent une équipe d'informaticiens qui travaillent à la maintenance du système ainsi qu'à la création de logiciels pour le compte de l'entreprise. Cette équipe, dirigée par le directeur informatique peut faire appel à des éditeurs de logiciel ou des sociétés de services en ingénierie informatique (abréviation SSII) pour certains travaux. Par exemple, lorsque l'équipe interne est trop peu nombreuse ou ne possède pas les connaissances nécessaires. Les entreprises peuvent également faire appel à des consultants - des employés d'une société tierce - pour prêter main forte ou conseiller leur équipe sur un sujet précis.
L'infogérance consiste à déléguer toute la maintenance du système d'information à une société de services. Ces services sont parfois réalisés offshore : des équipes délocalisées dans un pays lointain pilotent les ordinateurs à travers les réseaux informatiques (télémaintenance).
On applique souvent l'adjectif « virtuel » ou « immatériel » aux produits de l'informatique, ce qui pourrait laisser croire que l'informatique est peu consommatrice de ressources naturelles. Jean-Marc Jancovici montre que la dématérialisation, souvent présentée comme une solution pour le développement durable de l'économie, ne s'est pas accompagnée d'une diminution des flux physiques par rapport aux flux d'information[40]. En pratique, dans les années 2010, les directions des systèmes d'information sont généralement tenues à l'écart des programmes de développement durable des entreprises.
On se rend compte aujourd'hui, avec les premières études des experts en informatique verte, que l'informatique serait directement à l'origine de 5 % des émissions de gaz à effet de serre de la France[41]. L'informatique générerait également une forte consommation d'électricité.
L'application des principes de développement durable à l'informatique se décompose en plusieurs étapes principales[42]. Très schématiquement :
À terme, le développement durable devrait faire évoluer les modèles employés en informatique. Il est en effet nécessaire d'expliciter la sémantique des données, documents ou modèles, ce qui relève de la branche de l'informatique appelée représentation des connaissances. Plusieurs projets en écoinformatique se déroulent dans le cadre d'initiatives telles que le web sémantique[43].
Cet article est issu de l'encyclopédie libre Wikipedia.