Formation, Conseils, Sites Internet

Nous contacter : contact@xlformation.com - 06 25 58 02 97

jchoptimize 400x400

Utiliser un CDN ou la fonctionnalité "Domaine sans cookie"

De quoi avez-vous besoin pour mettre en place la fonctionnalité CDN/Domaine sans cookie

La fonctionnalité "CDN/Domaine sans Cookie" (ou en anglais "CDN/Cookieless cookie") n'est disponible que sur la version Pro (et donc, également dans l'onglet "Fonctionnalités Pro").

Celle-ci est utilisé pour charger des fichiers "statiques" à partir d'un CDN ou d'un domaine sans cookies. Le plugin avec cette fonction activée va alors réécrire les urls de tous les fichiers statiques de manière à ce qu'ils soient chargés depuis soit le CDN, soit le(s) domaine(s) sans cookie.

A partir du moment où la fonctionnalité est activée, le plugin va analyser toutes les urils de votre site pour trouver tous les fichiers statiques et modifier alors le chemin en utilisant les domaines ou CDN que vous avez déclarés dans le plugin. Ceci s'active autant pour les urls relatives que les urls absolues. Par exemple, vous pouvez voir ci-dessous les urls modifiées en imaginant que le domaine statique (donc le "domaine sans cookie") est appelé static.mydomain.com et que le nom de domaine du site est www.mydomain.com


Exemple - Urls modifiées pour appeler les fichiers statiques depuis le domaine sans cookie ou un CDN

Urls originales

<link rel="stylesheet" href="/media/system/css/frontediting.css" type="text/css" />
<script src="/media/jui/js/jquery.min.js" type="text/javascript"></script>
<img src="http://www.mydomain.com/screenshots/rocketlauncher/frontpage/showcase/optimizweb.png" alt="">                                                                

Urls transformées après activation de la fonction dans le plugin

<link rel="stylesheet" href="//static.mydomain.com/media/system/css/frontediting.css" type="text/css" />
<script src="//static.mydomain.com/media/jui/js/jquery.min.js" type="text/javascript"></script>
<img src="//static.mydomain.com/screenshots/rocketlauncher/frontpage/showcase/optimizweb.png" alt="">                                                                

Ok... Mais c'est quoi un CDN ??

Un CDN (Content Delivery Network), en français un "Réseau de Distribution de Contenus" correspond à plusieurs serveurs, idéalement répartis à travers le monde, contenant tous les fichiers statiques de votre site. Le CDN va copier sur ses propres disques dur tous vos fichiers statiques de manière à ce qu'ils soient disponibles et dispersés géographiquement. A partir du moment où un visiteur arrive sur votre site, c'est alors le serveur le plus proche du visiteur qui va fournir les fichiers statiques.

Et un domaine sans cookie ???

Un domaine sans cookie est un domaine séparé de votre domaine principal où se trouve votre site, quelques fois un sous domaine, mais réglé pour ne jamais stocker de cookies. Le problème avec les cookies et qu'à partir du moment où votre serveur a déterminé un cookie pour votre domaine, toutes les requêtes HTTPS vers ce domaine incluent un cookie, même si le server n'en a pas l'utilité pour faire fonctionner le site comme c'est alors le cas pour tous les fichiers CSS, Javascript, et les images de votre site. En appelant alors vos fichiers statiques (donc les images, le CSS, le javascript) depuis un "domaine sans cookie", vous éliminez le code inutile généré par les entêtes de requête, ceci augmentant mécaniquement les performances de votre site.kieless domains, you eliminate useless codes from the request headers, improving performance.
 
Avant d'activer cette fonction, que devez-vous faire ?

Pour pouvoir bénéficier de cette fonctionnalité, vous aurez besoin d'un CDN configuré ou d'un domaine sans cookie également configuré (l'un, l'autre, ou les 2 :). De plus, n'oubliez pas que cette fonctionnalité n'est accessible que dans la version PRO de JCH Optimize.CoC


Comment configurer un CDN / domaine sans Cookie

Mettez en place un CDN ou un domainez dans Cookie

 

Pour mettre en place un CDN "Pull Zone"

Inscrivez-vous chez un fournisseur de CDN offrant un système de "pull zone" (et pas "push zone"). Les CDN populaires suivant fonctionnent avec JCH Optimize . The following popular CDNs should work with JCH Optimize:

  • MaxCDN
  • CDNify
  • Amazon CloudFront
  • KeyCDN

NOTE : un CDN "Pull Zone" correspond à un CDN qui vient recopier depuis votre site les fichiers statiques. C'est l'inverse d'un CDN "Push Zone" où les contenus sont envoyés vers le CDN. En clair, cela vous évite de faire la copie manuellement !

 A SAVOIR : CloudFlare ne fonctionne pas de cette manière avec JCH Optimize. Pour configurer CloudFlare, vous n'avez pas besoin du plugin. Consultez la documentation et le support technique de Cloudflare directement.

 
 
Pour mettre en place votre "pull zone", consultez la documentation du CDN utilisé : il devrait y avoir un endroit où vous pouvez indiquer au CDN où il peut aller chercher les ressources statiques pour votre site. Il s'agit alors ici d'indiquer votre domaine principal pour que le CDN puisse venir y chercher les ressources statiques et les copier sur son propre serveur.

 

Mettre en place un Domaine sans cookie

 

Il existe 2 moyens très simples pour réaliser cette création : créer un sous domaine pointant vers votre propre domaine.

Dans cet exemple ci-dessus, on considère que le site original a été installé dans le dossier "public_html". En créant le sous-domaine "static" du domaine "jch-optimize.net", on le fait donc pointer exactement au même endroit.

On va donc au final accéder à notre site soit par le nom de domaine principal, soit depuis le sous domaine qui fournira la même chose.

 

La 2nde méthode utilisable est d'ajouter directement le sous domaine en créant un enregistrement dans les DNS de votre domaine. Vous utiliserez alors un enregistrement de type CNAME avec le même domaine ou un autre domaine : le but est juste de créer un pointage "virtuel" permettant d'accéder aux fichiers statiques de votre domaine sans avoir à les dupliquer.


 

Notez que si vous utilisez un sous domaine, assurez que votre CMS a ses cookies paramétrés pour être utilisé sur www.mondomaine.com (vous remplacez ici bien évidemment par votre nom de domaine !) et pas au niveau du domaine de premier niveau "mondomaine.com". Pour vérifier ce point, consultez la documentation de votre plateforme pour savoir comment régler le cookie de domaine.

Sur Wordpress, cela se fait dans le fichier wp-config :

WordPress Cookie Domain

Set WordPress cookie domain in wp-config.php :

define('COOKIE_DOMAIN', 'www.yoursite.com');

Sur Joomla, cela se fait directement dans la configuration du site.

 

A savoir : il n'est pas obligatoire de modifier le paramétrage des cookies de votre CMS, vous devez vérifier sur votre propre site ! Je n'ai jamais eu à modifier ceci dans Joomla! par exemple...

 

Activer la fonctionnalité

Il ne vous reste maintenant qu'à déclarer votre CDN ou votre domaine sans cookie dans le plugin et activer la fonctionnalité. Vous pouvez également déclarer de multiples domaines (au maximum 3) pour avoir un chargement "parrallèle" depuis les différents domaines. Le plugin va alors alterner les demandes de fichier entre les différents domaines pour accélerer le chargement de ceux-ci : dans l'absolu, si vous avez votre domaine + 3 sous domaines, votre site va se charger depuis "4 canaux" en simultané..


ASTUCES !

Pour avoir mis en place des domaines sans cookies pour plusieurs sites, je peux vous remonter ce qui fonctionne bien et ce qui fonctionne moins bien pour ces domaines sans cookie !
 
- Vous pouvez créer 3 sous domaines sans vous casser la tête : static1.mondomaine.com, static2.mondomaine.com, static3.mondomaine.com (encore une fois, c'est un exemple ! Mettez ici votre propre domaine !).
 
Au niveau du paramétrage, vous pouvez avoir une alerte au niveau d'un test GTMetrix : après avoir créé les sous domaines et les avoir déclarés dans JCH Optimize, vous pouvez avoir une alerte de type "Serve ressources from consistent URL".
Pourquoi ? Parce qu'un fichier appelé plusieurs fois dans une mêmepage peu très bien se retrouver avec un appel sur chaque sous domaine !
 
Pour contrer cela sans modifier votre page, j'ai trouvé une petite astuce qui peut sembler "réduire" l'intérêt (on perd une partie de la parrallélisation des ressources) ici mais qui fonctionne bien pour éviter ce souci :
 
JCH domaines sans cookie
A la place de laisser toutes les ressources sur le même sous domaine, je charge le 1er sous domaine des images, le 2e des pdf et du CSS, et le 3e uniquement du Javascript.
Ceci peut être adapté bien évidemment à la réalité de votre site : si vous n'avez aucune alerte "d'urls inconsistantes", vous pouvez ne rien décocher ou ne laisser une ressource que sur un domaine par exemple.
 

Comment vérifier que cela fonctionne bien ?

 
Vous avez de multiples outils en ligne pour cela, mais il existe également des outils comme Firebug pour Firefox ou la console de Chrome qui vous permet de voir où est chargée chaque ressource de votre site (dans l'onglet Réseau, au cas où, faites un clic droit sur un colonne pour pouvoir cocher "Domaine" dans la liste des colonnes)
 
 
A bientôt pour la suite !!!
 

Mentions légales et Politique de confidentialité - Politique concernant les cookies du site - Plan du site

Ouvrir la barre de gestion des cookies

© 2024 XLFormation. Tous droits réservés. Design et conception XLFormation - XLCréation