Assembly

Définition, exemples et bonnes pratiques

À retenir

  • C'est l'unité de base pour déployer et versionner un logiciel .NET.
  • Il contient un manifeste, sorte de carte d'identité listant le contenu et les dépendances.
  • Il peut prendre la forme d'une bibliothèque (.dll) ou d'un exécutable (.exe).

Un assembly est un bloc de construction logiciel qui regroupe du code compilé, des ressources (images, textes) et des informations de configuration. Imaginez-le comme une boîte prête à l'emploi contenant toutes les pièces nécessaires pour faire fonctionner une partie spécifique d'un programme informatique.

Étymologie

Emprunté à l'anglais assembly (assemblage), le terme évoque l'action de réunir plusieurs éléments disparates (code source, métadonnées, ressources) en une seule entité cohérente et exploitable par le système.

Exemples d'usage

  • Un fichier .dll (Dynamic Link Library) contenant des fonctions de calcul partagées entre plusieurs logiciels.
  • Un fichier .exe qui permet de lancer directement une application sur Windows.
  • Un paquet de ressources localisées contenant les traductions d'une interface logicielle.

Cas d'usage

Ce concept est central dans l'écosystème Microsoft .NET. Il intervient lors du déploiement d'applications, de la gestion des versions (pour s'assurer que le programme utilise la bonne version d'un composant) et de la sécurité (signature numérique du code).

Bonnes pratiques

Il est recommandé de découper un grand projet en plusieurs petits assemblies thématiques plutôt qu'un seul bloc massif. Cela facilite la maintenance et permet de ne mettre à jour qu'une petite partie du logiciel sans tout réinstaller.

Synonymes

bibliothèque logicielle binaire module package

Antonymes

code source script

Conseil

Si vous débutez en programmation, considérez l'assembly comme le produit fini que vous livrez à l'utilisateur, par opposition au code que vous écrivez dans votre éditeur.

Questions fréquentes

Quelle est la différence avec un fichier JAR en Java ?

Le concept est très proche : les deux servent à empaqueter du code compilé, mais l'assembly est spécifique à l'univers .NET alors que le JAR appartient à l'univers Java.

Un assembly contient-il du code source ?

Non, il contient du code intermédiaire (IL) déjà compilé, qui sera transformé en instructions machine lors de l'exécution.