Skip to content

Latest commit

 

History

History
206 lines (141 loc) · 10.2 KB

README.md

File metadata and controls

206 lines (141 loc) · 10.2 KB

Microsoft Azure App Service

Pour ce mini-hack, je vous propose d'utiliser Microsoft Azure App Service pour déployer une application PHP Symfony3. Ce tutoriel se déroule en 3 phases :

  1. La vérification des prérequis nécessaires
  2. La création d'une application web Azure avec Microsoft Azure App Service
  3. La création et le déploiement d'une application Symfony3 sur Microsoft Azure

1) Prérequis

2) Création d'une nouvelle application web avec Azure App Service

2.1) Quelques mots sur Azure App Service

Azure App Service est un service de plateforme ou Paas (Platform as a Service) qui permet de créer des applications web et mobiles dans le cloud Azure.

2.2) Créer une nouvelle application web avec Azure App Service

Pour créer une nouvelle application web depuis le portail Azure :

  • Cliquez sur Nouveau > Web + mobile > Application web

Portail Azure App Service

  • Complétez ensuite les premières informations nécessaires :
    • Saisissez le nom de l'application : à vous de choisir (attention de ne pas choisir un nom déjà pris)
    • Sélectionnez l'abonnement Azure (dans le cas où vous auriez plusieurs abonnements Azure)
    • Sélectionnez l'option Nouveau pour le groupe de ressources et saisissez un nom pour ce groupe de ressources (attention de ne pas choisir un nom déjà pris)

Portail Azure App Service

  • Créez un plan Azure App Service pour l'application web :
    • Cliquez sur [+] Créer nouveau
    • Saisissez un nom pour le nouveau plan App Service (attention de ne pas choisir un nom déjà pris)
    • Sélectionnez un emplacement : pour ce mini-hack, sélectionnez l'Europe occidentale (West Europe)
    • Cliquez sur Niveau de tarification puis cliquez sur Afficher tout pour afficher davantage d'options de tarification, telles que Gratuit et Partagé
    • Sélectionnez le niveau de tarification F1 (gratuit) pour le service puis cliquez sur Sélectionner
    • Valider l'ensemble en cliquant sur OK

Portail Azure App Service

  • Renseignez enfin les dernières informations nécessaires :
    • App Insights : laisser désactivée cette fonctionnalité qui n'est pas dans le périmètre de ce mini-hack
    • Epingler au tableau de bord : conseillé pour accéder plus facilement à votre service
    • Cliquez sur le bouton Créer pour lancer la création de l'appplication web

Portail Azure App Service

Une fois la création terminée, le portail Azure affiche une vue d'ensemble de l'application web.

  • Cliquez sur le lien vers l'URL de l'application web

Portail Azure App Service

Le navigateur affiche une page par défault indiquant que l'application web a été créée avec succès.

Portail Azure App Service

2.3) Configurer la version de PHP

Azure App Service permet de paramétrer la version de PHP utilisée pour l'exécution d'une application PHP. Nous allons maintenant paramétrer l'application web Azure pour qu'elle utilise PHP en version 7.

  • Dans la section Paramètres de l'application web, cliquez sur Paramètres de l'application
  • Sélectionnez la version 7 de PHP
  • Cliquez sur Enregistrer pour valider les modifications

Portail Azure App Service

3) Création et déploiement d'une application PHP Symfony3

3.1) Quelques mots sur Symfony3

Symfony3 est la dernière version courante du framework Symfony de SensioLabs. Ce framework permet de créer des applications PHP allant du simple blog aux grandes applications critiques d'entreprise. Symfony permet de programmer avec une approche orientée composant en permettant ainsi au développeur d'utiliser toute ou partie du framework dans la construction d'une application.

3.2) Créer une nouvelle application Symfony3

3.2.1) Installer Symfony Installer

Pour ce faire, nous allons utiliser un programme d'installation dédié nommé Symfony Installer.

  • Pour installer Symfony Installer, suivez les instructions ci-dessous en fonction de votre système d'exploitation :
# Sous Mac OS X ou Linux
$ sudo curl -LsS https://symfony.com/installer -o /usr/local/bin/symfony
$ sudo chmod a+x /usr/local/bin/symfony

# Sous Windows
c:\> php -r "file_put_contents('symfony', file_get_contents('https://symfony.com/installer'));"

Note pour les utilisateurs sous Windows :

  • Ajoutez le fichier symfony dans la variable d'environnement PATH pour pouvoir appeler ce programme depuis n'importe quel répertoire.

3.2.2) Démarrer un nouveau projet d'application Symfony

  • Pour démarer un nouveau projet d'application Symfony, suivez les instructions ci-dessous en fonction de votre système d'exploitation :
# Sous Mac OS X ou Linux
$ symfony new <my_project_name>

# Sous Windows
$ php symfony new <my_project_name>

Après quelques secondes, la nouvelle application Symfony est prête pour être exécutée en local.

  • Pour lancer l'exécution de l'application, suivez les instructions indiquées dans le terminal (ignorez la configuration du fichier parameters.yml) :

Symfony

Le navigateur affiche alors la page montrée dans la figure ci-dessous :

Symfony

3.3) Configurer le déploiement d'une application web sur Azure

Pour déployer une application web sur Azure, il faut au préalable retourner sur l'application web Azure créée dans la section 2. Pour configurer la souce de déploiement :

  • Rendez-vous sur le portail Azure
  • Cliquez sur l'application web (épinglée normalement sur le tableau de bord du portail)
  • Dans la section Déploiement des applications de l'application web, cliquez sur Options de déploiement
  • Cliquez sur Choisir la source
  • Sélectionnez Référentiel Git local
  • Cliquez sur OK pour valider le choix de la source de déploiement

Symfony

L'application web dispose désormais d'une URL de clonage Git accessible depuis la vue d'ensemble de l'application comme le montre la figure suivante :

Symfony

Si vous n'avez jamais déployé d'application web Azure à partir d'un référentiel Git local, il est nécessaire de renseigner les informations d'identification du référentiel Git local :

  • Dans la section Déploiement des applications de l'application web, cliquez sur Informations d'identification de déploiement
  • Saisissez un nom d'utilisateur
  • Saisissez un mot de passe
  • Confirmez le mot de passe
  • Cliquez sur Enregistrer pour valider les informations d'identification

Symfony

3.4) Déployer une application Symfony sur Azure

Maintenant que la source de déploiement est entièrement configurée, il est temps de déployer l'application PHP Symfony3 créée dans la section 3. Juste avant cela, intéressons nous aux 3 fichiers contenus dans le répertoire Sources du mini-hack :

  • web.config
  • .deployment
  • deploy.sh

Le fichier web .config : Ce fichier permet de définir les règles de réécriture des URL comme vous le feriez habituellement dans un fichier .htaccess. Ces règles sont nécessaires pour que l'application se comporte correctement lors de la navigation.

Le fichier .deployment : Ce fichier permet de personnaliser le déploiement d'une application web sur Azure avec Azure App Service. Dans cet exemple, le fichier .deployment contient une instruction de configuration pour que le fichier deploy.sh soit exécuté lors du déploiement.

Le fichier deploy.sh : Ce fichier écrit en shell permet de scripter le déploiement de l'application. Le nom du fichier est important pour que le déploiement fonctionne (n'oubliez paz le point devant le nom). Son utilisation n'est pas systématique lorsque l'on déploie des application web avec Azure App Service. Néanmoins, pour une application PHP qui utilise le programme composer pour installer les dépendances du projet d'application, le fichier .deployment est obligatoire.

Pour procéder au déploiement de l'application :

  • Copiez les fichiers web.config, .deployment et deploy.sh à la racine du projet d'application Symfony
  • Exécutez les commandes suivantes depuis un terminal :
$ git init
$ git remote add azure <url_de_clonage_git_de_l'application_web>
$ git add .
$ git commit -m "Déploiement de l'application PHP Symfony3" 
$ git push azure master

Le déploiement dure quelques minutes. Une fois le déploiement terminé, lancez de nouveau l'application web Azure dans un navigateur pour observer le résultat.

Symfony

C'est terminé ! Pensez à valider votre mini-hack, il y a des cadeaux à gagner !

Pour aller plus loin

Ces parties sont optionnelles dans le cadre du mini-hack, mais voici quelques idées pour aller plus loin :