jeudi, mars 28, 2024

Le Blog de Teamy

En route pour l'école 2.0

Déploiement du CMS DNN dans Microsoft Azure


Résultat de recherche d'images pour "dnn" DNN, ou DotNetNuke, est une solution CMS Open Source construite sur des technologies Microsoft. Une approche Open Source sous Windows c’est un peu bizarre mais en fait c’est très cohérent pour les raisons suivantes.

L’outil de développement naturel de DNN est Visual Studio. Le noyau de l’application est écrit en C#, un langage apprécié et maitrisé par une large communauté de développeurs en entreprise.

DNN est fourni en standard avec le provider pour SQL Server, qui est sa base de données naturelle. Le système d’authentification par défaut de DNN est assuré par l’ASP .NET Membership Provider. Les identifiants d’accès à un site DNN peuvent donc être partagés avec toute autre application, par la simple mise en œuvre des méthodes du provider Microsoft.

DNN dispose de connecteurs lui permettant de se relier sans difficulté à SharePoint, la solution collaborative utilisée en entreprise. Ceux-ci permettent d’exposer publiquement certaines données de l’intranet sur un site internet, sans compromettre la sécurité des données SharePoint.

DNN intègre en standard les librairies JQuery. Il permet également de mettre en œuvre le puissant langage de requête Linq, et, pour des applications plus importantes, de générer des modèles Entity Framework sans difficulté.

DNN est sous licence Open Source certifiée OSI. Une licence non-contraignante, protégeant les développements internes.

On trouve de tout dans l’écosystème DNN : thèmes graphiques, modules, contributions, le tout gratuit, très bon marché ou payant, avec ou sans contrat de mise à jour dans la durée, mono ou multi-sites, mono ou multi-serveurs. Cet écosystème riche et varié est possible grâce à la licence libérale de type BSD d’une part, et du fait de la culture d’entreprise de l’environnement professionnel Microsoft d’autre part.

Mon objectif dans cet article est de vous décrire le processus de mise en ligne d’un site DNN via l’offre Microsoft Azure. https://portal.azure.com

Nos besoins en terme de ressources dans Microsoft Azure

  • Une base de données SQL Serveur
  • Une application web pour héberger le site DNN

Création d’un groupe de ressources

Afin de gérer de manière centralisée ces ressources, la première chose à créer dans le portail Azure, est un groupe de ressources.

clip_image002[6]

Nous allons donc dans la section « Groupes de ressources », et y ajouter un nouveau groupe.

clip_image003[6]

  • Nom du groupe : DNN-Test-Ressources
  • Choisir votre abonnement
  • Emplacement : Géolocalisation de votre groupe de ressources

Il faut patienter quelques secondes, et rafraichir votre écran, votre nouveau groupe est prêt !

Vous pouvez consulter ce nouveau groupe de ressources, qui pour le moment est vide.

clip_image004[6]

Création de la base de données SQL Serveur

Depuis votre groupe de ressources, vous allez ajouter une base de données SQL Serveur.

clip_image005[6]

On fera donc le choix de créer une « SQL Database » !

clip_image006[6]

Pour obtenir une SQL database, il faut d’abord créer un serveur SQL, ou utiliser un existant.
Ici nous allons créer un nouveau Serveur SQL

clip_image007[7]

Attention de bien conserver, les paramètres d’authentification pour l’accès à votre base de données.

Ensuite nous pouvons finaliser la création de la base de données.

clip_image008[6]

A moins d’avoir de très gros besoins de stockages, une base données « Basic » avec 2Go est largement suffisante. Concernant la notion de DTU, je vous invite à lire l’article suivant : https://docs.microsoft.com/fr-fr/azure/sql-database/sql-database-service-tiers-dtu

Il va falloir patienter quelques minutes

clip_image009[8]

On retrouve maintenant ceci dans notre groupe de ressource

clip_image010[6]

Création de l’application web

Depuis votre groupe de ressources, vous allez ajouter une application web

clip_image011[6]

clip_image012[6]

Pour mettre en ligne une web application, il vous faut créer un plan App Service qui vont déterminer l’emplacement, les fonctionnalités et le coût de votre application web. Vous pouvez aussi utiliser un plan existant.

clip_image013[6]

En terme de plan, je fais le choix d’un S1 Standard, qui me suffit pour commencer

clip_image014[7]

Je peux maintenant finaliser la création de mon application web

clip_image015[6]

Il va falloir patienter quelques minutes

clip_image009[9]

On retrouve maintenant ceci dans notre groupe de ressource

clip_image016[6]

A ce stade nos ressources Azure sont prêtes, il nous reste à déployer le CMS DNN.

Récupération des fichiers d’installation de DNN

Nous devons d’abord récupérer le setup de déploiement de DNN, via le lien suivant :
https://www.dnnsoftware.com/community/download

Attention de bien prendre le lien vers « Download DNN platform »

clip_image017[6]

Ensuite de télécharger en local le package d’installation de la dernière version disponible, ici la 9.2.2

clip_image018[6]

Dès que le téléchargement du package d’installation est terminé, il faut le décompresser en local.
Il nous reste à transférer tous les fichiers vers la web application Microsoft Azure.

Déploiement de DNN sur Microsoft Azure via DropBox

Microsoft Azure propose plusieurs façons de déployer des fichiers sur une Web App, celle que j’utilise est une synchronisation via DropBox.

J’ouvre donc le détail de ma Web Application

clip_image019[6]

Dans le menu contextuel, vous trouverez l’entrée « Options de déploiements »

clip_image020[5]clip_image021[5]

Il faudra fournir vos paramètres d’authentification Dropbox pour pouvoir interconnecter votre WebApp à votre compte Dropbox. Si vos paramètres d’authentification sont acceptés, un nouveau dossier Dropbox devrait apparaitre en local sur votre poste (si celui-ci synchronise votre Dropbox)

C:\Users\xxxxxx\Dropbox\Applications\Azure\DNN-Test-WebApp

clip_image022[6]

Il vous reste donc à transférer vos fichiers d’installation DNN dans ce dossier dropbox.

Ensuite, dans Microsoft Azure, via les options de déploiement de votre Web App, il vous reste à lancer une synchronisation.

clip_image023[6]

clip_image024[7]

clip_image025[6]

Un peu de patiente maintenant !

clip_image026[6]

Et au bout de quelques « longues » minutes

clip_image027[6]

Le package d’installation de DNN contient environ 2.673 fichiers, il faudra peut-être relancer la synchronisation pour que ceux-ci soient tous remontés vers votre Web App. Cela s’explique par le fait que votre contenu local Dropbox n’est pas encore en ligne sur votre Dropbox au moment où vous lancez la synchronisation vers votre Web App Microsoft Azure.

Revue de vos ressources Microsoft Azure

Nous avons donc un groupe de ressources « DNN-Test-Ressources »

clip_image028[6]

Ce groupe contient les ressources suivantes

DNNTestSQLServer : Notre instance SQL Server, dont le compte d’administration est dnnsa

clip_image029[5]

Notre serveur SQL est accessible via dnntestsqlserver.database.windows.net

Ce serveur héberge la base de données dnntest-db

clip_image030[5]

DNN-Test-PlanAppService : Notre conteneur d’applications

clip_image031[5]

Ce conteneur héberge notre Web App DNN-Test-WebApp

clip_image032[5]

Notre application web est accessible via l’url : https://dnn-test-webapp.azurewebsites.net

clip_image033[5]

Configuration de notre CMS DNN

Il est maintenant temps d’exécuter pour la première fois notre application web. Au premier lancement, DNN va se rendre compte qu’il n’est pas configuré, et va donc nous proposer de le faire.

Via votre navigateur préféré, https://dnn-test-webapp.azurewebsites.net/

Si tout s’est passé correctement dans les étapes précédentes vous devriez arriver sur la page d’installation de DNN.

clip_image034[5]

A vous de configurer les paramètres selon vos besoins.

Par contre pour les informations de base de données, là il faut être attentif

clip_image035[5]

Si vos paramètres de base de données sont correctement introduits, le setup de DNN doit se lancer

clip_image036[5]

La configuration complète de votre CSM DNN peut prendre jusqu’à 10 minutes, donc un peu de patiente.

clip_image037[5]

Il ne vous reste plus qu’à prendre la main sur votre site web DNN !!!

En espérant que cet article pourra vous aider à prendre en main le CMS DNN et la plateforme Microsoft Azure.

Sur le même sujet, je vous proposerai rapidement deux autres articles.

Le premier concernant la gestion des DNS et Alias de DNN, car l’url https://dnn-test-webapp.azurewebsites.net/ n’est pas très « sexy » pour un site web, et un second article sur comment transférer un site DNN existant vers Microsoft Azure.

Comment avez-vous trouvé ce billet ?

N'hésitez pas à voter !

Score moyen 0 / 5. Nombre de vote 0


S’abonner
Notifier de
guest

0 Commentaires
Inline Feedbacks
View all comments