--- title: ".NET : la plateforme multi-langages de Microsoft" url: https://www.dico-micro.com/net/ author: "Dico Micro" date_published: 2023-07-01T13:29:56+00:00 date_modified: 2026-09-26T16:32:35+00:00 categories: ["Actus high-tech"] image: https://www.dico-micro.com/wp-content/uploads/2026/09/net.jpg description: ".NET est la plateforme multi-langages de Microsoft dont le moteur CLR compile tout code, quel que soit le langage d’origine, vers un langage intermédiaire commun." site: "Dico Micro" license: "Reproduction autorisée avec lien vers la source." --- # .NET : la plateforme multi-langages de Microsoft > .NET est la plateforme multi-langages de Microsoft dont le moteur CLR compile tout code, quel que soit le langage d’origine, vers un langage intermédiaire commun. **.NET** (on prononce « dotnet ») désigne une plateforme de développement proposée par Microsoft pour construire des applications d’entreprise multi-niveaux à base de composants. C’est la réponse de Microsoft à la plateforme J2EE de Sun, portée dès l’origine par une communauté d’utilisateurs dont les retours ont façonné les spécifications. Ces spécifications ont ensuite été ratifiées par l’ECMA (European Computer Manufacturers Association), un organisme international de normalisation, ce qui a permis à des éditeurs tiers de proposer leurs propres implémentations sur d’autres systèmes d’exploitation que Windows. Dans la pratique, on parle plutôt de « framework » (littéralement « socle ») pour désigner l’ensemble des services et de l’infrastructure d’exécution que .NET met à disposition d’un développeur. Trois briques composent ce socle, et comprendre leur rôle respectif aide à situer où intervient chaque outil quand on travaille avec .NET. ## L’environnement d’exécution : CLR, MSIL et JIT Le cœur du framework est un moteur d’exécution appelé CLR (Common Language Runtime). Il compile le code source de l’application en un langage intermédiaire baptisé MSIL (Microsoft Intermediate Language), un peu à la manière du bytecode d’une machine virtuelle Java. Lors de la première exécution, ce code MSIL est à son tour compilé à la volée en code natif spécifique au système, grâce à un compilateur JIT (Just In Time). Autour de ce moteur central, deux environnements d’exécution répondent à deux usages différents : ASP.NET pour les applications et services web, et WinForms pour les applications de bureau dites « lourdes ». C’est cette distinction qui explique pourquoi un même socle .NET peut servir aussi bien à faire tourner un site marchand qu’un logiciel de comptabilité installé localement. **MSIL, la clé de la portabilité** Comme le code source est compilé une première fois vers un langage intermédiaire commun, un programme .NET peut, en théorie, s’exécuter sur n’importe quelle plateforme disposant d’un CLR compatible, sans être recompilé depuis les sources. ## Les services : la Framework Class Library La deuxième brique regroupe les services sous la forme d’un ensemble hiérarchisé de classes, la FCL (Framework Class Library). Cette bibliothèque orientée objet fournit des fonctionnalités toutes prêtes pour les besoins courants d’un développeur : manipulation de fichiers, accès réseau, gestion des collections, sécurité, et bien d’autres. Le SDK (Software Development Kit) fournit l’implémentation concrète de ces classes, prête à être utilisée dans un projet. ![Schéma des couches du framework .Net : CLR, langage intermédiaire MSIL et bibliothèque FCL](https://www.dico-micro.com/images/net-framework.png) ## Un socle multi-langages Grâce au CLR, la plateforme .NET reste indépendante du langage de programmation utilisé et prend nativement en charge un grand nombre d’entre eux, parmi lesquels C#, C++, Visual Basic, Cobol, Fortran, Eiffel, Pascal, Perl, Python ou encore J#. Cette liste, longue, illustre un principe simple : le CLR ne se soucie pas du langage d’origine, seul compte le MSIL qu’il produit en sortie. **Un langage compilé en MSIL peut en appeler un autre** Deux composants écrits dans deux langages différents, l’un en C# et l’autre en Visual Basic par exemple, peuvent s’appeler mutuellement sans conversion, du moment qu’ils passent tous les deux par le CLR. ## Le langage C# Parmi tous ces langages, C# occupe une place particulière : il a été développé spécifiquement pour .NET. Il s’appuie sur les principes de la [programmation par objets](https://www.dico-micro.com/glossaire/p/#programmation-par-objets) et reste dérivé de C++, dont il reprend les grandes caractéristiques tout en simplifiant nettement l’écriture du code, notamment sur la gestion de la mémoire et la syntaxe des classes. ## Visual Studio .NET, l’outil et non le socle Une confusion revient souvent : Visual Studio .NET ne fait pas partie du framework .NET. Il s’agit d’un environnement de développement intégré, proposé par Microsoft, pour écrire, déboguer et compiler des applications conformes aux spécifications .NET. On peut très bien développer en .NET sans Visual Studio, avec un simple éditeur de texte et le SDK en ligne de commande : ce serait juste beaucoup moins confortable. **Une norme, pas un simple produit Microsoft** Le passage par l’ECMA a transformé .NET en standard ouvert sur le papier, ce qui a rendu possibles des implémentations tierces capables de faire tourner du code .NET en dehors de Windows. Retenez la hiérarchie : le CLR exécute, la FCL fournit les briques logicielles, et un langage comme C# sert à écrire le code source qui sera compilé en MSIL. Visual Studio, lui, reste un outil de confort autour de cet ensemble, pas une pièce du moteur. --- ## À propos de l'auteur **Dico Micro** — La rédaction de Dico Micro : matériel, logiciels et culture geek, expliqués sans jargon.