Pour qu’un système informatique fonctionne correctement, son hardware et ses softwares doivent fonctionner en tandem pour accomplir les tâches qui leur sont demandées. Bien qu’il existe des différences catégorielles entre les deux concepts, les deux parties de l’ordinateur sont fondamentales.
Dans l’article suivant, nous définirons ce qu’est le hardware, ce qu’est le logiciel, quels éléments de l’ordinateur correspondent à chaque partie, quels éléments se situent entre les deux et quelles sont les différences entre chaque groupe.
Définition du hardware, principaux types et composants
Le hardware désigne un ensemble de pièces physiques et tangibles qui interagissent les unes avec les autres de manière analogique ou numérique pour former l’ordinateur. Il est parfois désigné sous forme abrégée par les caractères H/W ou h/w. Une autre définition fait référence à la présence ou à l’absence d’électronique, de puces ou de circuits imprimés dans la pièce, mais elle est moins générale et n’est donc pas couramment utilisée.
Le hardware est le support physique sur lequel tout logiciel est installé, opère et fonctionne ; en d’autres termes, sans le hardware, l’ordinateur n’existe pas.
Au fil du temps, dans ce qui semble être quatre générations technologiques, le hardware a évolué lentement mais progressivement. La première génération, apparue en 1945 et qui a duré onze ans, était basée sur les tubes à vide. Elle a été suivie par les transistors, utilisés de 1957 à 1963. Depuis lors, on utilise du hardware basé sur des circuits intégrés. Une quatrième génération, en phase de recherche et de prototypage, devrait utiliser des transistors sans silicium ou la physique quantique. L’arrivée de cette quatrième génération est difficile à prévoir.
La capacité opérationnelle (et de calcul, le cas échéant) des premiers composants est très éloignée de celle dont nous bénéficions aujourd’hui.
Lorsque l’on catégorise tous ces éléments, une première classification du hardware peut être faite sur la base de son emplacement dans le système informatique. On distingue ainsi le hardware interne, généralement celui qui se trouve à l’intérieur d’une tour, et le hardware externe, c’est-à-dire tout ce qui n’a pas de place assignée à l’intérieur du boîtier de l’ordinateur et qui se trouve donc dans le champ d’action de l’utilisateur, mais à l’extérieur de l’enceinte de la machine.
Parmi les éléments hardwares considérés comme internes, on peut citer :
- L’unité centrale de traitement, le microprocesseur ou CPU.
- Les disques durs ou HDD
- les disques durs à état solide (SSD)
- les disques durs hybrides (SSHD)
- les lecteurs de disques (CD, DVD, Blue Ray, disquettes, etc.)
- La mémoire RAM
- les ventilateurs
- Système de refroidissement liquide
- Jeu de puces ou circuit intégré auxiliaire
- Cartes d’extension audio, vidéo ou réseau
- Le modem
- Le bloc d’alimentation
- La carte graphique ou GPU
- Ports, prises et connecteurs
En ce qui concerne le hardware externe, certains composants méritent d’être signalés :
- les moniteurs et les écrans auxiliaires
- Manettes de jeu, contrôleurs de jeux vidéo ou gamepads, et panneaux de contrôle physiques
- le clavier
- la souris
- Casques, écouteurs et haut-parleurs
- Microphone
- La webcam
- L’imprimante, le scanner et le télécopieur
- Les disques durs externes et les clés USB
- Le projecteur
- Le pavé tactile et la tablette numérique ou graphique
- Le casque VR ou le casque de réalité virtuelle
- Les appareils spécialisés tels que les lecteurs de codes-barres, les capteurs, etc.
Ces deux groupes sont parfois appelés “systèmes informatiques” et “périphériques informatiques”.
Une autre classification possible est basée sur l’importance du composant hardware pour le fonctionnement de base de l’ordinateur. Dans ce cas, on parle de hardware principal et de hardware supplémentaire.
Le hardware principal comprend tous les éléments constitutifs qui sont absolument indispensables, à savoir : le CPU, le chipset, le SSD (ou le HDD en son absence), la mémoire RAM : CPU, chipset, SSD (ou HDD en son absence), mémoire RAM, alimentation électrique, boîtier de l’ordinateur, moniteur, clavier et souris. Le reste des dispositifs serait complémentaire, bien qu’en fonction de l’application et des circonstances dans lesquelles l’ordinateur est utilisé, un bon argument pourrait être avancé pour que certains des éléments non répertoriés entrent dans la catégorie du hardware principal (par exemple, les ventilateurs, les cartes d’interface réseau ou les processeurs graphiques).
Une autre classification possible est basée sur le rôle des composants. Ainsi, tous les éléments hardwares énumérés précédemment peuvent être incorporés dans l’une des catégories énumérées ci-dessous :
- Éléments de traitement : ils sont chargés de recevoir des instructions électriques, de les interpréter par le biais du calcul et de la logique, et d’émettre de nouveaux signaux électriques en conséquence.
- Éléments de stockage : il s’agit de dispositifs capables d’accumuler des informations sous forme électromagnétique ou logique en vue de leur utilisation par le système informatique.
- Dispositifs d’entrée : périphériques qui transforment les commandes de l’utilisateur en signaux électriques interprétables par la machine.
- Dispositifs de sortie : périphériques qui transforment les signaux électriques émis par les éléments de traitement pour les présenter sous une forme facilement interprétable par l’utilisateur.
- Les périphériques d’entrée et de sortie sont des périphériques mixtes qui combinent les particularités des périphériques E (entrée) et S (sortie), fermant un cycle d’échange d’informations avec l’unité centrale.
Les éléments utilisés pour assembler l’ordinateur et, surtout, la manière dont ils sont installés, ont un effet déterminant sur le type d’ordinateur qui en résulte. Ainsi, l’utilisation de pièces légères avec des facteurs de forme réduits, toutes intégrées de manière très compacte, donne les ordinateurs portables et les netbooks ; tandis que des composants plus volumineux, plus puissants et modulaires, délibérément conçus pour être montés en boîte ou en rack, donnent les ordinateurs de bureau.
Définition des softwares et principaux types
Le logiciel est la partie immatérielle de l’ordinateur qui permet aux différents composants hardwares de fonctionner. Il s’agit d’un ensemble d’instructions, de données ou de programmes qui exécutent des tâches spécifiques au sein du système informatique. Les softwares sont parfois appelés la partie variable de l’ordinateur, les états que la machine peut adopter et les signaux qui forcent ces états.
Les softwares informatiques comprennent des applications, des programmes, des systèmes d’exploitation et de nombreuses autres typologies. Afin de mettre de l’ordre dans cet ensemble, trois divisions sont généralement utilisées : les softwares de système, les softwares de programmation et les softwares d’application.
Le logiciel système est la plate-forme sur laquelle le hardware informatique et les applications sont construits. Ce type de logiciel est écrit dans un langage de programmation de bas niveau ou de première génération, c’est-à-dire un langage dont les instructions contrôlent le hardware sans intermédiaire, comme c’est le cas dans le langage machine et les langages d’assemblage.
Le système d’exploitation d’un ordinateur est un exemple clair de logiciel système. L’utilisateur n’utilise pas directement le système d’exploitation, mais il interagit avec l’interface utilisateur graphique (GUI) fournie par le système d’exploitation et avec les applications installées au-dessus du système d’exploitation.
Outre les systèmes d’exploitation, les software système comprennent également les classes de programmes suivantes :
- Antivirus
- Utilitaires de contrôle de disque (outils de formatage et autres)
- Contrôleurs ou pilotes de hardware
- Traducteurs de langage informatique
- Chargeurs de programmes
- Certains BIOS et UEFI
- Chargeurs d’amorçage ou chargeurs de démarrage
- Hyperviseurs
D’autre part, les software d’application, les software utilitaires pour l’utilisateur final ou les applications (un terme général qui commence à prendre de l’importance ces derniers temps en raison de la technologie mobile), sont tous ces programmes qui exécutent des tâches spécifiques pour lesquelles ils ont été spécifiquement développés.
Enfin, les softwares de programmation permettent aux utilisateurs de développer leurs propres outils en utilisant un langage plus proche du langage humain. Cette section comprend des outils tels que des langages de programmation, des compilateurs, des outils de débogage ou de mise au point, etc.
Étant donné qu’il existe mille et une applications possibles pour les softwares, il est difficile d’établir une classification robuste et libre d’interprétation en fonction de leur utilité. La taxonomie des software est un problème suffisamment complexe pour que Microsoft ait entrepris en 2007 de créer une liste organisée des software.
Depuis, les taxonomies se sont succédé ; voici un résumé (sans définitions) de celle utilisée par l’International Data Corporation (IDC) en 2018, rédigé par Rasmus Andsberg et Dan Vesset :
1. Applications de marché
- Applications collaboratives
- Applications de conférence
- Applications de conférence web
- Applications de messagerie électronique
- Réseaux sociaux d’entreprise
- Applications pour les équipes de travail
- Applications de conférence
- Applications de planification du travail et de gestion des tâches
- Applications de gestion de contenu d’entreprise
- Applications de publication et de rédaction
- Applications de gestion de contenu persuasif
- Applications de localisation électronique
- Portails d’entreprise
- Applications de collaboration et de partage de contenu
- Applications de gestion des ressources de l’entreprise
- Applications financières
- Applications financières et comptables
- Applications de trésorerie et de gestion des risques
- Applications de gestion des voyages et des dépenses
- Applications relatives à l’impôt sur les sociétés
- Applications de gestion des ressources humaines
- Applications centrales de gestion des ressources humaines
- Applications de recrutement
- Applications de gestion de la rémunération
- Applications de gestion de la performance du personnel
- Applications de gestion de la formation
- Applications de gestion du personnel
- Applications de gestion des paiements
- Applications de négociation
- Applications de gestion des commandes
- Applications de gestion des performances de l’entreprise
- Applications de gestion de projets et de portefeuilles
- Applications financières
- Applications de gestion de la chaîne d’approvisionnement
- Applications de logistique
- Applications de planification de la production
- Applications de gestion des stocks
- Applications de production et d’exploitation
- Applications de gestion des réseaux de production
- Applications relatives aux opérations du secteur public et à l’industrie des services
- Autres applications d’exploitation
- Applications d’ingénierie
- Applications de conception assistée par ordinateur
- Applications d’ingénierie assistée par ordinateur
- Applications de fabrication assistée par ordinateur
- Applications de gestion collaborative des données relatives aux produits
- Autres applications d’ingénierie
- Applications de gestion de la relation client
- Applications de gestion des ventes et de productivité
- Applications de gestion des campagnes de marketing
- Applications de service à la clientèle
- Applications pour les centres de communication
- Applications de commerce numérique
2. Applications pour le développement et le lancement de marchés
- Software d’analyse et d’intelligence artificielle
- Logiciel d’analyse, de rapport et de demande de l’utilisateur final
- Outils d’analyse prédictive et avancée
- Plateformes logicielles basées sur l’IA
- Outils de recherche et d’analyse de contenu
- Software de gestion de l’information
- Systèmes de gestion de bases de données relationnelles
- Systèmes de gestion de bases de données non relationnelles
- Systèmes de gestion de bases de données pour utilisateurs finaux
- Systèmes de gestion de bases de données de navigation
- Systèmes de gestion de bases de données orientées objet
- Systèmes de gestion de bases de données multi-valeurs
- Systèmes de gestion de données dynamiques
- Systèmes de base de données orientés documents
- Systèmes de bases de données accessibles par clé
- Systèmes de gestion de bases de données graphiques
- Gestionnaires de collecte de données évolutifs
- Produits de visualisation, d’analyse et de gestion des données par type
- Outils de développement et de gestion de bases de données
- Outils d’administration de bases de données
- Outils de réplication de bases de données
- Outils de modélisation des données
- Outils de gestion et d’archivage du cycle de vie des informations des bases de données
- Outils de développement et d’optimisation des bases de données
- Outils de sécurité des bases de données
- Gestionnaires de données en réseau distribué
- Software d’intégrité et d’intégration des données
- Logiciel de vidage de données volumineuses
- Logiciel de vidage dynamique des données
- Logiciel de qualité des données
- Logiciel d’infrastructure d’accès aux données
- Logiciel d’espace de travail pour les données composites
- Logiciel de définition et de contrôle des données de base
- Logiciel de gestion des métadonnées
- Software de préparation des données en libre-service
- Gestionnaires d’informations spatiales
- Software d’orchestration et d’intégration
- Logiciel intermédiaire B2B
- Logiciel médiateur B2B entrant
- Services de gestion B2B et réseaux B2B
- Software d’intégration
- Logiciel de gestion des API
- Plateformes d’intégration
- Software enfichables et adaptateurs de connectivité
- Logiciel médiateur orienté événements
- Logiciel intermédiaire orienté message
- Logiciel de relais analytique
- Logiciel de fonction
- Gestionnaire de transfert de fichiers
- Logiciel intermédiaire B2B
- Software de développement d’applications
- Outils, environnements et langages de développement
- Blocs de construction de software
- Systèmes de gestion des normes d’entreprise
- Outils de modélisation et d’architecture
- Outils de modélisation d’objets
- Outils de modélisation des processus d’entreprise
- Outils d’architecture d’entreprise
- Outils de qualité et de cycle de vie des softwares
- Outils automatisés de qualité des softwares
- Gestion des changements et de la configuration des softwares
- Plates-formes d’application
- Plateformes d’applications orientées vers la présentation
- Plateformes d’applications logicielles pour serveurs
- Plateformes d’applications en nuage orientées présentation
- Plateformes d’applications basées sur des modèles
- Surveillance des transactions
- Logiciel d’automatisation des tâches robotiques
- Plateformes d’applications orientées vers la présentation
3. Software de développement d’applications
- Software de gestion des systèmes et des services
- Responsables des opérations informatiques
- Gestionnaires de l’automatisation et de la configuration informatiques
- Gestionnaires de la charge de travail
- Contrôleurs de centres de données d’applications et de systèmes
- Gestionnaires de services informatiques
- Software de réseau
- Software d’infrastructure de réseau
- Software de fourniture d’applications de réseau
- Contrôleur SDN et logiciel de visualisation de réseau
- Logiciel de gestion de réseau
- Software d’infrastructure de réseau
- Software de sécurité
- Software d’identité et de certification numérique
- Software de sécurité des points finaux
- Software de sécurité des messages
- Software de sécurité des réseaux
- Outils d’inspection et de sécurité du contenu Web
- Outils d’orchestration, de réponse, de renseignement et d’analyse de la sécurité
- Autres softwares de sécurité
- Software de stockage
- Software de protection et de réplication des données
- Software de protection des données
- Software de reporting, de récupération et de sauvegarde
- Software de réplication du stockage
- Software de réplication basés sur l’hyperviseur ou l’hôte
- Software de migration des systèmes et des données
- Software de réplication basés sur des applications et cadres d’interface de programmation Fabric
- Software de réplication matricielle
- Logiciel de gestion de la réplication
- Software d’archivage
- Software d’archivage de courrier électronique
- Software d’archivage de fichiers et software similaires
- Software de gestion du stockage et des périphériques
- Software de gestion de SRM et SAN hétérogènes
- Software de gestion de SRM et SAN homogènes
- Software de gestion des périphériques de stockage
- Autres softwares de gestion du stockage
- Software d’infrastructure de stockage
- Software de fédération et de virtualisation
- Software de gestion des volumes et des systèmes de fichiers basés sur l’hôte
- Software de gestion de l’accès au stockage et des chemins d’accès
- Software de hiérarchisation automatisée du stockage
- Software d’accélération du stockage
- de stockage définis par logiciel
- Contrôleurs de stockage définis par logiciel et basés sur des blocs
- Contrôleurs de stockage défini par logiciel basé sur les fichiers
- Contrôleurs de stockage défini par logiciel et basé sur les objets
- Contrôleurs de stockage hyperconvergés définis par logiciel
- Gestion des points finaux
- Outils de gestion des sorties
- Gestionnaires de périphériques
- Gestionnaires d’impression
- Gestionnaires de sortie d’entreprise
- Gestionnaires de terminaux clients
- Outils de gestion des sorties
- Software informatiques virtuels et physiques
- Systèmes d’exploitation et sous-systèmes
- Noyaux de systèmes d’exploitation
- Clients de systèmes d’exploitation
- Systèmes d’exploitation industriels embarqués
- Outils informatiques définis par logiciel
- Machines virtuelles
- Conteneurs d’infrastructure
- Systèmes en nuage
- Clients informatiques virtuels
- Autres softwares
- Systèmes d’exploitation et sous-systèmes
- Software de protection et de réplication des données
Toutefois, cette classification gargantuesque s’adresse aux spécialistes du segment de marché du développement de software qui ont besoin d’avoir un contrôle exhaustif et absolu sur leur catalogage. Pour les applications au niveau de l’utilisateur, la classification hyper-réduite suivante peut être plus explicite :
- Traitements de texte
- Gestionnaires de bases de données
- Gestionnaires de feuilles de calcul
- Lecteurs multimédias
- Gestionnaires de présentation
- Systèmes de gestion de la relation client
- Software de planification et de gestion des ressources
- Softwares éducatifs
- Simulateurs
- Navigateurs de contenu
- Outils de conception assistée par ordinateur (CAO)
- Software de contrôle
- Gestionnaires de communication
Une autre classification possible des softwares concerne la manière dont ils sont fournis au public. En fonction de cette caractéristique, on peut distinguer les segments suivants :
- Shareware. Il s’agit de programmes distribués à titre de démonstration, c’est-à-dire que leur utilisation est gratuite pendant une période d’essai à l’issue de laquelle il est nécessaire d’acheter une licence pour continuer à utiliser le logiciel. Il y a donc une intention claire de vendre.
- Liteware. Il s’agit d’une variété de shareware dans laquelle l’ensemble du programme est désactivé jusqu’à ce que l’utilisateur l’achète, mais les fonctionnalités de base du logiciel sont disponibles sans qu’il soit nécessaire de payer.
- Freeware. Il s’agit d’un logiciel qui peut être utilisé totalement gratuitement, mais dont la distribution est soumise à des droits d’auteur, des licences de distribution ou des protections commerciales.
- Logiciel du domaine public. Il s’agit de l’évolution logique des software gratuits. En plus d’être gratuit pour l’utilisateur, il n’y a pas de restrictions quant à sa distribution.
- Software libres ou programmes open source. En plus d’être gratuits et distribués librement, les blocs de code qui composent ce type de programme sont publics et leur modification est laissée à la discrétion de la communauté des utilisateurs.
La terminaison -ware, clairement associée au mot logiciel, est souvent reconnue dans plusieurs groupes de programmes dont l’objectif a un effet négatif sur l’expérience de l’utilisateur. Les types de software malveillants les plus courants qui utilisent cette terminaison sont résumés ci-dessous :
- Malware. Les softwares malveillants sont utilisés pour définir tout programme ayant une intention malveillante. Il s’agit d’un terme général.
- Spyware (logiciel espion). Ce type de logiciel malveillant est spécialisé dans la collecte d’informations sur l’ordinateur sur lequel il est installé par inadvertance et sur son utilisateur. Les habitudes de navigation, les informations confidentielles ou les identifiants d’accès sont quelques-unes des cibles de ce type de programme.
- Les softwares publicitaires. Il s’agit d’un logiciel malveillant conçu pour imposer constamment et régulièrement des publicités à l’utilisateur. Les développeurs d’adwares peuvent tirer profit de la publicité ou des ventes générées.
- Ransomware. Il s’agit de programmes qui bloquent le fonctionnement de l’ordinateur jusqu’au paiement d’une rançon. Il s’agit en quelque sorte d’un chantage informatique. Récemment, le cas le plus médiatisé de ransomware a été WannaCry. L’existence de ce type de logiciel est une justification suffisante pour conserver des sauvegardes redondantes de nos précieux fichiers.
- Bloatware. Il s’agit de programmes inutiles qui sont installés lors du téléchargement d’autres software. Comme l’utilisateur n’a pas besoin de les utiliser, le code reste sur les disques et occupe de l’espace mémoire. Le gaspillage de l’espace mémoire, ainsi que l’installation non désirée et l’inutilité, sont les caractéristiques qui permettent de les considérer comme des softwares malveillants.
À la liste des software malveillants s’ajoute toute une série de virus informatiques : chevaux de Troie, vers, bombes logiques, recycleurs, canulars et autres.
Le dernier logiciel spécial que nous présenterons au lecteur est l’intergiciel. Il est également connu sous le nom de logique d’échange d’informations inter-applications, un nom qui convient mieux à la tâche qu’il accomplit : servir de pont entre n’importe quelle paire d’applications, de progiciels, de systèmes d’exploitation, de composants hardwares ou de réseaux.
Un logiciel de qualité est un logiciel qui remplit ses fonctions, dont les procédures d’installation sont simples, qui est prévisible, dont la conception privilégie la convivialité et qui est extensible. L’itération des versions, qui permet d’éliminer les bogues et les pépins, et la certification sont également des gages de sécurité. Toutefois, ces caractéristiques ne sont pas toujours aussi courantes dans le monde des softwares, qui sont des outils extrêmement complexes au niveau le plus élémentaire.
La fusion du hardware et du logiciel : les firmwares
Les firmwares sont un point de rencontre entre le hardware et le logiciel dans le sens où, même s’il s’agit de lignes de code, de données et d’instructions intangibles, ils sont strictement liés à un composant hardware. Ainsi, la mutabilité inhérente au logiciel est perdue ici, c’est pourquoi les microprogrammes sont parfois appelés des softwares non modifiables.
Des exemples de microprogrammes sont certaines variétés de BIOS et d’UEFI, RTAS (runtime abstraction services), CFE (common firmware environments) et d’autres technologies utilisées dans des ordinateurs spécifiques, des routeurs, des pare-feux et des NAS.
Tableau des différences entre hardware et logiciel
HARDWARE | SOFTWARE | |
Définition | Composants physiques du système informatique Ensemble d’instructions et de données | Ensemble d’instructions et de données |
Fonction | Interaction avec l’utilisateur et calcul | Transmission d’informations et de commandes entre le matériel |
Nature | Physique | Logique |
Création | Usine construite avec des matériaux physiques | Par le biais de codes dans des environnements de programmation |
Interdépendance | Nécessite l’installation d’un logiciel pour fonctionner | Nécessite l’installation d’un matériel pour fonctionner |
Durabilité | Soumis à l’usure et aux déchirures | Inaltéré par l’utilisation ou le vieillissement |
Raison de la défaillance | Défauts de fabrication aléatoires ou surmenage | Défauts de conception systématiques |
Sécurité | Sensible aux backdoor introduites lors de la fabrication | Vulnérable à diverses attaques informatiques |
Réparation | Nécessite le remplacement du composant | Il suffit de réinstaller le logiciel endommagé |
Ceci conclut notre article sur les différences entre le hardware et les softwares. Un bon point de départ pour apprendre à connaître leurs définitions et être au clair sur leurs similitudes.