
Une plateforme informatique est l'environnement matériel ou logiciel dont une application dépend pour fonctionner. Il peut s'agir d'un ordinateur et de son système d'exploitation, d'un environnement d'exécution comme Java, d'un navigateur web ou d'un service cloud qui héberge des applications. La définition utile dépend du niveau dont on parle.
Par exemple, un logiciel de retouche photo peut nécessiter Windows sur un processeur x64, tandis qu'une application web peut demander un navigateur compatible. Tous deux ont des exigences de plateforme, mais celles-ci concernent des niveaux différents. Comprendre cette distinction aide à choisir ses logiciels, à acheter du matériel compatible et à déterminer où une application pourra fonctionner.
Une plateforme est une base utilisée par d'autres logiciels. La définition du glossaire du NIST englobe le matériel, le système d'exploitation associé et les environnements virtuels dans lesquels des logiciels peuvent fonctionner. Une plateforme n'est donc pas nécessairement un ordinateur physique et ne désigne pas toujours le système informatique dans son ensemble.
Quand on parle de « plateforme Windows », on désigne généralement le système d'exploitation et les services accessibles aux applications Windows. La « plateforme Java » comprend un environnement d'exécution et des interfaces de programmation. Une « plateforme cloud » regroupe des services accessibles à distance, qui peuvent inclure du calcul, du stockage, des bases de données et des outils de déploiement.
Ces sens se recoupent. Une même application peut utiliser Java dans un conteneur Linux sur un serveur cloud. Chaque couche apporte des capacités et impose des exigences. La question « quelle plateforme ? » devient plus utile lorsqu'on précise l'application, la tâche et la version concernées.
Un environnement de bureau ou de serveur comporte généralement plusieurs couches. Il n'est pas nécessaire d'en maîtriser tous les détails techniques, mais connaître leur rôle facilite la lecture des exigences de compatibilité.
| Couche | Ce qu'elle fournit | Points à vérifier |
|---|---|---|
| Matériel informatique | Calcul, mémoire, stockage, réseau et périphériques connectés | Architecture du processeur, RAM, exigences GPU, espace de stockage et périphériques pris en charge |
| Système d'exploitation | Ordonnancement des processus, gestion de la mémoire, fichiers, autorisations et accès au matériel | Famille, version et édition du système, ainsi que les pilotes compatibles |
| Environnement d'exécution et bibliothèques | Exécution du code et fonctions réutilisables nécessaires aux applications | Version de l'environnement, paquets requis et dépendances natives |
| API et services associés | Interfaces permettant de demander des fonctions à d'autres logiciels ou services | Fonctions disponibles, authentification, versions et limites des services |
Le processeur exécute les instructions, tandis que le système d'exploitation coordonne l'accès à la machine. Un environnement d'exécution ajoute une couche pour certains types de logiciels. Une interface de programmation applicative, ou API, donne aux développeurs un moyen défini de demander une fonction sans devoir mettre eux-mêmes en œuvre le service sous-jacent.
Ces couches expliquent pourquoi deux ordinateurs dotés de capacités de mémoire et de stockage similaires peuvent prendre en charge des logiciels différents. Vérifier les caractéristiques matérielles ne suffit pas. L'application a également besoin des interfaces, bibliothèques et pilotes pour lesquels elle a été développée.
Le matériel, les logiciels, le web et le cloud constituent des regroupements utiles, plutôt qu'une classification universelle aux catégories exclusives. Les appareils mobiles, les consoles de jeux et les systèmes embarqués combinent aussi ces couches pour des usages particuliers.
Une plateforme matérielle constitue la base physique d'un système informatique. Il peut s'agir d'un ordinateur de bureau x86-64, d'un portable équipé d'un processeur Arm, d'un serveur ou d'une carte embarquée qui commande un appareil. L'architecture du processeur détermine les instructions machine que le système peut exécuter directement.
Une même famille d'architecture peut être utilisée dans plusieurs catégories de produits. Les processeurs Arm ne se limitent pas aux téléphones, et les systèmes x86-64 servent aussi à d'autres usages que l'informatique de bureau. La plateforme dépend également des pilotes disponibles, du micrologiciel, des périphériques et des systèmes d'exploitation pris en charge.
Windows, macOS et les distributions Linux sont des exemples courants de plateformes fondées sur un système d'exploitation. Ils gèrent le matériel et fournissent les logiciels système dont les applications ont besoin pour ouvrir des fichiers, afficher des fenêtres ou communiquer sur un réseau.
Des plateformes logicielles peuvent fonctionner au-dessus du système d'exploitation. Le modèle de plateforme Java comprend la machine virtuelle Java et des API. Les applications Java sont couramment compilées en bytecode, exécuté par un environnement compatible. Elles restent dépendantes des versions prises en charge et des bibliothèques ou composants natifs supplémentaires qu'elles utilisent.
.NET moderne est une autre plateforme de développement comprenant un environnement d'exécution, des bibliothèques, des langages et des outils. Elle prend en charge plusieurs systèmes d'exploitation, mais une application particulière peut utiliser des composants propres à Windows. Il faut également la distinguer de l'ancien .NET Framework, lié à Windows. La documentation de compatibilité du produit compte davantage que la simple mention « multiplateforme ».
Un navigateur fournit un environnement aux applications web grâce à des technologies comme HTML, CSS, JavaScript et les API du navigateur. Un même service peut ainsi être utilisé sur des ordinateurs de bureau, des portables, des tablettes et des téléphones, sans installation native distincte pour chaque système d'exploitation.
La prise en charge varie néanmoins selon le navigateur. Une fonction peut nécessiter une version récente, une autorisation particulière ou du matériel absent de l'appareil. Les standards web et les tests de compatibilité permettent aux développeurs de servir davantage d'utilisateurs. Ils ne garantissent pas que tous les navigateurs fournissent chaque fonction de manière identique.
Les plateformes cloud fournissent des infrastructures et des services à distance. AWS, Microsoft Azure et Google Cloud en sont des exemples, mais leurs catalogues regroupent des services de natures différentes. Une machine virtuelle, un environnement applicatif géré et une application métier prête à l'emploi laissent au client des responsabilités différentes.
La plateforme en tant que service, ou PaaS, est l'un des modèles de services cloud. Elle fournit un environnement géré pour déployer des applications. Le mot « plateforme », employé seul, a un sens plus large que PaaS. Notre guide des modèles de services cloud explique les différences entre IaaS, PaaS, SaaS et serverless.
Une plateforme cloud peut proposer des mécanismes de mise à l'échelle, mais l'application doit être conçue et configurée pour les utiliser. Une base de données saturée, un quota de service ou une dépendance à des fichiers locaux peut toujours limiter sa croissance. L'hébergement à distance ne supprime ni la maintenance applicative ni le travail de sécurité.
Un système d'exploitation est un logiciel qui gère les ressources d'un ordinateur. Une plateforme est l'environnement dont dépend un autre élément. Une application accomplit une tâche pour ses utilisateurs, comme modifier un document ou traiter une commande.
Microsoft Word, par exemple, est généralement décrit comme une application. Windows fournit des services à sa version de bureau, tandis qu'un navigateur permet d'utiliser sa version web. Ces versions ne proposent pas nécessairement les mêmes fonctions. Le fait de les désigner comme une même application ne rend pas leurs exigences de plateforme interchangeables.
Les catégories peuvent aussi se recouper. Une application qui expose des API ou accepte des extensions peut devenir une plateforme pour d'autres développeurs. Une plateforme numérique comme une place de marché en ligne désigne un ensemble plus large d'activités et de services. Sa plateforme informatique sous-jacente correspond aux technologies qui la font fonctionner.
Un logiciel multiplateforme prend en charge plusieurs environnements. Cela peut reposer sur des versions natives distinctes, un code source commun comportant des éléments propres à chaque plateforme, ou du code exécuté par des environnements compatibles. Cela signifie rarement qu'un même paquet fonctionne sans modification sur tous les ordinateurs.
Trois distinctions aident à comprendre les promesses de compatibilité :
Les conteneurs regroupent les logiciels et leurs dépendances pour améliorer la cohérence entre environnements. Ils nécessitent toujours un noyau de système d'exploitation et une architecture de processeur compatibles. La documentation multiplateforme de Docker explique comment des variantes d'image distinctes prennent en charge des cibles telles que Linux sur x86-64 et Linux sur Arm. L'émulation peut compenser certaines différences d'architecture, avec des limites et un possible coût en performances.
Kubernetes gère les charges de travail conteneurisées et fournit des composants pour construire des plateformes applicatives. Il ne rend pas les applications indépendantes de tous les systèmes d'exploitation, bases de données ou services cloud. Pour comprendre les choix de déploiement sous-jacents, consultez notre comparaison des machines virtuelles et des conteneurs.
Commencez par le système d'exploitation et le type de processeur, puis comparez-les aux exigences publiées de l'application. Les indications « ordinateur portable » ou « ordinateur 64 bits » ne suffisent pas.
| Environnement | Où regarder | Informations à relever |
|---|---|---|
| Windows | Paramètres > Système > Informations système | Édition et version de Windows, processeur et type du système |
| macOS | Menu Pomme > À propos de ce Mac | Version de macOS et puce Apple ou processeur Intel indiqué |
| Linux | Informations système de la distribution ; éventuellement son terminal | Distribution et version, architecture du processeur et versions des environnements d'exécution requis |
| Application dans un navigateur | Page « À propos » du navigateur et page d'assistance de l'application | Nom et version du navigateur, autorisations requises et fonctions prises en charge |
Microsoft décrit la page d'informations sur l'appareil Windows. Les instructions d'Apple expliquent comment identifier la version de macOS et déterminer si le Mac utilise une puce Apple.
Sur de nombreuses distributions Linux, cat /etc/os-release affiche des informations sur la distribution, et uname -m indique le type de matériel de la machine. La documentation d'os-release et celle de GNU uname décrivent ces résultats. Ils identifient l'environnement consulté. Dans une machine virtuelle ou un conteneur, ils ne constituent pas une description complète de l'hôte physique.
Partez des tâches que l'application doit accomplir. Un ordinateur personnel destiné aux documents ne s'évalue pas comme un serveur de base de données métier ou une charge de travail GPU. Notez les versions d'applications requises, les périphériques, les formats de données et les services nécessaires avant de comparer les fonctions des plateformes.
Vérifiez la prise en charge autant que la compatibilité technique. Un logiciel peut démarrer sur un ancien système d'exploitation sans que cette configuration soit encore prise en charge par l'éditeur. Identifiez qui fournit les mises à jour, combien de temps les versions concernées sont maintenues et qui résoudra les problèmes de pilotes, de paquets ou d'intégration.
Testez ensuite un usage représentatif. Ouvrez de vrais fichiers d'essai, connectez les périphériques nécessaires, exécutez le traitement important et vérifiez le résultat. Pour les systèmes professionnels, incluez l'authentification, les sauvegardes, la restauration et les connexions aux autres applications. Une installation réussie est un premier contrôle utile, pas la preuve que toutes les tâches fonctionnent.
Pour un déploiement cloud, identifiez les services que vous administrerez vous-même. Compute with Hivenet propose du calcul CPU et GPU, des modèles et images de systèmes d'exploitation, ainsi qu'un accès par API. Évaluez la configuration précise au regard des exigences de vos logiciels. La capacité de calcul ne prouve pas, à elle seule, qu'un fournisseur propose toutes les bases de données gérées, tous les environnements d'exécution ou toutes les intégrations nécessaires à votre application.
Enfin, examinez le coût d'un changement de plateforme. Des données exportables, des interfaces documentées, des compilations reproductibles et des procédures de restauration testées peuvent faciliter une migration. Les dépendances à des API, systèmes d'identité, licences ou outils d'exploitation particuliers restent importantes. Les logiciels open source et les infrastructures distribuées n'éliminent pas automatiquement la dépendance à un fournisseur.
Un ordinateur personnel est un appareil. Son matériel et son système d'exploitation peuvent constituer une plateforme informatique, sur laquelle fonctionnent d'autres plateformes, comme un navigateur ou un environnement Java. Les serveurs et les appareils mobiles fournissent également des plateformes informatiques.
Ce sont des familles courantes de systèmes d'exploitation pour ordinateurs de bureau. Elles ne constituent pas une classification complète des plateformes informatiques. Le terme couvre aussi les architectures matérielles, les environnements d'exécution, le web, les systèmes mobiles et les services cloud.
Non. Cela signifie généralement que le logiciel évite certaines dépendances à un système d'exploitation ou à une architecture particulière. Vérifiez l'environnement d'exécution, les bibliothèques, les périphériques et les fonctions pris en charge. La compatibilité conserve un périmètre défini.
Non. Évaluez la version prise en charge, le processus de mise à jour, les contrôles d'accès, la configuration et les responsabilités de maintenance. La disponibilité du code source est une caractéristique de la plateforme, pas une preuve de sécurité d'un déploiement donné.
Choisissez une charge de travail d’IA, de calcul ou de stockage à tester sur Hivenet, ou échangez avec notre équipe sur sa mise en production.