article sur le Informatique, Explication sur le Informatique

Informatique Article, Signification, Explication

                                     

Table of contents
1 Généralités
2 Origines
3 Approche fonctionnelle de l'informatique
4 Approche organisationnelle
5 Histoire de l'informatique
6 Matériel
7 Logiciel
8 Traitement de l'information
9 Approches scientifiques
10 Impartition informatique
11 Annexes

Généralités

Le terme informatique désigne la gestion automatisée de l'information par ordinateur. Il a été créé en 1962 par Philippe Dreyfus à partir des mots « information » et « automatique ».
  • Par extension, il dĂ©signe aussi bien le matĂ©riel informatique que la conception et l'administration de la partie immatĂ©rielle d'un ordinateur : les logiciels.

  • La langue anglaise n'utilise guère ce concept, prĂ©fĂ©rant dĂ©signer des noms distincts :
    • ce qui ressort du fonctionnement des ordinateurs et de leurs programmes (Computer science) ;
    • ce qui est du domaine de la mise en pratique des traitements (Data processing) ;
    • l'Ă©volution des techniques elles-mĂŞmes, matĂ©riel y compris (Information technology).

  • Alors que des professions aussi diverses que concepteur, dĂ©veloppeur, responsable d'exploitation, ingĂ©nieur système, technicien de maintenance, matĂ©rielle ou logicielle ou directeur d'un centre de calcul relèvent bien du domaine de l'informatique, il n'est pas usitĂ© de nommer informaticiens ceux qui les pratiquent. Le terme dĂ©signe plus souvent ceux qui conçoivent, dĂ©ploient et mettent en Ĺ“uvre des solutions.

Origines

L'informatique est un domaine relativement nouveau avec des racines dans la mécanographie, l'électronique, les mathématiques, la logique et la linguistique. C'est dans la seconde moitié du XX siècle que l'informatique a été reconnue comme une discipline - ou plutôt une série de disciplines - à part entière et a développé des méthodes, puis une méthodologie qui lui étaient propres.

Son image a été quelque temps surfaite : parce que les premiers à programmer des ordinateurs avaient été des ingénieurs rompus à la technique des é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 enfants de quatorze ans.

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 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, 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 ou même APL demande un niveau d'abstraction tout de même plus proche de celui des mathématiques que des deux disciplines citées.

Approche fonctionnelle de l'informatique

Comme énoncé ci-dessus, l'informatique est le traitement automatisé de données par un appareil électronique : l'ordinateur ; les germanophones parlent de elektronische Daten Verarbeitung / EDV (« traitement électronique de données »), les anglophones d'information technology / IT (« technologies de l'information »), c'est-à-dire :

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 modéliser le métier. Après validation, la MOA (Maîtrise d'Ouvrage) fournit les spécifications fonctionnelles de (l'ouvrage) qui vont servir de référence dans la conception pour la Maîtrise d'œuvre.

Les échanges entre MOA et MOE ne se résument pas à la maîtrise des chantiers (tenu des délais et 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èmes d'information, et de l'adéquation des solutions informatiques avec les problèmes utilisateurs finaux initialement constatés.

Histoire de l'informatique

Depuis des millĂ©naires, l'Homme a créé et utilisĂ© des outils l'aidant Ă  calculer (abaque, boulier...). 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 Rodolphines 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). La dĂ©couverte tardive du mĂ©canisme d'Antikhitè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 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.

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 (des tentatives précédentes, entièrement mécaniques, avaient échoué en raison de la complexité de la réalisation de telles machines). Au même moment, Alan Turing théorise le premier ce qu'est un ordinateur, avec son concept de machine universelle de Turing.

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...) a entraîné une diffusion de l'informatique dans toutes les couches de l'économie comme de la vie de tous les jours.

Voir article détaillé: Histoire de l'informatique

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 ordinateurs et leurs périphériques : un ordinateur est un ensemble de circuits électroniques permettant de manipuler des données sous forme binaire, représentées par des variations de signal électrique. Il existe différents types d'ordinateurs :

  • Les micro-ordinateurs. Principalement sous deux formes : de bureau ou portables. Ils sont composĂ©s d'une unitĂ© centrale : souvent un boĂ®tier contenant la carte mère, l'alimentation, des unitĂ©s de stockage, et Ă©ventuellement un Ă©cran. Divers pĂ©riphĂ©riques peuvent leur ĂŞtre ajoutĂ©s, comme un Ă©cran, une imprimante, un scanner… ;
  • Les 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-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 mainframes : Une armoire abrite l'unitĂ© centrale, l'alimentation, les pĂ©riphĂ©riques de stockage (disque dur, sauvegarde) et, moyens de communication (interface, modem) sont dans la mĂŞme pièce, mais dans des racks sĂ©parĂ©s. Une console d'administration (Ă©cran, clavier, imprimante) est gĂ©nĂ©ralement situĂ©e dans ce mĂŞme local ;
  • Les PDA (Personal digital Assistant, encore appelĂ©s organiseurs) : ce sont des ordinateurs de poche proposant des fonctionnalitĂ©s liĂ©es Ă  l'organisation personnelle (agenda, calendrier, carnet d'adresse, etc.).

2. Et bien d'autres appareils : dans le domaine de l'informatique embarquée (électroménager, missiles militaire, etc.), les cartes à puces, l'informatique industrielle…

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 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 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 mainframes classe les logiciels en catégories suivantes :

  • systèmes d'exploitation ;
  • bases de donnĂ©es, comme DB2, Ingres ou Oracle ;
  • programmes de communication, comme NCP ou RSCS ;
  • moniteurs de tĂ©lĂ©traitement ;
  • systèmes transactionnels, comme CICS ;
  • systèmes de temps partagĂ©, utilisĂ©s pour le calcul ou le dĂ©veloppement ;
  • compilateurs 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 3 type de logiciels : On classe aussi les logiciels en libre et 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 jeux vidéo. Certains logiciels ont acquis des noms connus de tous.

Le 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 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 80, 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, une mouvance de programmeurs refuse cette logique, se mue en concepteurs inventifs et se lancent dans le développement d'émulateurs:

  • soit pour qu'une machine semble ĂŞtre une autre (voir IBM 1130) ;
  • soit pour simuler le comportement d'un système d'exploitation (par exemple DOS ou Windows sous Linux).

Une bonne partie des logiciels actuels fonctionnent dans un environnement graphique pour interagir avec l'utilisateur.

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 informatiques, nommés en anglais, par analogie avec software : malware (qu'on pourrait traduire par le néologisme nuisiciel).

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...). 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 (boguess) 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 V fut dû à un problème de logiciel... Un projet peut alors intégrer une approche de la 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 :

  • 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 de programmation  (Architecture informatique) :
    • type 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, reliĂ© Ă  un rĂ©seau...), muni de quels pĂ©riphĂ©riques (capacitĂ© de stockage, mĂ©moire vive, possibilitĂ©s graphiques...) ;
    • type et version du système d'exploitation sous-jacent.
  • la 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 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.

Entre 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 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. 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.

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 finaux qui vérifient le bon enchaînement des modules et des traitements sont des tests d'intégration.

Les 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.

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 200% du coût initialement estimé et seulement 15% des projets finissent dans les temps et selon le budget défini. 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 les bons programmeurs).

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 binaire, oĂą l'Ă©lĂ©ment unitaire informationnel est le bit (contraction de l'anglais binary digit : chiffre binaire). Les bits sont gĂ©nĂ©ralement regroupĂ©s par huit, pour constituer des octets (ou bytes). 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Ă©cimales (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 (Ex: AGP) ;
  • un standard de commandes et de flux d'information pour une mĂ©moire de masse (Ex: SCSI, FireWire, IDE, Serial ATA) ;
  • des Ă©changes entre le processeur et des cartes d'extension (Ex: PCI, PCI Express, ISA) ;
  • des modalitĂ©s de transfert d'information entre pĂ©riphĂ©riques (Ex: USB) ou sur un rĂ©seau (Modèle OSI, TCP/IP, Internet) ;
  • des commandes entre un client et un serveur (Ex: POP3, IMAP, HTTP, FTP…) ;
  • des Ă©changes de donnĂ©es informatisĂ©s spĂ©cifiques (Ex: EDI,EAI).

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 (Ex: ASN.1, XML) ;
  • des architectures de rĂ©seaux (Ex: 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

Carte perforée
Bande magnétique
Disquette, Zip
Disque dur
Mémoire flash (clé USB)
CD-ROM, CD-R, CD-RW
DVD-ROM, DVD-R, DVD-RW, DVD+R, DVD+R DL, DVD+RW, DVD-RAM
Support réseau

Mémoire volatile

RAM

Organisation des données en vue du stockage

Formats (extensions) de fichiers
Système de fichiers
Base de données
Annuaire

Approches scientifiques

L'informatique n'est pas plus la science de l'ordinateur que l'astronomie n'est celle du télescope.
-- Edsger Dijkstra

En dehors des aspects industriels et technologiques décrits jusqu'ici, l'informatique comporte également des aspects de discipline scientifique.

Algorithmique
Algèbre de Boole
Calculabilité
Géométrie algorithmique
Lambda-calcul
Logique
Model checking
Théorie de l'information
Théorie des graphes
Théorie de la complexité
Théorie de la calculabilité

Applications

Bio-informatique
Calcul parallèle
Cryptographie
Exploration de données (data mining)
Informatique grand système (mainframe)
Informatique industrielle
Intelligence artificielle
Interface homme-machine
Micro-informatique
Synthèse d'images
Traitement du signal et Traitement d'images

Impartition informatique

Annexes


C'est un article concernant le Informatique. La page contient la signification du Informatique , Description et explication au sujet de Informatique

recherche quelque chose