Logo Scolaplan

Informatique

Informatique

L'informatique est un domaine d'activité scientifique, technique et industriel concernant le traitement automatique de l'information par l'exécution de programmes informatiques par des machines : des systèmes embarqués, des ordinateurs, des robots, des automates, etc.

Ces champs d'application peuvent être séparés en deux branches, l'une, de nature théorique, qui concerne la définition de concepts et modèles, et l'autre, de nature pratique, qui s'intéresse aux techniques concrètes de mise en œuvre. Certains domaines de l'informatique peuvent être très abstraits, comme la complexité algorithmique, et d'autres peuvent être plus proches d'un public profane. Ainsi, la théorie des langages demeure un domaine davantage accessible aux professionnels formés (description des ordinateurs et méthodes de programmation), tandis que les métiers liés aux interfaces homme-machine sont accessibles à un plus large public.

Science informatique

La science informatique (en) est une science formelle, dont l'objet d'étude est le calcul au sens large, c'est-à-dire, non pas exclusivement arithmétique, mais en rapport avec tout type d'information que l'on peut représenter par une suite de nombres. Ainsi, textes, séquences d'ADN, images, sons ou formules logiques peuvent faire l'objet de calculs. Selon le contexte, on parle d'un calcul, d'un algorithme, d'un programme, d'une procédure, etc.

Calculabilité

Un algorithme est une manière systématique de procéder pour arriver à calculer un résultat. 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. Avant cela, le simple fait d'utiliser un abaque demande d'avoir réfléchi à un moyen systématique (et correct) d'utiliser cet outil 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 les questions « qu'est-ce qu'un modèle de calcul ? », « est-ce que tout est calculable ? » et ont tenté d'y répondre formellement.

Il existe de nombreux modèles de calcul, dont les deux principaux sont la « machine de Turing » et le « lambda calcul ». Ces deux systèmes formels définissent des objets qui peuvent représenter ce qu'on appelle des 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 le fait que les principaux modèles de calcul ont exactement la même puissance. C'est-à-dire qu'il n'existe pas de procédure que l'on pourrait exprimer dans un modèle mais pas dans un autre. La thèse de Church postule que ces modèles de calcul équivalents décrivent complètement et mathématiquement tout ce qui est physiquement calculable.

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 désignant plutôt comment faire le calcul). On peut montrer qu'il existe des fonctions, bien définies, 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.

Tous les modèles de calcul étant équivalents, 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. 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é).

Algorithmique

L'algorithmique est l'étude comparative des différents algorithmes. Tous les algorithmes ne se valent pas : le nombre d'opérations nécessaires pour arriver à un même résultat diffère d'un algorithme à l'autre. Ce nombre d'opérations, 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) :

  • soit l'évolution peut être indépendante de la taille des données, on parle alors de complexité constante ;
  • soit 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) ;
    • une augmentation exponentielle de la complexité aboutit très rapidement à des durées de calcul déraisonnables pour une utilisation en pratique,
    • tandis 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 ? ». 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ématiques courantes 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 Mathematics Institute s'est engagé à verser un million de dollars aux personnes qui en trouveraient la solution.

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.

Cryptologie

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.

Autre

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, par exemple, à travers la discipline du traitement automatique du langage naturel.

Technologies de l'information et de la communication

Le terme technologies de l'information et de 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 matériel informatique est un ensemble d'équipements (pièces détachées) servant au traitement des informations.
  • Un logiciel contient des suites d'instructions qui décrivent en détail les algorithmes des opérations de traitement d'information ainsi que les informations relatives à ce traitement (valeurs clés, textes, images, etc.).

Les appareils en électronique numérique utilisent tous un système logique. Les entrées et sorties des composants électroniques n'ont que deux états ; l'un correspondant à vrai, l'autre à faux. On démontre qu'en assimilant vrai au nombre 1 et faux au nombre 0, on peut établir les règles logiques qui fondent un système de numération binaire. Les appareils représentent toute l'information sous cette forme.

Les appareils informatiques se décomposent en quatre ensembles qui servent respectivement à entrer des données, les stocker, les traiter, puis, les faire ressortir de l'appareil, selon les principes de la machine de Turing et l'architecture de von Neumann. Les données 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.

Appareils informatiques

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 ou de logiciel.

Un système embarqué est un appareil équipé de matériel et de logiciel informatique, et assigné à une tâche bien précise.

Exemples d'appareils :

  • la console de jeu est un appareil destiné au jeu vidéo, une activité que l'on peut aussi exercer avec un ordinateur ;
  • le NAS (acronyme de l'anglais network attached storage, littéralement « mémoire attachée à un réseau ») est un appareil destiné à garder des informations en mémoire et à les mettre à disposition via un réseau informatique ;
  • le distributeur de billets : un automate qui distribue sur demande des billets de banque ou des tickets de transport public ; les distributeurs sont souvent des ordinateurs effectuant un nombre limité de tâches ;
  • le récepteur satellite : les émissions de télévision par satellite se font en numérique et sont captées et décodées par des appareils informatiques ;
  • les appareils d'avionique sont des appareils électroniques et informatiques placés dans les avions et les véhicules spatiaux ; ils servent à la navigation, la prévention des collisions et la télécommunication ;
  • le GPS : un appareil qui affiche une carte géographique, et se positionne sur la carte grâce à un réseau de satellites ; les cartes géographiques sont des informations créées par ordinateur ;
  • le téléphone mobile : initialement c'est un simple appareil analogique, le téléphone portable a évolué, et il est maintenant possible de l'utiliser pour jouer, visionner des vidéos, des images. Les smartphones sont des téléphones particulièrement évolués ;
  • les systèmes d'arme sont des dispositifs informatiques qui permettent l'organisation et le suivi des opérations militaires : positionnement géographique, calcul des tirs, guidage des appareils et des véhicules ;
  • les robots sont des appareils électromécaniques qui effectuent des tâches à la place des humains, de manière autonome ; l'autonomie est assurée par un appareil informatique placé à l'intérieur ou à l'extérieur du robot.

Utilisations et domaines d'activités

Le traitement de l'information s'applique à tous les domaines d'activité et ceux-ci peuvent se trouver associés au mot « informatique », comme dans « informatique médicale », où les outils informatiques sont utilisés dans l'aide au diagnostic (ce champ d'activité se rapportera plutôt à l'informatique scientifique décrite ci-dessous), ou dans « informatique bancaire », désignant 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èvent 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.

Les grands domaines d'utilisation de l'informatique sont :

  • Informatique de gestion : informatique en rapport avec la gestion de données, à savoir le traitement en masse de grandes quantités d'information. L'informatique de gestion a de nombreuses applications pratiques dans les entreprises : manipulation des informations relatives aux employés, commandes, ventes, statistiques commerciales, journaux de comptabilité générale y compris, en son temps, le calcul du décalage pour les déclarations de TVA à récupérer et gestion de la production et des approvisionnements, gestion de stocks et des inventaires, etc. Ce domaine est de loin celui qui représente la plus forte activité.
  • Informatique scientifique : 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 et automobiles (langages souvent employés : historiquement le Fortran, de plus en plus concurrencé par 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, par la recherche opérationnelle ou par itération, des scénarios de façon rapide et fiable. Par exemple, l'écurie italienne de Formule 1 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 monoplace et accélérer la mise au point de ses prototypes ;
  • Informatique embarquée : consiste à définir les logiciels destinés à être embarqués dans des dispositifs matériels autonomes interagissant avec leur environnement physique. L'informatique embarquée assure alors parfois le pilotage de systèmes électromécaniques plus ou moins complexes. Elle est ainsi à rapprocher de la production de systèmes informatiques temps réel tant le temps devient une préoccupation clef lorsque l'informatique est acteur du monde réel. Elle trouve aussi ses domaines d'applications dans de nombreux objets de notre vie quotidienne en enrichissant les performances et les fonctionnalités des services proposés. Historiquement d'abord liés à l'aéronautique, le spatial, l'armement, le nucléaire, on en trouve aujourd'hui de nombreuses illustrations dans notre vie quotidienne : automobile, machine à laver, téléphone portable, carte à puce, domotique, etc.
  • Ingénierie des connaissances (en anglais « knowledge management ») : 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 d'accroître la cohérence des trois domaines, qui sont la gestion, le temps réel, et le 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.
  • Les applications du renseignement économique et stratégique (« intelligence » en anglais) : font appel aux techniques de l'information, notamment dans l'analyse du contexte, pour la recherche d'informations (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 les protocoles d'échange et les moteurs de règles.

Exemples de domaines d'utilisation

  • Automatique : appareils de régulation tels le pilote automatique.
  • Bio-informatique : outils d'aide dans la recherche en biologie.
  • Bureautique : outils d'aide au travail de bureau : rédaction de documents commerciaux et correspondance.
  • Calcul parallèle : pour des applications qui demandent de nombreux calculs : prévisions météo ou image de synthèse.
  • Cryptographie : déchiffrage d'informations chiffrées par un code secret.
  • Domotique : commande d'appareils domestiques et systèmes d'alarme.
  • Exploration de données : extraction automatique de connaissances.
  • Gestion de contenu : collecte des documents électroniques d'une entreprise : mail, fax, contrats.
  • Hypermédias : manipulation de documents de présentation contenant des vidéos, des images et du son.
  • Imagerie informatique : création ou manipulation d'images : images de synthèse, traitement d'images, jeux vidéo, simulateurs de vol.
  • Informatique décisionnelle : analyses et statistiques en vue d'aide à la décision pour les responsables d'entreprise.
  • Informatique de gestion : manipulation en masse de grandes quantité d'informations : listes de clients, des fournisseurs, de produits.
  • Informatique industrielle : utilisation dans des chaînes de fabrication industrielles.
  • Informatique médicale : manipulations d'images médicales (scanner, échographies), dossiers médicaux.
  • Informatique musicale : composition musicale.
  • Instrumentation : collecte d'informations provenant de capteurs, lors d'expériences scientifiques.
  • Linguistique informatique : correction d'orthographe, traduction automatique.
  • Logiciels malveillants : logiciels mal intentionnés qui s'installent et agissent à l'insu de l'utilisateur : vol d'informations, falsification, usurpation d'identité.
  • Nanotechnologie : aide à la recherche en nanotechnologie.
  • Publication assistée par ordinateur : outils de création de la presse et du livre.
  • Robotique : pilotage des machines autonomes que sont les robots.
  • Télécommunications : transmission d'informations.

Métiers et activités

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 semi-conducteurs et de pièces détachées, des assembleurs, ainsi que des fournisseurs de télécommunications et des services d'assistance.

Maintenance d'un système informatique

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

Création de logiciels

Le développement de logiciels 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.

Sous-traitance, infogérance, intégration

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 (parfois situées dans un pays lointain) pilotent les ordinateurs à travers les réseaux informatiques (télémaintenance).

L'intégration verticale consiste pour une société informatique à non seulement créer un logiciel, mais également travailler sur des opérations antérieures et postérieures au développement du logiciel en question, tels que le management du système d'information, l'aide à la décision de la direction des systèmes d'information, les opérations de migration ou les services d'assistance.

Source : Wikipedia
En vedette
Vidéos
Flash info
Source : Actualités Google