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.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.
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.
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é..