Blog ENI : Toute la veille numérique !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
💥 Du 22 au 24 novembre : Accès 100% GRATUIT
à la Bibliothèque Numérique ENI. Je m'inscris !
  1. Livres et vidéos
  2. PHP et MySQL
  3. Corrigé 8
Extrait - PHP et MySQL Entraînez-vous à développer une application collaborative
Extraits du livre
PHP et MySQL Entraînez-vous à développer une application collaborative Revenir à la page d'achat du livre

Corrigé 8

Prérequis

1.

c.

La réponse c est la bonne. La commande chown change le propriétaire d’un fichier et les deux autres commandes sont hors propos.

2.

b.

SSH est un protocole pour des consoles distantes sécurisées. Réponse b.

3.

c.

Dans le cadre de l’UEM (User Experience Monitoring), l’instrumentation du code fournit des informations sur l’exécution d’une page. Ces informations sont collectées et consignées pour alimenter des tableaux de bord.

4.

b.

La réponse b correspond le mieux à la question, bien que la vitesse du site ou la fréquentation spécifique à chaque page soient également des métriques apportées par la rubrique Comportement.

Corrigé 8.1 Gestionnaire de configuration

 Cet exemple montre la grande souplesse du langage PHP. Le fichier config.php est désormais très court, mais il ne faut pas oublier de reporter toutes les modifications du fichier config-dev.php vers config-prod.php.

<?php  
/* 
* config.php 
* (C) 2019 BAG 
* Fichier de configuration générale 
*/ 
   const CONFIG_DEV = 1; 
   const CONFIG_PROD = 2; 
 
   $current_config = CONFIG_DEV; 
 
   switch($current_config) { 
       case CONFIG_DEV: 
           require_once 'config-dev.php'; 
           break; 
       case CONFIG_PROD: 
           require_once 'config-prod.php'; 
           break; 
   } 
?> 

 Pour commencer, voici la configuration. Attention de choisir un répertoire sur lequel Apache et PHP ont des droits en lecture et en écriture.

/* 
* FileTraceWriter 
*/ 
function get_filetracewriter_path() { 
   return "c:/TEMP/"; 
} 

Voici maintenant la classe FileTraceWriter. Le fichier de log est structuré de façon à conserver chaque trace sous la forme...

Corrigé 8.2 Déployer le site sur le cloud

 Au moment de la rédaction de cet ouvrage, Microsoft propose un service d’application PHP sous Windows avec MySQL et IIS ou un service d’application PHP sous Linux sans MySQL et Apache. Nous retenons bien entendu cette deuxième solution.

images/C08TP03.png

 Il faut cliquer sur FTP puis sur Tableau de bord. À ce moment apparaît sur la droite un panneau avec les informations de connexion à renseigner dans le client FTP.

images/C08TP04.png

 Les fichiers sont à uploader depuis le répertoire virtuel local dans wwwroot :

images/C08TP04.1.png

 À titre de test, choisissez la configuration hardware la plus faible. Il sera toujours temps d’augmenter en fonction des besoins de la production.

images/C08TP05.png

 Cette adresse IP est utilisée à la question suivante.

images/C08TP06.png

 Naviguez dans le menu Connection security. Donnez un nom à la règle du firewall (par exemple teamupwebaccess) puis indiquez l’adresse IP comme début et fin de la plage autorisée.

images/C08TP07.png

 Utilisez la commande Exporter de phpMyAdmin pour générer un script de la base de données. L’option avancée offre plus de possibilités que la méthode rapide.

images/C08TP07.1.png

 Modifiez le fichier config.inc.php en indiquant le nom de l’hôte MySQL :

$cfg['Servers'][$i]['host'] = 'teamupmysql.mysql.database.azure.com'; 

Il peut être également...

Corrigé 8.3 Monitoring du site web

 À la création de l’application dans AppDynamics, il est utile de noter le numéro de l’application pour pouvoir la distinguer des autres. L’étape Set Browser Application se déroule en fait après coup.

images/C08TP10.png

 Le code est généré directement par l’interface AppDynamics.

images/C08TP11.png

Il est à reporter dans la page template _mainlayout.php :

<?php require_once '../comfpl/main.php';?><html> 
<head> 
<title><?php echo (isset(\FPLGlobal::$view_bag->title)?\
FPLGlobal::$view_bag->title:'Team up')?></title> 
<?php require_once 'phpinclude/commonmeta.php';?> 
<?php require_once 'phpinclude/theme.php';?> 
<?php FPLGlobal::render_bundle_css()?>  
<?php FPLGlobal::render_bundle_script()?> 
 
<script charset='UTF-8'> 
window['adrum-start-time'] = new Date().getTime(); 
(function(config){ 
   config.appKey = 'AD-AAB-AAT-CDS'; 
   config.adrumExtUrlHttp = 'http://cdn.appdynamics.com'; 
   config.adrumExtUrlHttps = 'https://cdn.appdynamics.com'; 
   config.beaconUrlHttp = 'http://pdx-col.eum-appdynamics.com'; 
   config.beaconUrlHttps = 'https://pdx-col.eum-appdynamics.com'; ...

Corrigé 8.4 Réaliser un SEO basique avec Google Analytics

 La technique d’instrumentation est très similaire à AppDynamics :

<script> 
 window.dataLayer = window.dataLayer || []; 
 function gtag(){dataLayer.push(arguments);} 
 gtag('js', new Date()); 
 
 gtag('config', 'UA-149689530-1'); 
</script> 

 En naviguant sur le site, les traces du navigateur montrent bien que des connexions ont lieu vers Google Analytics :

images/C08TP13.png

 Deux utilisateurs en simultané, ce n’est pas encore un trafic très soutenu ! Mais la valeur de Google Analytics réside surtout dans ses tableaux de bord consolidés.

images/C08TP14.png

 La rubrique Comportement indique que les utilisateurs passent en moyenne 1 minute et 17 secondes par page. Selon les pages et le type d’application (application de gestion, boutique), ce chiffre peut s’avérer trop bas ou trop haut.

images/C08TP15.png