Le terme "Extension d'application" est la traduction française de "Dynamic Link Library".
Mais cette traduction n'est pas très heureuse car elle ne donne pas correctement la fonction d'une DLL.
La traduction littérale de DLL est "Bibliothèque à lien dynamique".
Bibliotèque car une DLL contient une ou plusieurs fonctions indépendantes (très souvent portant sur le même sujet mais pas forcément).
Le terme "lien dynamique" est à opposé au terme "lien statique".
Un "lien statique" est la technique qui consiste à lié le code compilé d'un programme avec le code compilé d'une bibliothèque pour faire un programme exécutable. Dans ce cas là, le code des fonctions est inclu dans le programme exécutable. Cette technique est de moins en moins utilisée car plusieurs programme utilisant la même fonction d'un bibliothèque contiennent le code de cette fonction, ce qui tend à produire des applications plus grosses en taille et à dupliquer le code exécutable sans raison.
Un "lien dynamique" est la technique qui consiste à créer des bibliothèque de fonction en code exécutable (les DLLs) et à ne mettre dans les applications qu'un lien qui dit à quel endroit de la DLL on trouve telle ou telle fonction (d'où le terme "extension d'application").
Ceci à un beaucoup d'avantages :
- La taille des applications est beaucoup plus petite,
- Chaque DLL peut être testée séparement (et dans laquelle, chaque fonction peut-être testée séparement),
- Si on corrige le code d'une DLL, on peut ne changer que cette DLL (et non l'application complète).
L'inconvénient c'est que quand plusieurs applications utilise la même DLL, lors d'un modification de cette DLL, il faut retester toutes les applications pour vérifier qu'il n'y a pas d'impact négatif sur l'une ou l'autre des applications.
En résumé, une DLL est une bibliothèque de fonctions appelables depuis une ou plusieurs applications. Ces appels peuvent être simultanés.
Le meilleur exemple de DLL est KERNEL32.DLL qui contient les fonctions de base de Windows (accès aux fichiers, accès à la mémoire, création de thread, ....). Elle contient environs 950 fonctions et TOUTES les applications qui tournent sur vos machine y font appel.
++
Syg