dotnetnuke - L`Informaticien
Transcription
dotnetnuke - L`Informaticien
11-DOTNUKE 5/05/04 11:05 Page 37 DOTNETNUKE DOTNETNUKE Le choix de la rédaction Lorsque nous avons envisagé la création du site portail de « La Lettre VB.NET », son rédacteur en chef, Pierre Tran, a tout naturellement proposé d’utiliser un projet Open Source utilisant ASP.NET et Visual Basic : DotNetNuke. OTNETNUKE semblait un choix pertinent compte tenu du public visé ; nous avons donc évalué la solution. La prise en main de la version 1.0.10e fut quelque peu déroutante car au premier D Création du compte de l’application. démarrage de l’application une exception sur une conversion de date est survenue. Après consultation des forums, nous découvrîmes que le problème était commun en Europe et dû aux différents formats de date utilisés, un classique ! Toutefois, c’est à peu près la seule déconvenue que nous avons eue avec ce projet. Environ deux mois plus tard, le portail était près. La majeure partie du temps ayant été passée à la traduction de l’interface utilisateur et à la réalisation du système de paiement en ligne. Aujourd’hui, avec l’arrivée de la version 2.0, il suffit de quelques minutes pour déployer ce portail. Ce nouveau cru apporte des avancées significatives. Tout d’abord, plus de problème de date grâce à l’utilisation des classes Globalization du Framework .NET. En revanche, la traduction reste d’actualité parce que les équipes de bénévoles sont en cours de constitution et que le choix de la mise en œuvre n’est pas encore arrêté. L’indépendance d’accès aux données est favorisée par la nouvelle couche d’abstraction d’ASP .NET 2.0, offrant en natif des fournisseurs pour SQL Server et Access. Enfin, grâce aux « skins », la mise en page du site s’effectue grâce à un gabarit HTML contenant des mots clés pour faciliter l’intégration entre graphiste et développeur. Installation Attribution du rôle sur la base DotNetNuke. Rendez-vous sur le site de DotNetNuke pour vous enregistrer et télécharger la version 2.0 du portail, livrée sous la forme d’un fichier zippé. Il suffit de décompresser celui-ci dans un répertoire de votre choix. Recherchez le fichier web.config situé à la racine et ouvrez-le dans votre éditeur. L’Informaticien • Hors-série n° 003 Modifiez la section « Globalization » pour refléter votre configuration, sur une plateforme en français indiquez « fr-FR » pour le paramètre « culture » et « fr » pour « uiCulture ». Comme précisé dans le commentaire, utilisez le codage « iso-8859-1 » pour conserver la compatibilité avec Netscape. Choisissez ensuite la base de données à utiliser avec l’application. Dans le cas d’Access, il n’y a rien de plus à faire puisque c’est la configuration par défaut. Si vous préférez SQL Server, ouvrez Enterprise Manager et commencez par créer une base de données vide nommée « DotNetNuke ». Allez dans « Sécurité » puis « Connexions » et créez un utilisateur « dnnuser ». Sélectionnez le mode d’authentification SQL Server et indiquez un mot de passe (mydnn), puis l’associer à la base « DotNetNuke » par défaut. Dans l’onglet « Accès aux bases de données », sélectionnez l’accès à la base « DotNetNuke » et attribuez le rôle « db_owner » et validez. Recopiez ces informations dans la section « <add name = "SqlDataProvider"… » du fichier web.config, comme suit : « connection String="Server=localhost;Database=Dot NetNuke;uid=dnnuser;pwd=mydnn;" ». Terminez en indiquant « SqlDataProvider » pour le paramètre « data defaultProvider ». Enregistrez le tout et passez au gestionnaire de Services Internet. À partir de votre site Web par défaut, créez un répertoire virtuel nommé « DotNetNuke », pointez sur le répertoire d’installation et laissez les autorisations par défaut. Accédez aux propriétés du nouveau site, dans l’onglet « Documents » 37 11-DOTNUKE 5/05/04 11:05 Page 38 PRATIQUE ajouter « default.aspx » comme page de démarrage et supprimez les autres références. Dernière étape, configurez la sécurité en accédant aux propriétés du répertoire d’installation avec l’Explorateur Windows. Dans l’onglet « Sécurité », ajoutez l’utilisateur « ASP.NET » et appliquez-lui les droits de modification. Lancez Internet Explorer et saisissez l’URL : http://localhost/ DotNetNuke/. Ne soyez pas inquiet quant à la lenteur du premier démarrage, c’est à ce moment que la structure de la base est créée ! • Les modules de base Au démarrage, la page d’accueil vous informe sur les comptes à utiliser pour l’administration du portail. DotNetNuke permet de gérer plusieurs sites sur une seule installation, le compte « host » sert à configurer les paramètres généraux du serveur, il est normalement réservé à l’ISP hébergeant la solution. Le compte « Admin » est utilisé pour le premier site créé par défaut, c’est au travers de celuici que nous allons découvrir les différents modules de base. Cliquez sur « Login » en haut à droite et identifiez-vous en tant qu’utilisateur « admin », mot de passe « admin ». Dès la connexion, le menu d’administration apparaît ainsi que les raccourcis d’accès aux paramètres des différents modules représentés par un crayon. La page se décompose comme suit : tout en haut le menu de gestion des « Tab » et des modules qui n’apparaît qu’en mode « host » ou « admin ». Un « Tab » correspond à une page du site et peut-être lié à un élément du menu. En dessous se trouve la partie « DesktopPortalBanner » qui est un contrôle utilisateur contenant le logo du site, le système de menus et une éventuelle bannière publicitaire. Le corps de la page est quant à lui décomposé en trois parties, « LeftPanel » contenant un module « Links », « ContentPanel » et « RightPanel » qui utilisent un module « Text/HTML » pour afficher le texte d’invite, ainsi que les sponsors. Chacune d’elles peut contenir n’importe quelle combinaison de modules installés. Enfin, le pied de page est représenté par le contrôle « DesktopPortalFooter » contenant divers liens optionnels. Voyons maintenant les cas d’utilisation des différents modules de base. Account Login C’est le module d’identification. Il peut être placé sur une page quelconque, contrairement à la version 1.0.10 qui apparaissait toujours dans « LeftPanel ». Announcements L’incontournable « What’s New ? » des sites portails. Les annonces sont composées au minimum d’un titre et d’une description et peuvent être complétées d’un lien optionnel vers une page ou fichier, d’une date d’expiration, de l’ordre d’affichage dans la page, et de la syndication. Lorsque celle-ci est activée, elle génère automatiquement un fichier des annonces au format RSS. Notez qu’en règle générale, les modules « cliquables » (Annonces, Liens, Bannières, etc.) génèrent automatiquement des statistiques consultables en mode administrateur. Banners Bien utile pour financer votre site par la publicité. Cinq formats standard de bannière sont supportés. Elles peuvent provenir du serveur global ou du site. L’option « Vendors » du menu « Host » ou « Admin » permet de créer les comptes de vos fournisseurs et leurs bannières associées. Les statistiques tiennent à jour le nombre de pages vues et le nombre de clics par bannière et font même le calcul du CA si vous spécifiez le coût par unité. Contacts Une sorte de carnet d’adresses autonome, peut servir à lister les membres d’une équipe et leurs coordonnées. Lorsqu’un mobile WAP visite une page contenant ce module, il est possible de composer directement le numéro de téléphone associé à un contact. Discussions Système de forum simplifié mais suffisant pour beaucoup de sites. Vous pouvez créer différents sujets de discussion en utilisant plusieurs instances de ce module. Il pourra être remplacé avantageusement par le nouveau projet Open Sources « ASP.NET Forums » du site www.asp.net. xoo xooxo xoox oxo oxo ox oo xo oxo ox ox oo xo oxo oxox oo xo oxo oxox oo xo oxo oxox oo xo oxo ox 38 L’Informaticien • Hors-série n° 003 11-DOTNUKE 5/05/04 11:05 Page 39 DOTNETNUKE Documents Map Quest Module de téléchargement. Chaque fichier téléchargeable est décrit par un titre, un lien et une catégorie. De plus, il supporte aussi la syndication. Besoin d’un plan d’accès ? Maq Quest fournit ce service gratuitement. Le module interroge le serveur avec les paramètres spécifiées et affiche le plan correspondant en retour. Events Une gestion d’événements (réunions, salons, rendez-vous, etc.) affichables en liste ou sous forme de calendrier. Ce module a été corrigé dans la version 2.0 et supporte maintenant la langue spécifiée dans les paramétrages du site. FAQs Encore un incontournable des portails, il permet de lister les questions et réponses les plus fréquentes aux visiteurs de votre site. Les questions sont présentées en liste, lorsque le visiteur clique sur l’une d’elles la réponse correspondante s’affiche en dessous. Feedback Un formulaire pour contacter l’administrateur du site par e-mail. Vous devrez indiquer au préalable le serveur SMTP à utiliser dans les paramètres « host », ainsi que l’adresse e-mail du compte administrateur. IFrame Permet d’incorporer un site extérieur mais attention à la compatibilité car seul Internet Explorer supporte correctement les IFrame. Image Simple affichage d’une image du site ou provenant d’un site extérieur, les dimensions et le texte alternatif peuvent être spécifiés. Équivalent à un tag IMG en HTML. Links Une liste de liens internes, externes ou vers un fichier. Un lien peut être complété par une courte description. News Feeds (RSS) Consommateur de données RSS, ce module utilise un canal provenant de votre site ou de l’extérieur. Vous pouvez adjoindre une feuille de style XSL pour transformer à votre convenance les données reçues. L’authentification auprès du serveur est aussi prévue en cas de besoin. Search Contrairement à ce qu’indique le site de DotNetNuke, le module de recherche n’est plus actif dans la version 2.0. Toutefois, le code et les formulaires sont toujours présents dans les sources et pourront donc être utilisés. Une nouvelle version plus complète est en cours de développement ; pour plus d’informations consulter le lien suivant : http://www.asp.net/Forums/ShowPost.aspx? tabindex=1&PostID=542056 Service Directory Même commentaire que pour le module,Search. Dans la version 1.0.10, ce module présentait les vendeurs à la façon des contacts avec un système de recherche intégré. Survey Un module d’enquête livré sous forme de PA (Private Assembly). Les PA sont des modules complémentaires qui permettent d’étendre les possibilités du portail à la façon des « plug-ins ». Text/HTML Certainement le module le plus utilisé. DotNetNuke utilise le projet Open Source FreeTextBox comme éditeur HTML en ligne, mais vous pouvez aussi saisir vos textes L’Informaticien • Hors-série n° 003 en mode Basic. Dans les deux cas, il est possible de basculer en mode HTML pour éditer directement le code source produit. User Account Comme son nom l’indique, ce module permet d’accéder aux informations de compte d’un utilisateur du site. User Defined Table Sert à créer des tables de façon dynamique. Les données sont éditables et présentées en colonnes. Pratique pour de petites listes de données spécifiques. Weather Network Vous désirez informer vos visiteurs sur le temps qu’il fait à New York ? Aucun problème pour les villes des Etats-unis et du Canada, mais nous n’avons pas réussi à lui faire afficher une seule ville en Europe. Peut-être qu’un bug traîne dans le code, car le site www.theweathernetwork.com recense bien Paris et les grandes villes d’Europe. XML/XSL Bien que présent, ce module n’est plus référencé et ne fonctionne pas correctement. De plus, il est redondant avec le module News Feeds car présentant les mêmes possibilités. • Personnalisation avec les « Skins » Le concept de « Skins » ou thèmes permet de modifier l’aspect de votre site sans toucher au code de l’application. Le mécanisme utilisé dans DotNetNuke a été conçu pour simplifier la tâche des graphistes. Généralement ces derniers ne sont pas des spécialistes du développement ASP.NET et peuvent avoir du mal à comprendre l’architecture d’un projet Visual Studio. L’idée est donc de leur permettre de créer un gabarit en pur HTML en utilisant n’importe quel éditeur, tout comme ils pourraient le faire 39 11-DOTNUKE 5/05/04 11:05 Page 40 PRATIQUE DOTNETNUKE pour une page statique. L’astuce est de leur fournir la liste des quinze mots clés réservés par DotNetNuke. Chaque mot clé rencontré dans la page sera remplacé par le module correspondant lors de son importation dans le site. Ainsi, pour insérer le système de menus dans la page, le graphiste incorpore simplement le mot clé [SOLPARTMENU] à l’endroit désiré. Une fois son travail terminé, le graphiste livre les éléments (pages HTML, feuille de style css, images) au développeur qui n’aura plus qu’à préparer un package pour l’importation. Pour découvrir toutes les possibilités offertes, vous trouverez un fichier Word intitulé « DotNetNuke Skinning » dans le sousrépertoire « Documents » de l’application. • Importation d’un package de Skinning DotNetNuke supporte deux types de package. Le « Skin Package » est utilisé pour l’aspect global du site, tandis que le « Container Package » s’applique uniquement au conteneur des modules du site. Les packages importés avec le compte « host » seront disponibles pour tous les sites du serveur. En revanche, s’ils sont importés depuis le compte « admin », ils ne seront disponibles que dans le site concerné. Voyons maintenant comment importer des packages. Pour ce faire, vous devez Votre portail « relooké » en deux minutes. être connecté en tant qu’administrateur. Dans le menu « Admin », sélectionnez « File Manager ». Placez le pointeur de la souris sur le crayon à gauche du titre et cliquer sur « Add New File(s) ». Sélectionnez « Skin Package » dans le module « File Upload » puis cliquez sur le bouton « Parcourir… ». À partir du répertoire d’installation, sélectionnez le fichier « dnn.zip » du sous-répertoire « Portals \_default\Skins\DNN ». Cliquez ensuite sur « Add » puis sur « Upload file(s) ». DotNetNuke traite votre package et vous indique les différentes étapes de transformation en bas de l’écran. Après traitement, cliquez sur « Cancel » et sélectionnez à nouveau « Add New File(s) » dans le module « File Manager ». Cette fois, cliquez sur « Container Package » puis sur le bouton « Parcourir… ». Toujours à partir du répertoire d’installation, sélectionnez le fichier « dnn.zip » du sous-répertoire « Portals\ _default\Containers\DNN ». Importez le fichier en cliquant sur « Add » puis « Upload file(s) » comme précédemment. • Utilisation du package Une fois les packages importés, ils peuvent être appliqués indifféremment aux pages du site comme aux pages d’administration. Il ne reste plus qu’à modifier les paramètres du site pour visualiser le nouveau thème. Cliquez sur l’option « Site Settings » du menu « Admin » pour afficher les paramètres. Sélectionnez la valeur « DNN – Skin » pour les champs « Portal Skin » et « Admin Skin ». Puis sélectionnez la valeur « DNN – Standard » pour les champs « Protal Container » et « Admin Container ». Validez vos modifications en cliquant sur « Update » en bas d’écran et… admirez le résultat. ■ Les paramètres du site. 40 L’Informaticien • Hors-série n° 003