Informatique
1493
31826551
2008-07-23T17:39:19Z
82.252.212.87
{{à sourcer|date=date inconnue}}
L''''informatique''' ('''infor'''mation auto'''matique''') désigne l'automatisation du traitement de l'[[information]] par un [[système]], concret ([[machine]]) ou abstrait (on peut parler d'[[automate]]). Dans son acception courante, l'informatique désigne l'ensemble des [[science]]s et [[technique]]s en rapport avec le [[traitement de l'information]]. Dans le parler populaire, l'informatique peut aussi désigner à tort ce qui se rapporte au matériel informatique (l'[[électronique]]), et la [[bureautique]].
À ce sujet on attribue une phrase à [[Edsger Dijkstra]] qui résume assez bien cela :
{{début citation}}L'informatique n'est pas plus la science des [[ordinateur]]s que l'[[astronomie]] n'est celle des [[télescope]]s.<br />(en anglais : ''Computer science is no more about computers than astronomy is about telescopes.''){{fin citation}}
La discipline scientifique désignée par le terme ''informatique'' fait partie des [[sciences formelles]] comme les [[mathématiques]] ou la [[logique mathématique|logique]]. Aujourd'hui, la distinction entre ces trois disciplines est floue, mais l'on peut identifier l'informatique à travers les principales questions abordées :
* qu'est-ce que le calcul ?
* que peut-on calculer ?
* comment calculer efficacement ?
* comment décrire un [[algorithme]] de calcul ?
* comment représenter un certain objet pour pouvoir le traiter?
On peut trouver des racines à la science informatique dans de nombreux domaines anciens des mathématiques ([[systèmes de numération]], [[division euclidienne]], [[construction à la règle et au compas]], etc). Cependant, la discipline n'a émergé qu'à partir des années 1930 à travers une série de travaux fondateurs<ref>A. M. Turing, ''On computable numbers, with an application to the Entscheidungsproblem'' (Proceedings of the London Mathematical Society, ser. 2, vol. 42, pp. 230-265, 1936)</ref><ref>A. Church, ''A note on the Entscheidungsproblem'' (The journal of symbolic logic, vol. 1, 1936)</ref><ref>S. C. Kleene, ''General recursive functions of natural numbers'' (Matematische Annalen, vol. 112, pp. 727-742, 1936)</ref> ([[Church]], [[Gödel]], [[Herbrand]], [[Kleene]],[[Turing]]) qui ont aboutit à la première formalisation générale de ce qu'est le calcul. La force de cette formalisation est de faire converger plusieurs points de vue vers une même et unique notion :
* un point de vue ''mécanique'' avec les [[machine de Turing|machines de Turing]] universelles qui constituent un véritable modèle d'ordinateur (améliorable en termes d'efficacité, mais toujours valable aujourd'hui en termes de capacités),
* un point de vue ''fonctionnel'' avec le [[lambda-calcul]] qui a donné naissance à de nombreux [[langages de programmation]],
* un point de vue [[arithmétique]] avec les [[Fonctions_récursives#Logique_mathématique_(Calculabilité)|fonctions récursives]] qui a notamment permis de relier la notion de calcul au raisonnement mathématique (voir à ce sujet le [[théorème d'incomplétude de Gödel]]).
Ces trois points de vue donnent un sens très général à la notion de calcul et la [[thèse Church-Turing| thèse]] aujourd'hui largement acceptée est qu'elle capture tout traitement réalisable mécaniquement.
Le second acte de naissance de l'informatique est bien entendu la réalisation concrète des premiers [[ordinateurs]] dans les années 1940, puis le développement de leur fabrication avec l'avènement de l'[[électronique numérique]] pour en faire aujourd'hui un domaine technologique à part entière. Il s'agit bien d'un second acte de naissance car, si les capacités intrinsèques des ordinateurs actuels sont les mêmes que celle du modèle théorique des années 30, leur rapidité de traitement, leur coût (financier, mais aussi en termes de place, de ressources nécessaires, etc), leur longévité et leur fiabilité ont été considérablement améliorés, ouvrant un vaste champ de possibilités auparavant impensables.
Des professions aussi diverses que [[concepteur]], [[analyste (informatique)|analyste]], [[développeur]], [[responsable d'exploitation]], [[ingénieur système]], [[technicien]] de [[maintenance]] matérielle ou logicielle, [[chercheur]] en informatique ou [[wikt:directeur|directeur]] d'un centre de calcul, relèvent du domaine de l'informatique. Néanmoins, le terme ''[[informaticien]]'' désigne le plus souvent ceux qui conçoivent, déploient et mettent en œuvre des solutions.
==Terminologie==
===Origine===
{{Wiktionnaire}}
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)<ref>{{en}} [http://citeseer.ist.psu.edu/cache/papers/cs2/334/http:zSzzSzhelios.informatik.uni-kl.dezSzeuology.pdf/unknown.pdf Karl Steinbuch], Bernard Widroww, Reiner Hartensetein, Robert Hechtnielsen</ref>.
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]], qui, en [[1962]], a utilisé pour la première fois ce terme dans la désignation de son entreprise « Société d'Informatique Appliquée » (SIA). à partir des mots « ''information'' » et « ''automatique'' »<Ref>[http://www.volle.com/opinion/informatique.htm Michel Volle - étymologie du mot informatique]</Ref>.
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 cette nouvelle discipline. 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{{refnec}}<!-- D'ou vient l'idée que le mot est bien dérivé du français alors qu'il existe un usage antérieur en allemand ? -->. Le mot ''informatica'' fit alors son apparition en [[Italie]] et en [[Espagne]], de même qu'''informatics'' au [[Royaume-Uni]].
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{{refnec}}<!-- Knuth dit que le mot a été délibérement écarté par les américains pour des raisons techniques et pas pour un pb de marque -->.
===Évolution récente===
L'évolution récente tend à employer plutôt l'expression STIC en français, pour sciences et technologies de l'information et de la communication.
Le mot communication tend à donner une importance excessive aux échanges et aux ''accès'', par rapport aux ''contenus'' des bases de données de connaissances, dans une optique de gestion de connaissances (''knowledge management'').
C'est la raison pour laquelle certains experts, comme Bernard Besson, préfèrent remplacer TIC par l'expression [[TICC]], pour technologies de l'information, de la communication et de la connaissance.
=== Terminologie anglo-saxonne ===
La traduction anglaise de ''informatique'' est ''computer science'', littéralement « science du calculateur ». En français, l'expression ''science du [[calcul (mathématiques)|calcul]] (computing science)'' fait plutôt penser à ''informatique scientifique''.
En anglais les termes distincts suivants sont utilisés :
* ''Informatics'' (science de l'information) : Ce qui ressort de l'étude des systèmes, biologiques ou artificiels, qui enregistrent, traitent et communiquent l'information. Ceci comprend l'étude des systèmes neuraux, aussi bien que les systèmes informatiques.
* ''Computer science'' (l'[[Informatique théorique]]) : Ce qui ressort de l'''[[épistémologie]] procédurale'', soit notamment de l'étude des [[Algorithmique|algorithmes]], et donc indirectement des logiciels et des ordinateurs.
* ''Computer engineering'' ([[Génie informatique]]) : ce qui ressort de la fabrication et de l'utilisation du matériel informatique.
* ''Software engineering'' ([[Génie logiciel]]) : Ce qui ressort de la ''modélisation'' et du ''développement'' des logiciels ; ceci comprend deux aspects : les [[données]] et les [[traitement]]s ; les deux aspects sont liés dans la mise en pratique des traitements de données (''Data Processing''). En France, en pratique, l'expression ''ingénierie informatique'' correspond plutôt à ''software engineering'', soit l'ingénierie logiciel.
* ''Information technology engineering'' ([[Génie des technologies de l'information]]) : ce qui ressort de l'intégration des techniques et des technologies relatif à l'information et reliées à l'informatique ainsi qu'à l'[[internet]] ''(par exemple : le [[e-business]])''
* ''Information Technology'' ([[Technologies de l'information]]) : Représente l'évolution des [[technique]]s et des [[technologie]]s reliées à l'informatique.
Il existe plusieurs termes anglais pour désigner le concept d'« informatique ». Certains comme ''automatic data processing'' ou '' [[:en:electronic data processing|electronic data processing]]'' et leur abréviation reflètent une vision plus ancienne et ne sont plus guère utilisés. Même ''data processing'' est parfois considéré par certains informaticiens professionnels comme propre à la langue des administrateurs et des non-informaticiens (dans le jargon du métier, ''costards'' ou, en anglais, ''suits''). Quant à ''informatics'', il est davantage employé en Europe, selon certaines sources.<ref>[http://www.de-solliers.fr/extraits.htm Dictionnaire encyclopédique anglais vers français d'informatique, de Frédéric de SOLLIERS. Lire la définition de "Information technology"]</ref>
On trouve d'autres variantes peu attestées; c'est le cas de ''[[:en:Computer science|computing science]], electronical data processing, ordinatique, technologie des ordinateurs'' ou ''science de l'informatique''.
Il faut dire que les concepts et la terminologie ont suivi l'évolution de la réalité. Ainsi, les ordinateurs, qui effectuaient autrefois des opérations relativement simples de calcul sur des données, traitent de façon de plus en plus complexe, aujourd'hui, de l'information autrement plus significative (connaissances et savoir-faire). De la désignation ''informatique'', on est passé peu à peu à celle de ''technologies de l'information''. On voit poindre, dans certains milieux, des appellations comme ''technologies'' ou ''nouvelles technologies de l'information et de la communication'' qui cèderont peut-être leur place à une autre dénomination qui reflètera le traitement des connaissances, des savoir-faire et même de « l'intelligence ». Progressivement le terme informatique glisse vers un sens plus restreint relié aux aspects techniques.
==Histoire==
{{Article détaillé|Histoire de l'informatique}}
===Les origines===
Depuis des millénaires, l'[[Homme]] a créé et utilisé des [[instrument de calcul|outils l'aidant à calculer]] ([[abaque (calcul)|abaque]], [[boulier]], etc.). Parmi les [[Algorithmique|algorithmes]] les plus anciens, on compte des tables datant de l'époque d'[[Hammurabi]] (env. [[-1750]]). Les premières machines mécaniques apparaissent entre le [[XVIIe siècle|XVII{{e}}]] 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 [[Table rudolphine|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 [[musée des Arts et Métiers|Arts et métiers]] et dans des collections privées (IBM).
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 par les travaux d'[[Archimède]]).
Cependant, il faudra attendre la définition du concept de [[programmation]] (illustrée en premier par [[Joseph Marie Jacquard]] avec ses [[métier à tisser|métiers à tisser]] à [[Carte perforée|cartes perforées]], suivi de [[George Boole|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.
===La mécanographie===
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'Allemand Hollerith, à la fin du {{s-|XIX|e}}. Elles 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 {{s-|XIX|e}}. Les Allemands étaient probablement bien équipés en machines mécanographiques avant la Seconde Guerre mondiale. Ces équipements, installés par ateliers composés de trieuses, interclasseuses, perforatrices, tabulatrices et calculatrices connectées à des perforateurs de cartes ont dû leur apporter une certaine supériorité pour la construction des armements. Toutefois, ceci n'a pas été examiné en profondeur par les historiens. Leur moindre mérite n'est pas la réussite du programme. On ne pouvait pas encore parler d'informatique, car les traitements étaient exécutés à partir de techniques électromécaniques et basés sur l'usage de lampes radio ; anodes, cathodes, triodes etc. La chaleur dégagée par ces lampes rendait ces ensembles peu fiables.
===Science des nombres et [[Système de numération]]===
Examen de quelques systèmes numériques de jadis à nos jours.
* Du système binaire inventé par G. Boole, utilisé par les ordinateurs au dénombrement restreint du 1-2-3 pour dire beaucoup à partir de 4 en usage chez les primitifs, les hommes ont utilisé des systèmes numériques qui indiquent le degré de culture ou de vigilance des peuples auprès desquels ils étaient en application.
* Les Sumériens utilisaient le système sexagésimal encore utilisé de nos jours pour mesurer l’heure qui compte 60 minutes divisées en 60 secondes. Il fut repris par les Grecs pour leurs calculs astronomiques, dans le calcul des angles et du temps.
* Les Romains se servaient de leurs 10 doigts et pratiquaient le système décimal pour constituer des centuries de légionnaires. Ils marquaient les milliers par un cercle barré verticalement. Déformé ce signe a donné le « M » pour désigner 1 000 et la moitié de ce symbole pour le « D » pour désigner 500. Le système décimal en application chez les [[Numération romaine|Romain]]s sans la connaissance des chiffres arabes, ne facilitait pas la tâche [[arithmétique]] des intendants chargés de faire les comptes.
* Les Celtes pour leur part allaient jusqu'à utiliser en plus les dix doigts de pieds, ce qui élargissait leur système numérique à 20. Les derniers Celtes sur le continent, de nos jours, utilisent encore ce système pour apprécier toutes les valeurs quantitatives de la vie courante.
* Lors d'un safari poils, plumes et aux phacochères au Sénégal, on peut découvrir le système quincal utilisé par les Sérères. Pourquoi émanant des Sérères ? Parce que les Sérères incarnent la tribu de chasseurs au [[Sénégal]]. La population sénégalaise comprend quatre ethnies principales. En plus des Sérères, on y rencontre des Wolofs l'ethnie dominante, leur langue étant reconnue langue nationale et le français fait office de langue officielle. Les Toucouleurs et les Peuls forment les deux autres ethnies. Aux Sérères incombaient traditionnellement le rôle de pourvoyeurs de [[gibier]] à l'égard des autres [[ethnie]]s, elles de culture agricole et pastorale. Par hordes, les Sérères effectuaient des déplacements en chassant de village en village armé de courts bâtons, d'arcs et de lances. Le gibier abattu ; pintades, perdreaux et pigeons, l'étaient par ce bâton qu'ils lançaient en virtuose dès que le gibier traqué prenait son envol dans la savane. Phacochères et autres bêtes à sabots étaient chassés à l'arc, à la lance et achevés à la sagaie ou à l'épieu par les porteurs et les [[traqueur]]s. Le système numérique originel des Sérères est quincal. Il est aisé de deviner le pourquoi de cette pratique. Dans l'exécution de leur activité, l'une des mains seulement était disponible pour des occupations annexes. L'autre restait à serrer toujours une arme, le bâton, la sagaie, la lance... pour compter. Den - niet - nient - njar - gurun ; a cinq se fait le report : gurun-den etc. Le produit de la chasse était troqué contre des produits agricoles, textiles, en somme contre des produits de première nécessité pour ces chasseurs ambulants qui cultivaient le souci de se faire respecter. Les bijoux et la céramique occupaient une place de choix dans le troc, ces dames occupent encore et toujours lors de rencontres de tout genre le premier rang pour ne pas figurer parmi les laissés-pour-compte.
* Les Juifs pratiquaient le système numéral le plus élaboré. En exploitant les 12 [[phalange (anatomie)|phalange]]s des huit [[doigt]]s décomptés à l'aide des pouces. Ils ont institué la [[grosse]], une unité de mesure encore en vigueur pour certaines [[marchandise]]s. On y arrive en se servant par exemple du pouce de la main gauche pour décompter les phalanges. Arrivé à la dernière phalange du petit doigt, 4 × 3, permettent d'enregistrer la première douzaine à l'aide du pouce de la main droite qui pointe sur la première phalange de l'index de la main droite. Ce système permet ainsi de compter jusqu'à 144.
Des tablettes d'argile servaient de document aux [[Scribe dans le Proche-Orient ancien|scribes]], assis sur les quais de débarquements pour les prises en charge des arrivages ou dans les entrepôts lors de la sortie ou de l'entrée des marchandises.
Le Romain marquait d'un trait à 10, le Celte à 20 et le juif à 144 arrivé à chaque fin de son système numéral pour enregistrer jusqu'à la dernière pièce les mouvements à enregistrer.
[[George Boole]], mathématicien anglais (1815-1864), fut l’inventeur du système binaire. Sans son système, il n'y aurait pas d'ordinateurs transistorisés qui fonctionnent grâce à des 0 et des 1, qui permettent d'aller en calculs à l'infini.
===L'informatique moderne===
L'ère des ordinateurs modernes commença avec les développements de l'[[électronique]] pendant la [[Seconde Guerre mondiale]], ouvrant la porte à la réalisation concrète de machines opérationnelles. Au même moment, le [[Mathématiques|mathématicien]] [[Alan Turing]] théorise le premier ce qu'est un [[ordinateur]], avec son concept de [[Machine de Turing|machine universelle de Turing]].
L'informatique est donc un domaine fraîchement développé, même s'il trouve ses origines dans l'antiquité (avec la [[cryptographie]]) ou dans la machine à calculer de [[Blaise Pascal]], au {{XVIIe siècle}}. Ce n'est qu'à la fin de la Seconde Guerre mondiale qu'elle a été reconnue comme une discipline à part entière et a développé des méthodes, puis une méthodologie qui lui étaient propres.
Son image a été pendant quelque temps ''surfaite'' : parce que les premiers à programmer des ordinateurs avaient été des ingénieurs rompus à la technique des [[équation différentielle|équations différentielles]] (les premiers ordinateurs, scientifiques, étaient beaucoup utilisés à cette fin), des programmeurs sans formation particulière, parfois d'ailleurs issus de la mécanographie, cherchaient volontiers à bénéficier eux aussi de ce label de ''rocket scientist'' afin de justifier des salaires rendus confortables par :
* le prix élevé des ordinateurs de l'époque (se chiffrant en ce qui serait des dizaines de millions d'euros aujourd'hui compte-tenu de l'[[inflation]], il reléguait au second plan les considérations de parcimonie sur les salaires) ;
* l'aspect présenté comme ''peu accessible'' de leur discipline et un mythe de ''difficulté mathématique'' entretenu autour. En fait, les premiers ordinateurs ne se programmaient pas de façon très différente de celle des ''calculatrices programmables'' utilisées aujourd'hui dans les lycées et collèges, et maîtrisées par des élèves de quatorze ans mais le domaine était nouveau et l'algorithmique nécessite un certain degré de concentration associé, peut-être à tort, à la réflexion pure.
L'émergence d'un aspect réellement scientifique dans la programmation elle-même (et non dans les seules applications scientifiques que l'on programme) ne se manifeste qu'avec la série ''The Art of Computer Programming'' de [[Donald Knuth]], professeur à l'[[Université de Stanford]], à la fin des [[années 1960]], travail monumental encore inachevé en [[2004]]. Les travaux d'[[Edsger Dijkstra]], [[Niklaus Wirth]] et [[Christopher Strachey]] procèdent d'une approche également très systématique et elle aussi quantifiée.
On demandait à [[Donald Knuth]] dans les années [[1980]] s'il valait mieux selon lui rattacher l'informatique (''computer science'') au [[génie électrique]] — ce qui est souvent le cas dans les universités [[États-Unis|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 [[artisan]]al de cette jeune [[science]].
Toutefois, la forte scientificité des trois premiers volumes de son encyclopédie suggère qu'il s'agit là plutôt d'une ''boutade'' de sa part. Au demeurant, la maîtrise de langages comme [[Haskell]], [[Ocaml]] ou même [[APL (langage)|APL]] demande un niveau d'abstraction tout de même plus proche de celui des mathématiques que des deux disciplines citées.
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'[[Secteurs économiques|économie]] comme de la vie de tous les jours.
En France, l'informatique a commencé à vraiment se développer seulement dans les années 1960, avec le Plan Calcul. Beaucoup de choses ont été dites sur ce plan. Comme souvent en Histoire, il peut y avoir des erreurs d'interprétation.
==La science informatique==
{{Article détaillé|Informatique théorique}}
==Technologies de l'information et de la communication==
=== Domaines d'application de l'informatique ===
Le traitement de l'information s'appliquant à tous les domaines d'activité, on pourra les trouver associés au mot ''informatique''. Ainsi on pourra parler d'informatique médicale quand 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 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 peut schématiquement distinguer les grands différents types suivants :
* L'informatique de gestion : elle consiste à piloter les processus de gestion et de ''management'' dans les entreprises, dans tous les domaines d'activité : payes (employés, ouvriers, cadres) et gestion des ressources humaines, administration des ventes, des achats (déclaration de TVA) gestion de la relation client, gestion de la production et des approvisionnements, tenue de stocks ; des entrepôts de produits usinés, des en cours de fabrication, de l'inventaire permanent et des inventaires de fin d'exercice, carnet de commandes, marketing, finances… Ce domaine est de loin celui qui représente la plus forte activité, ce qui n'a pas toujours été perçu en France.
: Jusqu'en [[1965]], la [[mécanographie]], et par la suite la simple mécanisation de la mécanographie connue sous le vocable « informatique fiabilisée par la [[transistor]]isation », savait faire tous ce qui est énuméré ci-dessus, sauf de la [[comptabilité générale]] avec [[suivi des créances]] innové par Le lettrage conversationnel 1962 en Grandes entreprises.
: Gilbert Bitsch, chef de projets à la SACM de Mulhouse, réalisa le premier positionnement de compte sur une tabulatrice IBM 421, réalisation qui ouvrait la comptabilité à l'informatique. Cette révolution en gestion mit fin à l'ère des ateliers de machines comptable en grandes entreprises.
* L'informatique scientifique, qui consiste à aider les ingénieurs de conception dans les domaines de l'ingénierie industrielle à concevoir et dimensionner des équipements à l'aide de programmes de calcul : réacteurs nucléaires, avions, automobiles (langages souvent employés : historiquement le [[Fortran]], de plus en plus concurrencé par [[C (langage)|C]] et [[C++]]). L'informatique scientifique est surtout utilisée dans les bureaux d'étude et les entreprises d'ingénierie industrielle car elle permet de simuler des scénarios de façon rapide et fiable. La [[Scuderia Ferrari]] s'est équipée en 2006 avec un des plus puissants calculateurs du monde afin de permettre les essais numériques de sa [[formule 1]] et accélérer la mise au point de ses prototypes.
* L'informatique temps réel : elle consiste à définir les logiciels de pilotage de systèmes en prise directe avec le monde physique : historiquement d'abord dans l'aéronautique, le spatial, l'armement, le nucléaire, mais maintenant universellement répandu avec la miniaturisation des circuits : automobile, machine à laver, etc.
* L'ingénierie des connaissances (en anglais ''knowledge management'') : il s'agit d'une forme d'ingénierie informatique qui consiste à gérer les processus d'innovation, dans tous les domaines, selon des modèles assez différents de ceux jusqu'alors employés en informatique de gestion. Cette forme d'ingénierie permettra peut-être de mieux mettre en cohérence les trois domaines gestion, temps réel, et scientifique dans l'organisation des entreprises. Elle s'intéresse plus au contenu et à la qualité des bases de données et de connaissances qu'à l'automatisation des traitements. Elle se développe déjà beaucoup aux États-Unis, mais ceci n'est pas encore tout-à-fait perçu en France.
* Il faut enfin citer les applications du renseignement (''intelligence'' en anglais) économique et stratégique, qui font appel aux technologies de l'information, notamment dans l'analyse du contexte, pour la recherche d'informations ([[moteur de recherche|moteurs de recherche]]). D'autre part, dans une optique de développement durable, il est nécessaire de structurer les relations avec les [[parties prenantes]], ce qui fait appel à d'autres techniques telles que les protocoles d'échange et les moteurs de règles.
===Approche fonctionnelle===
Comme énoncé ci-dessus, l'informatique est le traitement automatisé de données par un appareil électronique : l'ordinateur ; les germanophones parlent de ''elektronische Datenverarbeitung / EDV'' (« traitement électronique de données »), les anglophones d'''information technology / IT'' (« technologies de l'information »), c'est-à-dire :
* '''données''' ou '''informations''' : ''in fine'', l'ordinateur manipule des suites ou des paquets de 0 et de 1 qui servent à représenter toutes sortes d'informations :
** des... nombres bien évidemment, dans le cas de calculs scientifiques (flottants) ou comptables (décimal, ou binaire entier)... ;
** un texte, des lettres ([[caractère (informatique)|caractère]]s), que l'on peut mettre en forme avec un [[traitement de texte]], [[imprimante|imprimer]], envoyer par [[courrier électronique]]... ;
** du [[dessin vectoriel]] ([[Conception assistée par ordinateur|CAO]], logiciels d'illustration, et de typographie) ;
** des [[image]]s statiques ([[photographie]]s) ou animées ([[vidéo]]), des [[holographie|hologrammes]] ;
** des [[son (physique)|son]]s, enregistrés (technique du ''direct to disk'') ou bien fabriqués par l'ordinateur ([[synthétiseur]]), que ce soient des bruitages, de la musique (cf. [[musique et informatique]]) ou de la parole ;
:la conversion de ces informations en suite de nombres pose le problème du [[format des données]], du [[codage]] et des formats [[norme|normalisés]] (par exemple, représentations des nombres entiers ou à [[virgule flottante]], encodage des textes en [[ASCII]], [[Unicode]], format [[TeX]] ou [[Rich Text Format|RTF]] et [[police d'écriture|police]]s [[PostScript]] ou [[TrueType]] pour les textes, formats [[bitmap]], [[TIFF]], [[JPEG]], [[Portable Network Graphics|PNG]], etc. pour les images fixes, formats [[QuickTime]], [[MPEG]] pour les vidéos, interface [[MIDI]] pour la musique...).
* '''automatisé''' : l'utilisateur n'intervient pas, ou peu, dans le traitement des données ; le traitement est défini dans un [[programme informatique|programme]] qui se déroule tout seul, l'utilisateur se contente de fournir des paramètres de traitement ; le programme automatique se déroule selon un [[Algorithmique|algorithme]], l'établissement de ce programme est le domaine de la programmation.
* '''traitement''' : ces données sont :
** créées :
*** nombres : acquisition automatique de données d'une expérience avec un ordinateur ;
*** texte : taper un texte au clavier ;
*** images : dessins réalisés à la souris ou sur une tablette graphique, synthèse d'image (pour présenter un projet – objet fictif en cours de conception –, imagerie médicale, dessin artistique – [[infographie]] –, [[film d'animation]] ou [[pixilation]]) ou numérisation d'une image existante ([[Scanner de document|scanner]], [[photographie numérique|appareil photographique numérique]]) ou d'images animées ([[caméra numérique]], [[webcam]]) ;
*** sons enregistrés ([[microphone]]) ou recréés à partir d'une partition virtuelle ([[synthétiseur]]) ou d'un texte ([[synthèse vocale]]).
** analysées :
*** nombres : l'analyse des nombres relève du domaine concerné (mathématiques, physique, économie...) ;
*** texte : rechercher les occurrences de mots dans un texte pour en tirer des statistiques, aide à la [[correcteur orthographique|correction orthographique]] et/ou grammaticale, et, plus généralement, [[TAL|traitement automatique des langues]] (TAL) ;
*** images : on peut vouloir identifier un objet (reconnaissance de forme, reconnaissance des caractères ou [[OCR]]), ou bien déterminer la surface couverte par une couleur (par exemple pour quantifier une surface recouverte) ;
*** sons : analyse spectrale, reconnaissance vocale.
** modifiées :
*** nombres : calculs ;
*** texte : modification d'un texte existant, traduction automatique dans une autre langue (ou langage de programmation) ;
*** images : modification du contraste, de la luminosité, des couleurs, effets spéciaux ;
*** sons : application d'effets (réverbération, distorsion, ajustement de la hauteur) ;<br />comme il existe, selon les programmes et les besoins, une grande variété de codages possibles pour représenter chaque type d'information, beaucoup de traitements consistent à convertir les données d'un format vers un autre...
** archivées puis restituées :
*** les moyens et techniques d'archivage varient en fonction de la durée de conservation souhaitée et des quantités de données en jeu : mémoires électroniques, bandes magnétiques, disques magnétiques ou optiques ;
*** les moyens de restitution dépendent de la nature des données : écrans ou imprimantes pour le texte et les images, haut-parleurs ou instruments MIDI pour les sons...
=== Approche organisationnelle===
L'informatique pour l'organisation est un élément d'un système de traitement d'information (les entrées peuvent être des formulaires papier par exemple) et d'automatisation. Depuis [[Henry Ford]], l'automatisation des tâches ayant été identifiée comme un [[avantage concurrentiel]], la question est : '''que peut-on automatiser ?'''
Autant il est relativement facile d'automatiser des tâches manuelles, autant il est difficile d'automatiser le travail intellectuel et parfois créatif. L'approche de l'informatique dans une organisation commence donc par l'élucidation des processus, c'est-à-dire la modélisation du métier. Après validation, la MOA ([[Maîtrise d'Ouvrage]]) fournit les [[spécification fonctionnelle|spécifications fonctionnelles]] de (l'ouvrage) qui vont servir de référence dans la conception pour la MOE ([[Maîtrise d'œuvre]]).
Cette conception sera alors effectuée dans le respect d'un [[Cycle de développement]] qui définit les rôles et responsabilités de chaque acteur. Ainsi, les échanges entre MOA et MOE ne se résument pas à la maîtrise des chantiers (tenue des délais et des coûts, et validation des livrables), la MOA et la MOE sont garantes (éventuellement responsables sur un plan juridique) de la cohérence des [[système d'information|systèmes d'information]], et de l'adéquation des solutions informatiques avec les problèmes utilisateurs finals initialement constatés.
===Matériel===
{{Article détaillé|Matériel informatique}}
On utilise également le terme anglais ''hardware'' (littéralement « quincaillerie ») pour désigner le [[matériel informatique]]. Il s'agit de tous les composants que l'on peut trouver dans :
'''1. Les [[ordinateur]]s et leurs [[périphérique informatique|périphériques]] :''' un [[ordinateur]] est un ensemble de [[circuit électronique|circuits électroniques]] permettant de manipuler des données sous forme [[bit|binaire]], représentées par des variations de signal [[électrique]]. Il existe différents types d'[[ordinateur]]s :
[[Image:IBM PC 5150.jpg|200px|right|thumb|Un [[International Business Machines Corporation|IBM]] [[Compatible PC|PC]] 5150 datant de [[1981]], [[Système d'exploitation]] [[IBM-DOS]] 2.0]]
* Les [[ordinateur personnel|micro-ordinateurs]].
De [[bureau]] ou [[ordinateur portable|portables]]. Ils sont composés d'une [[unité centrale]] : un boîtier contenant la [[carte mère]], l'[[Alimentation électrique|alimentation]], des [[Stockage d'information|unités de stockage]]. On y ajoute une [[Terminal informatique|console]] : un [[Moniteur d'ordinateur|écran]] et un [[clavier informatique|clavier]]. Divers [[périphérique informatique|périphériques]] peuvent leur être ajoutés, une [[souris (informatique)|souris]], une [[imprimante]], un [[Scanner de document|scanner]], etc.
[[Image:IBM Thinkpad R51.jpg|200px|right|thumb|PC Portable]]
* Les [[station de travail|stations de travail]].
Des micro-ordinateurs particulièrement puissants et chers, utilisés uniquement pour des besoins professionnels pointus ([[conception assistée par ordinateur]]). Ce terme était particulièrement en vogue dans les [[années 1980]]-[[années 1990|1990]]. Depuis les [[années 2000]], il n'est guère possible de concevoir une station de travail plus puissante qu'un micro-ordinateur haut de gamme ;
* Les [[mainframe]]s.
Une armoire abrite l'[[unité centrale]] et l'[[Alimentation électrique|alimentation]], une ou plusieurs autres les [[périphérique informatique|périphériques]] de [[stockage]] (disque dur, sauvegarde) tandis que les moyens de communication et réseau ([[routeur]], [[hub]]s, [[modem]]) sont dans la même pièce, mais dans des [[rack]]s séparés. Une [[Terminal informatique|console]] d'[[administration]] (écran, clavier, imprimante) est généralement située dans ce même local ;
* Les [[Serveur informatique|Serveur]]s.
Ce sont des [[ordinateur]]s qui proposent souvent à des entreprises un endroit de stockage universel pour les utilisateurs connectés aux serveurs. Les serveurs peuvent effectuer des tâches telles que : servir de Pare-Feu, héberger un serveur web (page internet partagée sur le [[World Wide Web]]) ou tout simplement pour partager un nombre important d'imprimantes et de périphériques. Les prix des Serveurs sont élevés car le Serveur a été conçu pour rester allumé en permanence, alors le matériel est durable et performant. ;
* Les [[Assistant personnel|PDA]] (''Personal Digital Assistant'', encore appelés ''organiseurs'').
Ce sont des [[ordinateur]]s de poche proposant des fonctionnalités liées à l'organisation personnelle (agenda, [[calendrier]], carnet d'adresse, etc.). Ils peuvent être reliés à Internet par différents moyens (réseau [[Wifi]], [[Bluetooth]], etc.). ;
* Les [[Centre de Médias]] (''Media Center'').
Ce sont des [[ordinateur]]s qui réunissent tous les périphériques et le matériel pour donner la tâche à l'ordinateur de capter la télévision, écouter de la musique et tout ca sur son écran de télévision, avec généralement une manette à distance. Ce genre de PC est un divertissement familial et est très accessible, bien que leurs prix ont eu tendance à être hauts ces derniers temps, ce type d'ordinateur devient de plus en plus accessible à tous. ;
*'''Et bien d'autres appareils.'''
Dans le domaine de l'[[informatique embarquée]] : [[téléphone]], [[électroménager]], [[automobile]], [[arme]]ments militaires, etc.
Les [[carte à puce|cartes à puces]], ou l'[[informatique industrielle]].
{{Clr}}
===Logiciel===
{{Article détaillé|Logiciel}}
Le logiciel désigne la partie à première vue immatérielle de l'informatique, l'organisation et le traitement de l'information : les programmes. On s'est en effet vite rendu compte que des machines techniquement très avancées pour leur époque, comme la [[Bull]] [[Bull Gamma 60|Gamma 60]], restaient invendables tant qu'on n'avait pas de programmes à livrer pour les rendre immédiatement opérationnelles. IBM lança entre [[1968]] et [[1973]] une sorte d'ancêtre du [[logiciel libre]] avec son ordinateur [[IBM 1130 et 1800|1130]], politique qui assura à celui-ci par effet boule de neige un succès immédiat et planétaire, mais les conclusions d'un procès [[antitrust]] lui interdirent de distribuer bénévolement du logiciel.
Le monde des [[mainframe]]s classe les logiciels en catégories suivantes :
* systèmes d'exploitation, comme [[Multiple Virtual Storage|MVS]] ou [[GCOS]]
* bases de données, comme [[DB2]], [[Ingres (base de données)|Ingres]] ou [[Oracle (base de données)|Oracle]] ;
* programmes de communication, comme [[NCP]] ou [[RSCS]] ;
* moniteurs de télétraitement ;
* systèmes transactionnels, comme [[Customer Information Control System|CICS]] ou [[openUTM]] ;
* systèmes de [[temps partagé]], utilisés pour le calcul ou le développement ;
* [[compilateur]]s traduisant les langages en instructions machine et appels système ;
* tout le reste entrait en une catégorie nommée ''Logiciels applicatifs''.
Plus simplement on distingue généralement trois types de logiciels (par ordre de proximité du matériel) :
* le [[micrologiciel]]
* le [[système d'exploitation]]
* les logiciels et applications utilisateur (en anglais ''software'')
On classe aussi les logiciels en [[logiciel libre|libre]] et [[Logiciel propriétaire|propriétaire]], bien que les deux soient parfois panachés à des degrés divers. Certains ont une fonction [[bureautique]] ou [[multimédia]] comme par exemple les [[jeu vidéo|jeux vidéo]]. Certains logiciels ont acquis des [[noms et utilisation de logiciels|noms connus de tous]].
Le [[noyau (informatique)|noyau]] du [[système d'exploitation]] crée le lien entre le matériel et le logiciel. Un logiciel, quand il est fourni sous sa forme [[bit|binaire]], serait utilisable uniquement avec un système d'exploitation donné (car il en utilise les services), et ne fonctionnerait que sur un matériel spécifique (car il en utilise le [[code d'instructions]]). Une conception plus récente, depuis le milieu de [[années 1980]], consiste à distribuer les logiciels tous binaires confondus, et à les munir d'un système de licences par ''jetons'' ou ''tokens'' permettant l'usage de N copies simultanées du logiciel sur le réseau, tous matériels confondus. Cette approche est majoritaire dans le monde [[UNIX]].
À l'initiative de [[Richard Stallman]] et du [[GNU]], à partir de [[1985]], une mouvance de programmeurs refuse cette logique propriétaire et ceux-ci se muent en concepteurs inventifs pour se lancer dans le développement d'outils et de bibliothèques système libres et compatibles avec le système [[UNIX]]. C'est pourtant le projet indépendant [[Noyau Linux|Linux]], initié par [[Linus Torvalds]], basé sur les travaux et les outils du [[GNU]], qui aboutira dans la création d'un système d'exploitation complet et libre appelé [[Linux|GNU/Linux]].
Une bonne partie des logiciels actuels fonctionnent dans un [[environnement graphique]] pour interagir avec l'utilisateur.
La diversité des systèmes informatiques a fait apparaître une technique visant à combiner le meilleur de chacun de ces univers : l'[[émulateur]].
Il s'agit d'un logiciel permettant de simuler le comportement d'un autre système dans celui que l'on utilise,
* soit pour qu'une machine semble être une autre (voir [[IBM 1130 et 1800|IBM 1130]]),
* soit pour simuler le comportement d'un système d'exploitation (par exemple [[Disk Operating System|DOS]] ou [[Microsoft Windows|Windows]] sous [[Linux|GNU/Linux]]).
Le terme anglais est ''software'', à l'origine un jeu de mot entre ''hardware'' (« quincaillerie », pour désigner le matériel) et l'opposition ''soft''/''hard'' (mou/dur), opposition entre le matériel (le dur) et l'immatériel (le mou). Les traductions françaises ''matériel'' et ''logiciel'' rendent parfaitement cette opposition et cette complémentarité.
Le logiciel réalise normalement une fonction attendue de ses utilisateurs. Néanmoins, des ''effets secondaires'' (parfois nommés par contresens de traduction ''effets de bord'') existent. Parfois même, certains logiciels sont destinés à nuire, comme les [[virus informatique]]s, nommés en anglais, par analogie avec ''software'' : ''malware'' (qu'on pourrait traduire par le néologisme ''nuisiciel'', ou ''[[logiciel malveillant]]'').
====La création des logiciels====
Un projet informatique s'inscrit dans un [[cycle de développement]] qui définit les grandes étapes de la réalisation (planification), de la manière dont on passe d'une étape à l'autre (modèle incrémental, en V, en spirale, méthode up, [[extreme programming]], etc.). Pour les petits projets (ou les petites équipes de développement), cette réflexion est souvent négligée (on se répartit les modules et chacun développe dans son coin). Ceci est une cause fréquente d'erreurs ([[bogue (informatique)|bogue]]s) et de non-conformité (le produit final n'est pas conforme aux attentes de l'utilisateur). Mais même les énormes projets, avec beaucoup de moyens, sont victimes de cette négligence ; ainsi, l'échec du premier vol d'[[Ariane 5]] fut dû à un problème de logiciel, etc. Un projet peut alors intégrer une approche de la [[qualité des systèmes informatiques|qualité]] et de la [[sûreté de fonctionnement des systèmes informatiques]] afin de contrôler autant que possible le produit final.
Un projet comprend les étapes suivantes (selon le modèle incrémental) :
* l'établissement d'un [[cahier des charges]] qui définit les spécifications auxquelles devra répondre le logiciel ;
* la définition de l'environnement d'exécution ([[architecture informatique]]) :
** type(s) d'ordinateur sur lequel le logiciel doit fonctionner (station de calcul, ordinateur de bureau, ordinateur portable, assistant personnel, téléphone portable, guichet automatique de banque, ordinateur embarqué '''dans''' un véhicule ;
** type et version du(des) système(s) d'exploitation sous-jacent ;
** [[Périphérique informatique|périphériques]] nécessaires à l'enregistrement des données et à la restitution des résultats (capacité de stockage, mémoire vive, possibilités graphiques...) ;
** nature des connexions réseau entre les composants (niveau de confidentialité et de fiabilité, performances, [[protocoles de communication]]...) ;
* la [[conception de logiciel|conception]] de l'application et de ses constituants, et notamment de l'interactivité entre les modules développés : structure des données partagées, traitement des erreurs générées par un autre module... : c'est le domaine du [[génie logiciel]] ;
* la mise en place d'une stratégie de développement :
** répartition des tâches entre les développeurs ou les équipes de développement, qui vont assurer le [[programmation|codage]] et les tests ;
* le plan de test du logiciel, pour s'assurer qu'il remplit bien la mission pour laquelle il a été écrit, dans toutes les conditions d'utilisation qu'il pourra normalement rencontrer, mais aussi dans des cas limites.
Après chacune de ces phases, on peut avoir une étape de [[recette]], où le client va valider les choix et les propositions du maître d'œuvre.
La phase de programmation consiste à décrire le comportement du logiciel à l'aide d'un [[langage de programmation]]. Un [[compilateur]] sert alors à transformer ce code écrit dans un langage informatique compréhensible par un humain en un [[langage machine|code]] compréhensible par la machine, le résultat est un exécutable. On peut également, pour certains langages de programmation, utiliser un [[interpréteur]] qui exécute un code au fur et à mesure de sa lecture, sans nécessairement créer d'exécutable. Enfin, un intermédiaire consiste à compiler le code écrit vers du ''bytecode''. Il s'agit également d'un format binaire, compréhensible seulement par une machine, mais il est destiné à être exécuté sur une ''machine virtuelle'', un programme qui émule les principales composantes d'une machine réelle. Le principal avantage par rapport au code machine est une portabilité théoriquement accrue (il « suffit » d'implanter la machine virtuelle pour une architecture donnée pour que tous les programmes en bytecode puissent y être exécutés), portabilité qui a fait, après sa lenteur, la réputation de [[Java (langage)|Java]]. Il convient de noter que ces trois modes d'exécution ne sont nullement incompatibles. Par exemple, [[OCaml]] dispose à la fois d'un interpréteur, d'un compilateur vers du bytecode, et d'un compilateur vers du code natif pour une grande variété de processeurs. Une fois écrit (et compilé si nécessaire), le code devient un [[logiciel]].
Pour des projets de grande amplitude, nécessitant la collaboration de beaucoup de programmeurs, voire de plusieurs équipes, on a souvent recours à une méthodologie commune (par exemple [[MERISE]]) pour la conception et à un [[atelier de génie logiciel]] (AGL) pour la réalisation.
Au cours de la programmation et avant la livraison du produit final, le programme est testé afin de vérifier qu'il fonctionne bien (y compris dans des cas d'utilisation en mode dégradé) et qu'il est conforme aux attentes de l'utilisateur final. Les tests intermédiaires permettent de s'assurer que chaque module de code réalise correctement une fonction : ce sont les ''tests unitaires''. Les tests finals qui vérifient le bon enchaînement des modules et des traitements sont des ''tests d'intégration''.
Pour certaines applications demandant un haut niveau de sûreté de fonctionnement, les tests sont précédés d'une étape de ''vérification'', où des logiciels spécialisés effectuent (généralement sur le code source, mais parfois aussi sur le code compilé) un certain nombre d'analyses pour vérifier partiellement le bon fonctionnement du programme. Il n'est toutefois pas possible (et des théorèmes mathématiques montrent pourquoi), de garantir la parfaite correction de ''tout'' logiciel par ce moyen et la phase de test reste donc nécessaire. Elle se complète aussi, lorsqu'il s'agit d'une évolution d'une application existante, de nombreux tests automatisés de [[non-régression]]. Les tests non plus ne pouvant pas garantir totalement l'absence d'erreurs, il est bon de les compléter par des phases de vérification par relecture : des techniques existent pour essayer de rendre cette vérification exhaustive.
''Statistiques'' : la création d'un logiciel est une tâche ardue ; environ 31% des projets informatiques sont abandonnés avant d'être terminés, plus de 50% des projets coûtent le double du coût initialement estimé et seulement 15% des projets finissent dans les temps et selon le budget défini<!-- Sources? Je n'ai pas les mêmes estimations que sont les fameux 50-25-25)-->. Les besoins de seule maintenance de l'existant peuvent prendre jusqu'à 50% des effectifs d'une équipe chargée d'un logiciel (or, c'est là une fonction pénible, ingrate, peu valorisante et qui rebute et démotive souvent les bons programmeurs).
Toutefois avec l'utilisation de méthodes comme la méthode UP ou l'[[extreme programming]], ces statistiques ont tendance à s'améliorer. Notamment, grâce à un développement par itérations successives où les phases d'analyse, de conception, de réalisation et de test se répètent plusieurs fois pendant la durée de vie du projet et produisent à chaque fois un produit exécutable. Le client peut après chacune des itérations "tester" le produit et donner son avis. Ces méthodes permettent ainsi une meilleure gestion des coûts et surtout de la qualité tout en réduisant fortement les risques de non conformité avec les souhaits du client.
===Traitement de l'information===
L'[[information]], pour être traitée, doit être :
* représentée par un codage :
** on utilise un système de numération [[bit|binaire]], où l'élément unitaire informationnel est le [[Bit (informatique)|bit]] (contraction de l'anglais '''''b'''inary dig'''it''''' : chiffre binaire). Les bits sont généralement regroupés par huit, pour constituer des [[octet]]s (ou [[byte]]s). Un octet peut être représenté par la séquence des bits qui le constituent (par exemple : ''00101110'') ou par une paire de valeurs [[hexadécimal]]es (pour le même exemple : ''2E''), plus compact. Le choix du binaire ne résulte pas de la mystique, mais tout simplement d'utiliser de simples circuits de '''commutation''', qui ont de très larges tolérances et par conséquent de faibles coûts ;
** on représente la structuration de l'information pour permettre des échanges entre composants logiciels et entre composants matériels. Pour cela, on définit des langages et des formalismes de représentation.
* stockée dans des systèmes permanents (mémoires dites ''de masse'') ou non (mémoires dites ''volatiles'').
====Échanges de données : protocoles et normes====
Les protocoles définissent une manière de procéder, notamment pour codifier la façon dont deux entités communiquent (modules ou couches logicielles, périphériques, etc.). On parle notamment de [[protocole de communication]] lorsqu'on veut définir des mécanismes de contrôle sur la manière dont l'échange d'information est réalisé.
Un protocole peut ainsi définir :
* un langage de description d'instructions et de données graphiques (exemple : [[Accelerated Graphics Port|AGP]]) ;
* un standard de commandes et de flux d'information pour une mémoire de masse (exemples : [[SCSI]], [[FireWire]], [[integrated drive electronics|IDE]], [[Serial ATA]]) ;
* des échanges entre le processeur et des cartes d'extension (exemples : [[Peripheral Component Interconnect|PCI]], [[PCI Express]], [[Industry standard architecture|ISA]]) ;
* des modalités de transfert d'information entre périphériques (exemple : [[USB]]) ou sur un [[réseau (informatique)|réseau]] [[TCP/IP]], [[Internet]], [[Asynchronous Transfer Mode|ATM]], [[X.25]]) ;
* des commandes entre un client et un serveur (exemples : [[Post Office Protocol|POP3]], [[Internet Message Access Protocol|IMAP]], [[Hypertext Transfer Protocol|HTTP]], [[File transfer protocol|FTP]] …) ;
* des échanges de données informatisés spécifiques (exemples : [[Échange de données informatisées|EDI]], [[Intégration d'applications d'entreprise|EAI]], [[X.400]], [[X.500]]).
Certains protocoles sont définis par des normes pour permettre l'interopérabilité des matériels ou de logiciels les mettant en œuvre. D'autres normes définissent, toujours dans le domaine de l'échanges de données :
* des langages de représentation d'information sans pour autant définir la manière dont cette information peut être échangée (exemples : [[ASN.1]], [[Extensible markup language|XML]]) ;
* des architectures de réseaux (exemples : [[Modèle OSI]], [[WiFi]], [[Ethernet]], [[Token-Ring]]).
====Stockage des données====
En matière de stockage d'information, on distingue le dispositif permettant de l'enregistrer physiquement (périphériques et composants) de la manière dont on structure et représente l'information pour faciliter son traitement.
;Mémoire de masse
* [[Fichier de cartes perforées]]
* [[Bande magnétique]]
* Disque amovible magnétique ([[Disquette]])
* [[Disque magnéto-optique]]
* [[Disque dur]] (disque magnétique embarquant le mécanisme, l'électronique et les têtes de lecture)
* Disque optique amovible ([[CD-ROM]], [[Disque compact enregistrable|CD-R]], [[Disque compact réinscriptible|CD-RW]] mais aussi [[DVD-ROM]], DVD-R, DVD-RW, DVD+R, DVD+R DL, DVD+RW, [[DVD-RAM]], [[GD-ROM]], [[HD-DVD]], [[Disque Blu-ray|Blu-ray]])
* Mémoire électronique non volatile ([[Mémoire flash]] utilisée notamment dans les « [[clé USB]] »)
;Mémoire volatile
* [[Mémoire vive|RAM, (Random Access Memory)]]
;Organisation des données en vue du stockage
* [[Formats (extensions) de fichiers]]
* [[Système de fichiers]]
* [[Base de données]]
* [[Annuaire]]
===La distribution de matériels et logiciels informatique===
Historiquement l'informatique a été distribuée (revendue) par les grands constructeurs qui traitaient en direct avec leurs clients ; la plupart de ceux-ci étant des grands comptes ou des organismes publics.
Au fur et à mesure de la baisse des prix des systèmes, le marché s'est élargi, obligeant les 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.
Aujourd'hui la distribution des produits informatiques est faite sous la forme de multiples canaux de distribution, parmi lesquelles 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.
La France compte environ 40 000 sociétés informatiques et télécoms dont près de 15 000 ont une activité de distribution.
Il faut noter que si le nombre de sociétés distribuant des produits informatique ne cessent de s'étendre cela l'est beaucoup plus au profit de la distribution structurée visant le grand public que des revendeurs indépendants dont le nombre ne cesse de décroitre et dont l'activité se tourne de plus en plus vers la notion de société de service informatique comme les [[SSII]].
Voir aussi l'article : [[Terminologie de la distribution informatique]]
== Notes ==
{{reflist}}
==Bibliographie==
* {{fr}} [[Michel Volle]], ''[http://www.volle.com/ouvrages/informatique/plan.htm De l'Informatique : savoir vivre avec l'automate]'', Economica 2006, ISBN 2717852190
* {{en}} Paul E. Ceruzzi, ''A History of Modern Computing'', MIT Press, 2003, ISBN 0262532034
* {{en}} Tracy Kidder, ''The Soul of a New Machine'', Atlantic-Little, 1981, ISBN 0316491977
* {{fr}} David Fayon, ''L'informatique'', Vuibert, 1999, ISBN 2711769038
* {{fr}} Isabelle Boydens, ''Informatique, normes et temps'', Bruylant, 1999, ISBN 2802712683
* {{en}} Harold Abelson et Gerald Jay Sussman, ''Structure and Interpretation of Computer Programs'', MIT Press, 2001, ISBN 0262510871
* {{en}} [[John von Neumann]], ''The Computer and the Brain'', Yale Nota Bene, 2000, ISBN 0300084730
* {{en}} [[Donald Knuth]], ''The Art of Computer Programming'', Addison Wesley, 1997, ISBN 0201485419
* {{fr}} Martin Campbell-Kelly, ''Une histoire de l'industrie du logiciel : des réservations aériennes à Sonic le Hérisson'', Vuibert, 2003, ISBN 2711748189
* {{fr}} [[Enseignement public et informatique]]
===Applications===
:[[Bio-informatique]]
:[[Calcul parallèle]]
:[[Cryptographie]]
:[[Domotique]]
:[[ECM]] (''Enterprise Content Management'')
:[[Exploration de données]] (''data mining'')
:[[Hypermédias]]
:[[Imagerie Informatique]]
:[[Informatique décisionnelle]]
:[[Informatique de gestion]]
:Informatique ''grand système'' ([[mainframe]])
:[[Informatique industrielle]]
:[[Informatique musicale]]
:[[Interface homme-machine]]
==Annexes==
{{commons|Category:Computer science|Informatique}}
{{wikibooks|Accueil|l'informatique}}
* [[Abréviations en informatique]]
* [[Hello world]]
* [[Informathèque]]
* [[Musique et informatique]]
* [[Ordinateur quantique]]
* [[Personnes célèbres en informatique]]
* [[Revues informatiques sur papier]]
* [[Sécurité informatique]]
* [[Terminologie de la distribution informatique]]
{{Portail|Informatique|Sciences}}
[[Catégorie:Informatique|*]]
[[af:Rekenaarwetenskap]]
[[als:Informatik]]
[[an:Informatica]]
[[ar:معلوماتية]]
[[ast:Informática]]
[[bat-smg:Infuormatėka]]
[[bg:Информатика]]
[[bn:কম্পিউটার বিজ্ঞান]]
[[br:Urzhiataerezh]]
[[bs:Informatika]]
[[ca:Informàtica]]
[[cs:Informatika (počítačová věda)]]
[[csb:Infòrmatika]]
[[da:Datalogi]]
[[de:Informatik]]
[[el:Επιστήμη υπολογιστών]]
[[en:Computer science]]
[[eo:Komputiko]]
[[es:Ciencias de la computación]]
[[et:Informaatika]]
[[eu:Informatika]]
[[fa:علوم رایانه]]
[[fi:Tietojenkäsittelytiede]]
[[fo:Teldufrøði]]
[[fur:Informatiche]]
[[fy:Ynformatika]]
[[ga:Ríomheolaíocht]]
[[gl:Informática]]
[[gv:Sheanse Coearrooagh]]
[[he:מדעי המחשב]]
[[hr:Računarstvo]]
[[ht:Enfòmatik]]
[[hu:Számítástechnika]]
[[ia:Informatica]]
[[id:Ilmu komputer]]
[[ie:Informatica]]
[[io:Informatiko]]
[[is:Tölvunarfræði]]
[[it:Informatica]]
[[iu:ᑐᓴᐅᒪᖃᑦᑕᐅᑎᔾᔪᑎᓂᒃ ᐊᐅᓚᑦᑎᔩᑦ/tusaumaqattautijjutinik aulattijiit]]
[[ja:計算機科学]]
[[jbo:samske]]
[[ko:전산학]]
[[la:Informatica]]
[[lad:Informatika]]
[[lb:Informatik]]
[[li:Informatica]]
[[lt:Informatika]]
[[lv:Datorzinātne]]
[[mg:Informatika]]
[[mk:Информатика]]
[[ml:കമ്പ്യൂട്ടര് ശാസ്ത്രം]]
[[nds-nl:Infermatika]]
[[nl:Informatica]]
[[no:Informatikk]]
[[oc:Informatica]]
[[pl:Informatyka]]
[[pms:Anformàtica]]
[[pt:Ciência da computação]]
[[ro:Informatică]]
[[ru:Информатика]]
[[scn:Nfurmàtica]]
[[simple:Computer science]]
[[sk:Veda o počítačoch]]
[[sl:Računalništvo]]
[[sq:Informatika]]
[[sr:Рачунарство]]
[[sv:Datavetenskap]]
[[ta:கணினியியல்]]
[[th:วิทยาการคอมพิวเตอร์]]
[[tk:Informatika]]
[[tl:Agham pangkompyuter]]
[[tr:Bilişim bilimi]]
[[ug:بیلگیسايار مۈھەندیسلیغی]]
[[vec:Computer Science]]
[[vi:Khoa học máy tính]]
[[wo:Xibaarfeppal]]
[[wuu:计算机科学]]
[[yo:Informatics (Ifitonileti)]]
[[zh:计算机科学]]
[[zh-min-nan:Tiān-náu kho-ha̍k]]
[[zh-yue:電算]]