DotNetNuke (DNN) est un Système de Gestion de Contenu (CMS pour Content Management System). Il s’agit d’une application Web dynamique, dotée d’une base de données permettant de gérer directement en ligne son contenu et sa configuration. Son architecture est modulaire et extensible de sorte que son usage couvre une gamme diversifiée de scénarios (Sites Web, Intranets, Extranets, Progiciels, etc.). La version de base comporte la plupart des éléments permettant la conception de portails communautaires (gestion des pages et des principaux types de contenu web, gestion des utilisateurs, de leur accès sécurisé et de leurs permissions, multiples formulaires d’administration en ligne). DotNetNuke emploie les principaux standards du web d'aujourd'hui (xHtml, CSS, JavaScript, Ajax, XML, RSS, etc.).
"DotNetNuke est
le plus gros
projet open-source
en technologie .Net"
DotNetNuke est une application ASP.Net. Au sein du Framework .Net - plateforme de développement objet de Microsoft analogue à la technologie Java - ASP.Net est le composant Web, et s’inspire en partie de la technologie ASP précédente (il peut être aisé de migrer une applications ASP vers ASP.Net, et à fortiori vers DotNetNuke). La première version de DotNetNuke a été conçue sur les bases du starter-kit IBuySpy, diffusé par Microsoft pour promouvoir sa technologie ASP.Net lors de sa sortie en 2000. DotNetNuke a depuis largement évolué.
DotNetNuke est un projet communautaire Open-Source
Il est possible de télécharger librement le code source de l’application pour l’étudier, l’étendre ou le modifier. DotNetNuke est publié sous licence BSD (Référence de Wikipédia) : il s’agit d’une licence relativement permissive qui permet notamment de concevoir des extensions commerciales et de commercialiser l’application elle-même sous des noms distincts. Cela a permis le développement d’un écosystème d’acteurs commerciaux très diversifié.
DotNetNuke est maintenu autour de ses fondateurs par un ensemble d’équipes bénévoles spécialisées organisées en projets, et dont le « Core Team », l'équipe au coeur du mouvement, s’occupe du tronc architectural principal.
Le site officiel www.dotnetnuke.com en constitue le principal point d’entrée. Avec 800 000 inscrits et environ 600 000 sites en production recensés, DotNetNuke est le plus gros projet open-source en technologie .Net.
Depuis 2007, DotNetNuke est géré par une entité commerciale, DotNetNuke Corporation, qui se charge d’animer la communauté, salarie les principaux membres du noyau DotNetNuke, et depuis une levée de fond fin 2008 assure un certain nombre de services commerciaux, dont la diffusion d’une version payante licenciée (DotNetNuke Professional Edition), qui comporte un certain nombre de composants additionnels et des services de support dédiés. Si vous souhaitez en lire plus sur l'histoire de DotNetNuke, lisez ceci (en anglais).
Il existe un AppStore dédié aux extensions DotNetNuke (acquis par DotNetNuke Corp en 2009) : SnowCovered. On y trouve notamment des milliers de modules applicatifs et de thèmes graphiques. La plupart des éditeurs de solutions pour DotNetNuke diffusent leurs modules publics grâce à cette plateforme commerciale qui constitue un bon point d'entrée pour la recherche de nouvelles fonctions.
Une organisation modulaire
La très grande majorité des applications DotNetNuke est hébergée sous Windows sur le serveur Web IIS intégré. Quelques cas d’utilisations peu documentés mentionnent l’hébergement de DotNetNuke sous Linux sur serveur Apache, grâce au composant Mono (port sous Linux de la technologie .Net).
DotNetNuke est composé d’un site web principal et d’un ensemble de librairies associées. La plupart son développées dans le langage VB.Net, quelques une dans le langage C#, et compilées : une petite partie du code source de DotNetNuke est compilée dynamiquement à l’exécution, ou « interprétée », comme c’est le cas dans d’autres technologies Web comme Php, mais la majorité des librairies est livrée compilée dans des « assemblies » (l’ensemble des fichiers .dll qu’on retrouve dans le répertoire /bin). Une partie des composants de DotNetNuke sont déclarés sous forme de « Provider » : ils peuvent être remplacés par des composants tiers fournissant les mêmes fonctionnalités.
Le composant d’accès à la base de données DotNetNuke est l’un de ces providers : cela signifie qu’en théorie, DotNetNuke peut être adapté à tout type de base de données, à condition de fournir le provider associé ! En pratique, DotNetNuke est livré nativement uniquement avec un provider SQL Server (le SGBD de Microsoft), il existe un certain nombre de provider tiers vers d’autre SGBD, mais ils sont assez peu utilisés car pas forcément régulièrement maintenus, et supportant peu d’extensions tierces.
Les versions minimales supportées étaient initialement le Framework .Net 1.1 et SQL Server 2000, puis à partir de la version 4.0 le Framework 2.0, et à partir de la version 5.2 le Framework 3.5 et SQL Server 2005/2008. La version 5.4.0 apporte également le support du Framework .Net 4 (blog de Joe Brinkman).