- DotNetNuke
-
DotNetNuke Développeur DotNetNuke Corporation Première version 2002-12-24[1] Dernière version 5.6.1 (2011-01-19[2]) [+/−] Écrit en VB.Net, C#, SQL Environnement World Wide Web Langue Multilingue Type Système de gestion de contenu Licence licence BSD Site web dotnetnuke.com modifier DotNetNuke (DNN) est un système de gestion de contenu (CMS). 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 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é.
Sommaire
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 : 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[3], et dont le « Core Team », l'équipe au cœur du mouvement, s'occupe du tronc architectural principal.
Le site officiel 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 fonds fin 2008 assure un certain nombre de services commerciaux, dont la diffusion d'une version payante licenciée, qui comporte un certain nombre de composants additionnels et des services de support dédiés.
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 de programmation CSharp (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.
Un travail capitalisé
Une usine à Site Web. Grâce aux multiples possibilités natives de design, de personnalisation, aux fonctionnalités étendues et aux nombreuses extensions communautaires, le webdesigner peut concevoir rapidement des sites Web clés en main, fournissant entre autres aux clients des possibilités d'administration en ligne et de prise en main simplifiée des contenus.
Un tronc architectural pour le développement applicatif. DotNetNuke fournit nativement une riche API (Application Programing Interface). Il enrichit certaines fonctionnalités du Framework ASP.Net, en simplifie d'autres, et prend en charge la plupart des briques de bases communes à la plupart des applications dédiées (gestion des utilisateurs, des permissions etc.). Le développeur applicatif peut se concentrer sur les spécificités métiers de son développement et s'appuyer sur DotNetNuke pour le reste, avec de nombreux exemples d'intégration à sa disposition (dont votre communauté francophone). Les milliers d'extensions communautaires peu onéreuses constituent autant de candidats à l'intégration de fonctionnalités supplémentaires, et nombre de spécialistes DotNetNuke débuteront systématiquement un projet par l'évaluation des composants pouvant être récupérés et adaptés.
Les forces de DotNetNuke
- Sa technologie : le Framework .Net est l'une des technologies de développement les plus puissantes du marché. Microsoft en a fait le coeur de l'ensemble de ses développements à venir. Son spectre s'étend bien au delà des seules applications web et il est possible d'utiliser et de mutualiser des composants issues d'environnements distincts (clients lourds, Smartphones etc.). Des produits aussi variés que Windows, Office, Sql Server sont tous progressivement réécrits en technologie .Net et proposent une grande interopérabilité. Pour l'architecte, DotNetNuke est le frontal Web flexible sur lequel il peut intégrer des composants techniques et métiers parfois lourds et hétérogènes.
- Sa licence d'utilisation : La licence BSD permissive adoptée dès sa création, a incité de nombreux acteurs à s'intéresser à ce projet, dans un cadre commercial ou non.
- Sa communauté : Le grand nombre d'utilisateurs de DotNetNuke et la diversité de leurs profils est une bonne source d'animation ; en témoigne l'activité sur les forums de dotnetnuke.com. Les débutants trouvent facilement de l'aide et les développeur confirmés échangent leur expérience sur tous les canaux traditionnels.
- Son modèle architectural : Les composants clés de DotNetNuke étant modulaires et interchangeables, il est facile de les personnaliser sans toucher au tronc applicatif, et donc en s'autorisant des montées de versions ultérieures issues de la communauté.
Les faiblesses de DotNetNuke
- Sa technologie : La technologie Microsoft est généralement perçue comme contraire à l'esprit Open-Source. Souvent incompris, DotNetNuke est parfois recalé comme un produit ambigu à cheval entre deux mondes supposés antagonistes. Il peut par exemple lui être reproché que la difficulté à trouver des providers de données tiers, qui cantonne son intégration principalement à SQL Server, le disqualifie comme un vrai produit Open-Source. Des exemples répétés et illustrés d'utilisation sous Mono marqueraient sans doute une avancée significative dans le domaine.
- Sa licence : Le caractère ouvertement commercial de l'écosystème DotNetNuke a attiré un certain nombre d'acteurs aux intentions très variables. Il convient dès lors de faire attention notamment lors de l'acquisition d'extensions payantes dont la qualité peut être aléatoire.
- Sa communauté : De par sa taille, la communauté DotNetNuke concilie des intérêts et des aspirations multiples qui confèrent une certaine inertie au projet (Ndlr. Chaque fonctionnalité est débattue comme au sein d'une entreprise dont les projets internes sont mis en concurrence ). Chaque nouveauté doit être introduite avec précaution, et fait souvent l'objet d'ardentes discussions, afin de trouver sa place dans le maximum d'installations existantes.
- Son âge : DotNetNuke existe depuis 2001. Il a connu la migration du Framework 1.1 vers 2.0, puis 2.0 vers 3.5. D'une part, il est naturellement plus laborieux pour le Core team de trouver des développeurs motivés pour migrer le vieux code que pour créer de nouvelles fonctionnalités. Le code source est en conséquence un peu hétérogène et certaines parties tardent à être modernisées. Certaines techniques modernes d'ASP.Net 3.5 et d'ASP.Net 4 pourront également être difficilement adoptées en l'état (MVC, Dynamic Data etc.) pour des raisons architecturales qui sont déjà à l'étude. D'autre part, si les équipes de développement DotNetNuke ont collaboré de façon étroite avec les équipes Microsoft, ce qui est en soit plutôt positif dans la mesure où la techno de base est issus de leurs labos, dans certains cas ils ont pu faire les frais du caractère expérimental de certaines implémentations (lors de la migration en ASP.Net 2.0 notamment).
Notes et références
Lien externe
- (en) Site officiel
Catégories :- Système de gestion de contenu
- Logiciel sous licence libre
Wikimedia Foundation. 2010.