Automatisation du traitement de l’information : une évolution des capacités humaines

information-icon

Les épreuves de l’examen du bac sont pour “demain”. Consulte notre dossier pour tout connaître des coefficients du bac, le calcul des notes, les dates du bac 2024… pour te préparer à ton examen au mieux 💪

Développement de l’automatisation

  • Le terme algorithme, qui date du IXe siècle, désigne une suite finie et ordonnée de règles opératoires à suivre en vue de résoudre un problème ou d’obtenir un résultat.
  • Les algorithmes permettent à l’être humain de construit des outils et des machines progressivement perfectionnées et de plus en plus automatisées.
  • La notion de programme informatique apparaît au XIXe siècle, proposée par Ada Lovelace pour la machine analytique de Charles Babbage.
  • Dans la première moitié du XXe siècle, le mathématicien Alan Turing conceptualise un outil abstrait universel, appelé « machine de Turing », fonctionnant selon une logique générale qui serait applicable à toutes sortes de calculs et de traitements.
  • Sur cette base, John von Neumann conceptualise en 1945 un ordinateur stockant un programme en mémoire.Cet ordinateur est constitué de 6 éléments clés :
  • une unité de traitement (pour effectuer des calculs) ;
  • une unité de contrôle (pour piloter les séquences d’instructions) ;
  • une mémoire de travail ou mémoire vive (pour stocker les programmes et données de travail) ;
  • une mémoire de stockage externe (pour conserver durablement les programmes et données de la machine) ;
  • des mécanismes d’entrées-sorties (interfaces de communication entre l’ordinateur et son environnement extérieur).
  • L’architecture de John von Neumann aboutit d’abord à la fabrication d’ordinateurs imposants et disposant d’une capacité de traitement limitée.Puis, progressivement, la miniaturisation des composants informatique se met en place (puces électroniques, micro-processeurs, etc.), parallèlement à l’augmentation de puissance des processeurs.
  • Aujourd’hui, les systèmes automatisés sont très présents dans notre cadre de vie, aussi bien dans les domiciles (box Internet, TV, lave-linges, etc.) que dans les entreprises (automates, robots d’assemblage, outils informatiques, etc.) ou dans l’espace public (escalators, feux de circulation, distributeurs, etc.).

Systèmes automatisés de traitement d’information

  • Malgré la grande diversité de leurs usages, les systèmes de traitements automatisés reposent sur des bases identiques.
  • Un système automatisé est composé de :
  • la partie commande (traitement des informations) qui contient les informations et fournit les instructions au reste du système ;
  • la partie opérative (éléments d’interface) qui peut se composer de capteurs et d’actionneurs permettant des manipulations physiques. Dans le cas d’un ordinateur ou d’un smartphone, les éléments d’interface homme-machine sont communément désignés périphériques d’entrées-sorties.
  • Le fonctionnement d’un système automatisé est régi par un ou plusieurs programmes (suites finies d’opérations exécutables par un ordinateur) qui peuvent être simples ou complexes, en fonction de la sophistication de l’appareil et de la complexité du problème à résoudre.
  • Parfois, les programmes sont prédéfinis et l’utilisateur n’a aucun contrôle. Dans d’autres cas, l’utilisateur a la possibilité de paramétrer et, éventuellement, de programmer lui-même tout ou partie du système automatisé auquel il a accès.
  • Par ailleurs, un programme qui manipule donc des données (informations) peut à son tour devenir une donnée pour un autre programme qui le manipule.

Dysfonctionnements logiciels

  • Il arrive que des logiciels dysfonctionnent : un bogue (bug en anglais) est un dysfonctionnement causé par un défaut de conception d’un programme informatique (erreur de langage informatique, problème dans le code).
  • La gravité d’un bogue est variable : certains bogues sont bénins, mais des bogues critiques peuvent avoir de très graves conséquences, en particulier quand ils touchent des systèmes d’importance majeure. Certains systèmes informatiques modernes comportent des millions de lignes de code : les protocoles de développement et de test des systèmes critiques sont particulièrement stricts, car des dysfonctionnements peuvent avoir des répercussions importantes.
  • La mise en place de tests logiciels permet de vérifier le bon fonctionnement du code : les cas d’usage courants sont testés, mais aussi des cas plus rares, pour s’assurer que le code est apte à les gérer correctement.
  • Deux approches sont possibles :
  • écriture du code, puis écriture des tests pour contrôler le code ;
  • écriture des tests à partir desquels le code est développé. Cette approche est appelée développement piloté par les tests : le fait de concevoir à l’avance les tests oblige à bien définir le comportement attendu du programme dans les différents cas de figure possibles.
  • La sécurité doit aussi être prise en compte pour éviter que des failles ne puissent être exploitées par des personnes malveillantes, notamment pour exploiter des donner utilisateurs, protégées par la loi.