SlideShare une entreprise Scribd logo
1  sur  58
Télécharger pour lire hors ligne
Une partie de cache-cache
Frédéric Bouchery
Qui suis-je ?
Frédéric Bouchery
➔ Développeur depuis 1983 (Ouïlle)
➔ Expérience professionnelle depuis 1996
➔ Expert PHP (pratique depuis 1999)
➔ Aujourd'hui, Lead Developer pour le groupe CCM Benchmark
➔ fbouchery@ccmbenchmark.com
➔ http://fr.linkedin.com/in/bouchery/
➔ @FredBouchery
LE LEADER FRANCAIS
SUR INTERNET
Google sites
Facebook
Microsoft sites
CCM Benchmark
Yahoo ! sites
Wikimedia found.
Orange sites 20,4
21
21,8
23,2
29,8
35,3
43,7
Source: comScore MMX, France, Age 6+, Avril 2013
Top des sites en France - Visiteurs Uniques (en millions)
87ième
au classement mondial avec 60 millions de VU
L'informatique, c'est l'art de passer des mois à
essayer de gagner des millisecondes !
2 4 6 8 10
25%
50%
Temps de
chargement (s)
Abandon
 chargement des ressources
 scripts bloquants
 temps de réponse serveur
Une aide précieuse
Les caches
Cache de navigateur
Web storage
Cache partagé
Cache de données
Cache d'OP-code
Cache de requêtes
Navigateur
Proxy
Reverse Proxy
Serveur d'applications
Services externesBase de données
La chaîne de caches n'est pas
toujours bien maîtrisée.
La chaîne de caches n'est pas
toujours bien maîtrisée.
Expires: Sat, 26 Jul 1997 05:00:00 GMT
Last-Modified: Fri, 16 May 2014 20:00:43 GMT
Cache-Control: no-store, no-cache, must-revalidate
Cache-Control: post-check=0, pre-check=0
Pragma: no-cache
Cache-Control:max-age=31536000
Date:Wed, 21 May 2014 14:58:17 GMT
ETag:"984209107"
Expires:Thu, 21 May 2015 14:58:17 GMT
Last-Modified:Wed, 21 May 2014 12:32:09 GMT
Vary:Accept-Encoding
Navigateur
Proxy
Application
Webservice
BdD
1 2
3
4
5
Sans contraintes, les caches
appliquent des règles par défaut
Ne laissez pas les
navigateurs / Proxies
gérer le cache pour vous !
Toutes vos réponses devraient contenir un « Cache-Control » !
Ctrl F5
L'enfer du ...
- C'est corrigé
- Non, ça ne fonctionne pas sur mon poste !?
- Essayes avec un Ctrl+F5 !
- Ha oui, là, c'est bon ….
F5
Cache-Control: max-age=0
If-Modified-Since: Xxx, xx xxx xxxx xx:xx:xx GMT
Sauf Internet Explorer qui ne donne pas de « Cache-Control »
Ctrl F5
Cache-Control: no-cache
Pragma: no-cache
Sauf Internet Explorer qui ne donne pas de « Pragma »
Sauf que …
Ne fonctionne plus avec les ressources chargées
par Ajax !
Après le « window.onload », le navigateur prend
dans son cache
Toutes les ressources statiques devraient être :
Cache-control: public, max-age=30000000
Last-Modified: Xxx, xx xxx xxxx xx:xx:xx GMT
Une modification
Un nouveau nom !
Ou un paramètre dans l'URL
Cache navigateur important quand
PV/VU est élevé
Cache navigateur important quand
PV/VU est élevé
Beaucoup de visiteurs oblige à
exploiter les caches partagés
Beaucoup de visiteurs oblige à
exploiter les caches partagés
Pages dynamiques
Time To Live (TTL)
« Hit ratio » sur 24 heures
Nombre total d'URLs
1.441.531
Les 100ières
représentent
9% des PV
1 mois 2 mois 3 mois 6 mois 1 an
5 min 9 % 7 % 6 % 4 % 3 %
15 min 22 % 18 % 15 % 11 % 7 %
30 min 37 % 31 % 26 % 18 % 11 %
1 h 56 % 47 % 40 % 28 % 17 %
2 h 73 % 60 % 52 % 36 % 22 %
3h 78 % 64 % 55 % 38 % 24 %
6h 80 % 66 % 57 % 39 % 25 %
12 h 80 % 66 % 57 % 40 % 25 %
24 h 80 % 67 % 57 % 40 % 25 %
TTL
Longueur de la traîne
Hit-ratio
Si on augmente le TTL :
➔
Augmente le hit-ratio
➔
Risque de saturation mémoire
➔
Contenu surgelé
Cache à 2 niveaux
URL très demandées (> 4 req/h ?):
Cache chaud en mémoire
Longue traîne :
Cache froid en fichier (NoSQL?)
Politique d'éviction :
LRU, LFU, GDFS, etc. ?
Faux problème !
Augmenter la mémoire en
répartissant (sharding)
Supprimer des paramètres variants non
utilisés par la page
Supprimer l'entête
Vary: Accept-Encoding
Firefox et IE gzip,deflate
Chrome gzip,deflate,sdch
Opera gzip,deflate,lzma,sdch
Envoyez systématiquement du gzip
« J'ai besoin parfois de
rafraîchir avant la fin du TTL »
Pour rafraîchir un contenu,
éviter d'effacer le cache !
Risque de « ruée »
(Thundering herd)
Périmer artificiellement le contenu et activer
le « stale cache »
Forcer les « miss » pour des adresses
internes ou une entête spécifique
Exemple de solution
Écriture
Requête de la page (Async)
+
« Miss » sur le cache à 2 niveaux
Autre possibilité
Écrire directement dans le
cache de longue traîne (fichier)
Pré-construction de cache
Invalidation de plusieurs pages
Multi-taggage des contenus
Modification de design
Évitez la « grande purge »
Crawling + « Miss »
ou purge du cache de longue traîne
Une action à planifier !
Cache partiel
Les Edge Side Includes
<esi:include />
Pas besoin de plus
Entête : 1 heure
Navigation
3 heures
Article : 1 mois
Comment
5 minutes
compte
(pass)
3 Solutions se démarquent
Apache à la traîne … mais ...
➔ Varnish
➔ Nginx
➔ Squid
Varnish est la solution qui offre aujourd'hui le
plus de possibilité
Bonus : Nginx + Redis = accès direct au cache
Nginx reste plus performant sur les contenus
statiques
Trop de contenus privés ?
Cache applicatif
2 types de cache
➔ Partagé (distant)
➔ Non partagé (local)
Serveur
Serveur
HTTP
Cache
Mémoire
shard 1
Serveur
Serveur
HTTP
Cache
Mémoire
shard 2
Serveur
Serveur
HTTP
Cache
Mémoire
shard 3
Cache partagé réparti
Attention, sans sharding
Risque de désynchronisation
A chaque rafraîchissement, un résultat différent
2 Solutions se démarquent
➔ Memcached
➔ Redis
Autres solutions moins performantes :
Les « NoSQL » (MongoDB, CouchDB, Cassandra, etc.)
ou base avec table en mémoire (ex : MySQL + Memory Engine)
Memcached est la solution qui semble la plus
performante
Bonus : Redis permet de faire du message queuing
Redis est beaucoup plus riche en fonctionnalité
Content Delivery Network
Oui, pour les sites internationaux
Serveur
Utilisateur
Pour les développeurs PHP ...
Optimiser le temps de traitement
Réduire le temps de parsing du code
Cache d'OP-Code
Utilisation d'APC comme cache applicatif est
bien plus performant qu'un Memcached
Limité en mémoire
(actuellement max 512 Mio)
PHP 5.5 embarque un cache d'OP-Code
Extension PECL : APCu
Exploiter le cache d'OP-Code en générant
des scripts PHP qui retournent des tableaux
<?php return array(
'id' => 'Ma donnée'
);
<?php
$data = include 'script.php';
<?php
$content = var_export($data, true);
file_put_contents('script.php', '<?php return ' . $content .';');
script.php
Pour résumer
✔ Maîtrisez vos caches
✔ Trouvez le bon TTL en fonction du contexte
✔ Réfléchir à la stratégie d'invalidation
✔ Plusieurs niveaux de cache
✔ Étudier le comportement des internautes
✔ Suivre les évolutions des solutions
Merci de votre
attention
➔ fbouchery@ccmbenchmark.com
➔ http://fr.linkedin.com/in/bouchery/
➔ @FredBouchery

Contenu connexe

Tendances

Optimisez la vitesse de chargement de votre site
Optimisez la vitesse de chargement de votre siteOptimisez la vitesse de chargement de votre site
Optimisez la vitesse de chargement de votre siteWebxFrance
 
Le chiffrement en 2019 - Lybero.net - Arnaud Laprévote
Le chiffrement en 2019 - Lybero.net - Arnaud LaprévoteLe chiffrement en 2019 - Lybero.net - Arnaud Laprévote
Le chiffrement en 2019 - Lybero.net - Arnaud Laprévotealaprevote
 
MSCS : Hyperconvergence avec Windows Server 2016
MSCS : Hyperconvergence avec Windows Server 2016MSCS : Hyperconvergence avec Windows Server 2016
MSCS : Hyperconvergence avec Windows Server 2016MickaelLOPES91
 
MongoDB day Paris 2012
MongoDB day Paris 2012MongoDB day Paris 2012
MongoDB day Paris 2012FastConnect
 
Industrialiser la gestion des fichiers multimedia #dcparis13
Industrialiser la gestion des fichiers multimedia #dcparis13Industrialiser la gestion des fichiers multimedia #dcparis13
Industrialiser la gestion des fichiers multimedia #dcparis13Aurelien Navarre
 
Mercurial - PHPQuebec - December 08
Mercurial - PHPQuebec - December 08Mercurial - PHPQuebec - December 08
Mercurial - PHPQuebec - December 08mdupuis
 
Tutoriel slideshare3
Tutoriel slideshare3Tutoriel slideshare3
Tutoriel slideshare3Rabolliot
 
ASFWS 2013 - Optimiser ses attaques Web avec Burp par Nicolas Grégoire
ASFWS 2013 - Optimiser ses attaques Web avec Burp par Nicolas GrégoireASFWS 2013 - Optimiser ses attaques Web avec Burp par Nicolas Grégoire
ASFWS 2013 - Optimiser ses attaques Web avec Burp par Nicolas GrégoireCyber Security Alliance
 

Tendances (10)

Optimisez la vitesse de chargement de votre site
Optimisez la vitesse de chargement de votre siteOptimisez la vitesse de chargement de votre site
Optimisez la vitesse de chargement de votre site
 
Le chiffrement en 2019 - Lybero.net - Arnaud Laprévote
Le chiffrement en 2019 - Lybero.net - Arnaud LaprévoteLe chiffrement en 2019 - Lybero.net - Arnaud Laprévote
Le chiffrement en 2019 - Lybero.net - Arnaud Laprévote
 
MSCS : Hyperconvergence avec Windows Server 2016
MSCS : Hyperconvergence avec Windows Server 2016MSCS : Hyperconvergence avec Windows Server 2016
MSCS : Hyperconvergence avec Windows Server 2016
 
MongoDB day Paris 2012
MongoDB day Paris 2012MongoDB day Paris 2012
MongoDB day Paris 2012
 
Industrialiser la gestion des fichiers multimedia #dcparis13
Industrialiser la gestion des fichiers multimedia #dcparis13Industrialiser la gestion des fichiers multimedia #dcparis13
Industrialiser la gestion des fichiers multimedia #dcparis13
 
Optimisation de son site web
Optimisation de son site webOptimisation de son site web
Optimisation de son site web
 
Mercurial - PHPQuebec - December 08
Mercurial - PHPQuebec - December 08Mercurial - PHPQuebec - December 08
Mercurial - PHPQuebec - December 08
 
Tutoriel slideshare3
Tutoriel slideshare3Tutoriel slideshare3
Tutoriel slideshare3
 
ASFWS 2013 - Optimiser ses attaques Web avec Burp par Nicolas Grégoire
ASFWS 2013 - Optimiser ses attaques Web avec Burp par Nicolas GrégoireASFWS 2013 - Optimiser ses attaques Web avec Burp par Nicolas Grégoire
ASFWS 2013 - Optimiser ses attaques Web avec Burp par Nicolas Grégoire
 
Un navigateur, comment ça marche
Un navigateur, comment ça marche  Un navigateur, comment ça marche
Un navigateur, comment ça marche
 

En vedette

Breizhcamp 2015 : Pourquoi PHP ?
Breizhcamp 2015 : Pourquoi PHP ?Breizhcamp 2015 : Pourquoi PHP ?
Breizhcamp 2015 : Pourquoi PHP ?Frederic Bouchery
 
Sauf erreur-je-ne-me-trompe-jamais
Sauf erreur-je-ne-me-trompe-jamaisSauf erreur-je-ne-me-trompe-jamais
Sauf erreur-je-ne-me-trompe-jamaisFrederic Bouchery
 
Patchwork UTF-8 : portabilité unicode et graphèmes clusters
Patchwork UTF-8 : portabilité unicode et graphèmes clustersPatchwork UTF-8 : portabilité unicode et graphèmes clusters
Patchwork UTF-8 : portabilité unicode et graphèmes clustersnicolas.grekas
 
Webperformance #rouendayvous
Webperformance #rouendayvousWebperformance #rouendayvous
Webperformance #rouendayvousOlivier MARTINEAU
 
jQuery sans jQuery
jQuery sans jQueryjQuery sans jQuery
jQuery sans jQuerygoldoraf
 
HTML5 mobile avec Sencha Touch [FR]
HTML5 mobile avec Sencha Touch [FR]HTML5 mobile avec Sencha Touch [FR]
HTML5 mobile avec Sencha Touch [FR]Wixiweb
 
PHP Tour 2012 - Conférence FuelPHP
PHP Tour 2012 - Conférence FuelPHPPHP Tour 2012 - Conférence FuelPHP
PHP Tour 2012 - Conférence FuelPHPNovius OS
 
Falling in Love with Forms [Microsoft Edge Web Summit 2015]
Falling in Love with Forms [Microsoft Edge Web Summit 2015]Falling in Love with Forms [Microsoft Edge Web Summit 2015]
Falling in Love with Forms [Microsoft Edge Web Summit 2015]Aaron Gustafson
 
Elasticsearch - OSDC France 2012
Elasticsearch - OSDC France 2012Elasticsearch - OSDC France 2012
Elasticsearch - OSDC France 2012David Pilato
 
Le Profiling d'applications PHP - Blackfire.io
Le Profiling d'applications PHP - Blackfire.ioLe Profiling d'applications PHP - Blackfire.io
Le Profiling d'applications PHP - Blackfire.ionicolas.grekas
 
Maitriser les structures de données PHP 102 - Forum Paris 2012
Maitriser les structures de données PHP 102 - Forum Paris 2012Maitriser les structures de données PHP 102 - Forum Paris 2012
Maitriser les structures de données PHP 102 - Forum Paris 2012Patrick Allaert
 
Behat c'est plus que ça | Behat is more than that
Behat c'est plus que ça | Behat is more than thatBehat c'est plus que ça | Behat is more than that
Behat c'est plus que ça | Behat is more than thatSamuel ROZE
 
The Real Cost of Slow Time vs Downtime
The Real Cost of Slow Time vs DowntimeThe Real Cost of Slow Time vs Downtime
The Real Cost of Slow Time vs DowntimeRadware
 
Gérer ses environnements de développement avec vagrant - PHP Tour Nantes 2012
Gérer ses environnements de développement avec vagrant - PHP Tour Nantes 2012Gérer ses environnements de développement avec vagrant - PHP Tour Nantes 2012
Gérer ses environnements de développement avec vagrant - PHP Tour Nantes 2012Jean-Marc Fontaine
 
ng-europe: The New Router
ng-europe: The New Routerng-europe: The New Router
ng-europe: The New RouterRob Eisenberg
 
Debugging Effectively - php[world] 2015
Debugging Effectively - php[world] 2015Debugging Effectively - php[world] 2015
Debugging Effectively - php[world] 2015Colin O'Dell
 

En vedette (20)

Breizhcamp 2015 : Pourquoi PHP ?
Breizhcamp 2015 : Pourquoi PHP ?Breizhcamp 2015 : Pourquoi PHP ?
Breizhcamp 2015 : Pourquoi PHP ?
 
Pattern IBP
Pattern IBPPattern IBP
Pattern IBP
 
Sauf erreur-je-ne-me-trompe-jamais
Sauf erreur-je-ne-me-trompe-jamaisSauf erreur-je-ne-me-trompe-jamais
Sauf erreur-je-ne-me-trompe-jamais
 
Patchwork UTF-8 : portabilité unicode et graphèmes clusters
Patchwork UTF-8 : portabilité unicode et graphèmes clustersPatchwork UTF-8 : portabilité unicode et graphèmes clusters
Patchwork UTF-8 : portabilité unicode et graphèmes clusters
 
Webperformance #rouendayvous
Webperformance #rouendayvousWebperformance #rouendayvous
Webperformance #rouendayvous
 
jQuery sans jQuery
jQuery sans jQueryjQuery sans jQuery
jQuery sans jQuery
 
HTML5 mobile avec Sencha Touch [FR]
HTML5 mobile avec Sencha Touch [FR]HTML5 mobile avec Sencha Touch [FR]
HTML5 mobile avec Sencha Touch [FR]
 
PHP Tour 2012 - Conférence FuelPHP
PHP Tour 2012 - Conférence FuelPHPPHP Tour 2012 - Conférence FuelPHP
PHP Tour 2012 - Conférence FuelPHP
 
Falling in Love with Forms [Microsoft Edge Web Summit 2015]
Falling in Love with Forms [Microsoft Edge Web Summit 2015]Falling in Love with Forms [Microsoft Edge Web Summit 2015]
Falling in Love with Forms [Microsoft Edge Web Summit 2015]
 
Elasticsearch - OSDC France 2012
Elasticsearch - OSDC France 2012Elasticsearch - OSDC France 2012
Elasticsearch - OSDC France 2012
 
Le Profiling d'applications PHP - Blackfire.io
Le Profiling d'applications PHP - Blackfire.ioLe Profiling d'applications PHP - Blackfire.io
Le Profiling d'applications PHP - Blackfire.io
 
Maitriser les structures de données PHP 102 - Forum Paris 2012
Maitriser les structures de données PHP 102 - Forum Paris 2012Maitriser les structures de données PHP 102 - Forum Paris 2012
Maitriser les structures de données PHP 102 - Forum Paris 2012
 
Behat c'est plus que ça | Behat is more than that
Behat c'est plus que ça | Behat is more than thatBehat c'est plus que ça | Behat is more than that
Behat c'est plus que ça | Behat is more than that
 
The Real Cost of Slow Time vs Downtime
The Real Cost of Slow Time vs DowntimeThe Real Cost of Slow Time vs Downtime
The Real Cost of Slow Time vs Downtime
 
Gérer ses environnements de développement avec vagrant - PHP Tour Nantes 2012
Gérer ses environnements de développement avec vagrant - PHP Tour Nantes 2012Gérer ses environnements de développement avec vagrant - PHP Tour Nantes 2012
Gérer ses environnements de développement avec vagrant - PHP Tour Nantes 2012
 
Faster develoment with CakePHP 3
Faster develoment with CakePHP 3Faster develoment with CakePHP 3
Faster develoment with CakePHP 3
 
The Continuous PHP Pipeline
The Continuous PHP PipelineThe Continuous PHP Pipeline
The Continuous PHP Pipeline
 
ng-europe: The New Router
ng-europe: The New Routerng-europe: The New Router
ng-europe: The New Router
 
Debugging Effectively - php[world] 2015
Debugging Effectively - php[world] 2015Debugging Effectively - php[world] 2015
Debugging Effectively - php[world] 2015
 
The Commando Devops
The Commando DevopsThe Commando Devops
The Commando Devops
 

Similaire à Breizhcamp 2014 : Une partie de Cache-Cache

La mise en cache et ses secrets
La mise en cache et ses secretsLa mise en cache et ses secrets
La mise en cache et ses secretsAymeric Bouillat
 
Conférence AFUP 20minutes.Fr
Conférence AFUP 20minutes.FrConférence AFUP 20minutes.Fr
Conférence AFUP 20minutes.FrOxalide
 
HTTP2 : ce qui va changer par Julien Landuré
HTTP2 : ce qui va changer par Julien LanduréHTTP2 : ce qui va changer par Julien Landuré
HTTP2 : ce qui va changer par Julien LanduréZenika
 
HTML5... La révolution maintenant!
HTML5... La révolution maintenant!HTML5... La révolution maintenant!
HTML5... La révolution maintenant!CARA_Lyon
 
HTML5... La révolution maintenant!
HTML5... La révolution maintenant!HTML5... La révolution maintenant!
HTML5... La révolution maintenant!CARA_Lyon
 
Morning tech #2 - Démarche performance slides
Morning tech #2 - Démarche performance slidesMorning tech #2 - Démarche performance slides
Morning tech #2 - Démarche performance slidesOxalide
 
Oxalide Morning tech #2 - démarche performance
Oxalide Morning tech #2 - démarche performanceOxalide Morning tech #2 - démarche performance
Oxalide Morning tech #2 - démarche performanceLudovic Piot
 
Meetup Drupal Lyon mars 2013 - Optimiser les performances Drupal par le cache
Meetup Drupal Lyon mars 2013 - Optimiser les performances Drupal par le cacheMeetup Drupal Lyon mars 2013 - Optimiser les performances Drupal par le cache
Meetup Drupal Lyon mars 2013 - Optimiser les performances Drupal par le cacheAurelien Navarre
 
Arte utilise Acquia Cloud pour héberger ses plateformes web
Arte utilise Acquia Cloud pour héberger ses plateformes webArte utilise Acquia Cloud pour héberger ses plateformes web
Arte utilise Acquia Cloud pour héberger ses plateformes webAcquia
 
Acquia et Arte : Drupal Camp Paris 2013
Acquia et Arte : Drupal Camp Paris 2013Acquia et Arte : Drupal Camp Paris 2013
Acquia et Arte : Drupal Camp Paris 2013Cyril Reinhard
 
Améliorer les performances de vos sites web une priorité pour 2018 - Petit dé...
Améliorer les performances de vos sites web une priorité pour 2018 - Petit dé...Améliorer les performances de vos sites web une priorité pour 2018 - Petit dé...
Améliorer les performances de vos sites web une priorité pour 2018 - Petit dé...Peak Ace
 
Alphorm.com Support de la Formation PromoxVE 4.x
Alphorm.com Support de la Formation PromoxVE 4.xAlphorm.com Support de la Formation PromoxVE 4.x
Alphorm.com Support de la Formation PromoxVE 4.xAlphorm
 
HTML5 W3C Conference Euratechnologie
HTML5 W3C Conference EuratechnologieHTML5 W3C Conference Euratechnologie
HTML5 W3C Conference Euratechnologiewyggio
 
DrupalCamp Lyon 2012 - Optimiser les performances Drupal depuis les tranchées
DrupalCamp Lyon 2012 -  Optimiser les performances Drupal depuis les tranchéesDrupalCamp Lyon 2012 -  Optimiser les performances Drupal depuis les tranchées
DrupalCamp Lyon 2012 - Optimiser les performances Drupal depuis les tranchéesAurelien Navarre
 
Drupal 8, symfony
Drupal 8, symfonyDrupal 8, symfony
Drupal 8, symfonyjeUXdiCode
 
Comment Rue Du Commerce est devenu le site e-commerce le plus rapide de France ?
Comment Rue Du Commerce est devenu le site e-commerce le plus rapide de France ?Comment Rue Du Commerce est devenu le site e-commerce le plus rapide de France ?
Comment Rue Du Commerce est devenu le site e-commerce le plus rapide de France ?Fasterize
 
Retour AFUP du forumphp 2017
Retour AFUP du forumphp 2017Retour AFUP du forumphp 2017
Retour AFUP du forumphp 2017AFUP_Limoges
 
Cours 1/3 "Architecture Web"
Cours 1/3 "Architecture Web"Cours 1/3 "Architecture Web"
Cours 1/3 "Architecture Web"Adyax
 
Confoo - 2012-02-27 au 2012-02-28 - HTML5 workshop
Confoo - 2012-02-27 au 2012-02-28 - HTML5 workshopConfoo - 2012-02-27 au 2012-02-28 - HTML5 workshop
Confoo - 2012-02-27 au 2012-02-28 - HTML5 workshopFrédéric Harper
 

Similaire à Breizhcamp 2014 : Une partie de Cache-Cache (20)

La mise en cache et ses secrets
La mise en cache et ses secretsLa mise en cache et ses secrets
La mise en cache et ses secrets
 
Conférence AFUP 20minutes.Fr
Conférence AFUP 20minutes.FrConférence AFUP 20minutes.Fr
Conférence AFUP 20minutes.Fr
 
HTTP2 : ce qui va changer par Julien Landuré
HTTP2 : ce qui va changer par Julien LanduréHTTP2 : ce qui va changer par Julien Landuré
HTTP2 : ce qui va changer par Julien Landuré
 
HTML5... La révolution maintenant!
HTML5... La révolution maintenant!HTML5... La révolution maintenant!
HTML5... La révolution maintenant!
 
HTML5... La révolution maintenant!
HTML5... La révolution maintenant!HTML5... La révolution maintenant!
HTML5... La révolution maintenant!
 
Morning tech #2 - Démarche performance slides
Morning tech #2 - Démarche performance slidesMorning tech #2 - Démarche performance slides
Morning tech #2 - Démarche performance slides
 
Oxalide Morning tech #2 - démarche performance
Oxalide Morning tech #2 - démarche performanceOxalide Morning tech #2 - démarche performance
Oxalide Morning tech #2 - démarche performance
 
Meetup Drupal Lyon mars 2013 - Optimiser les performances Drupal par le cache
Meetup Drupal Lyon mars 2013 - Optimiser les performances Drupal par le cacheMeetup Drupal Lyon mars 2013 - Optimiser les performances Drupal par le cache
Meetup Drupal Lyon mars 2013 - Optimiser les performances Drupal par le cache
 
Arte utilise Acquia Cloud pour héberger ses plateformes web
Arte utilise Acquia Cloud pour héberger ses plateformes webArte utilise Acquia Cloud pour héberger ses plateformes web
Arte utilise Acquia Cloud pour héberger ses plateformes web
 
Acquia et Arte : Drupal Camp Paris 2013
Acquia et Arte : Drupal Camp Paris 2013Acquia et Arte : Drupal Camp Paris 2013
Acquia et Arte : Drupal Camp Paris 2013
 
Améliorer les performances de vos sites web une priorité pour 2018 - Petit dé...
Améliorer les performances de vos sites web une priorité pour 2018 - Petit dé...Améliorer les performances de vos sites web une priorité pour 2018 - Petit dé...
Améliorer les performances de vos sites web une priorité pour 2018 - Petit dé...
 
Alphorm.com Support de la Formation PromoxVE 4.x
Alphorm.com Support de la Formation PromoxVE 4.xAlphorm.com Support de la Formation PromoxVE 4.x
Alphorm.com Support de la Formation PromoxVE 4.x
 
HTML5 W3C Conference Euratechnologie
HTML5 W3C Conference EuratechnologieHTML5 W3C Conference Euratechnologie
HTML5 W3C Conference Euratechnologie
 
DrupalCamp Lyon 2012 - Optimiser les performances Drupal depuis les tranchées
DrupalCamp Lyon 2012 -  Optimiser les performances Drupal depuis les tranchéesDrupalCamp Lyon 2012 -  Optimiser les performances Drupal depuis les tranchées
DrupalCamp Lyon 2012 - Optimiser les performances Drupal depuis les tranchées
 
Drupal 8, symfony
Drupal 8, symfonyDrupal 8, symfony
Drupal 8, symfony
 
Comment Rue Du Commerce est devenu le site e-commerce le plus rapide de France ?
Comment Rue Du Commerce est devenu le site e-commerce le plus rapide de France ?Comment Rue Du Commerce est devenu le site e-commerce le plus rapide de France ?
Comment Rue Du Commerce est devenu le site e-commerce le plus rapide de France ?
 
Retour AFUP du forumphp 2017
Retour AFUP du forumphp 2017Retour AFUP du forumphp 2017
Retour AFUP du forumphp 2017
 
Cours 1/3 "Architecture Web"
Cours 1/3 "Architecture Web"Cours 1/3 "Architecture Web"
Cours 1/3 "Architecture Web"
 
Cache
CacheCache
Cache
 
Confoo - 2012-02-27 au 2012-02-28 - HTML5 workshop
Confoo - 2012-02-27 au 2012-02-28 - HTML5 workshopConfoo - 2012-02-27 au 2012-02-28 - HTML5 workshop
Confoo - 2012-02-27 au 2012-02-28 - HTML5 workshop
 

Plus de Frederic Bouchery

Des tests unitaires pour nos règles de conception
Des tests unitaires pour nos règles de conceptionDes tests unitaires pour nos règles de conception
Des tests unitaires pour nos règles de conceptionFrederic Bouchery
 
ForumPHP 2020 - Utopie de la généricité
ForumPHP 2020 - Utopie de la généricitéForumPHP 2020 - Utopie de la généricité
ForumPHP 2020 - Utopie de la généricitéFrederic Bouchery
 
Afup Day 2020 en linge: Les structures de données en PHP
Afup Day 2020 en linge: Les structures de données en PHPAfup Day 2020 en linge: Les structures de données en PHP
Afup Day 2020 en linge: Les structures de données en PHPFrederic Bouchery
 
Agile Tour Rennes 2019 - Pratiques collectives de développement
Agile Tour Rennes 2019 - Pratiques collectives de développementAgile Tour Rennes 2019 - Pratiques collectives de développement
Agile Tour Rennes 2019 - Pratiques collectives de développementFrederic Bouchery
 
RabbitMQ simplement - Symfony Live Paris 2019
RabbitMQ simplement - Symfony Live Paris 2019RabbitMQ simplement - Symfony Live Paris 2019
RabbitMQ simplement - Symfony Live Paris 2019Frederic Bouchery
 
ForumPHP 2018 : Comprendre le Machine Learning quand on n’y connaît rien
ForumPHP 2018 : Comprendre le Machine Learning quand on n’y connaît rienForumPHP 2018 : Comprendre le Machine Learning quand on n’y connaît rien
ForumPHP 2018 : Comprendre le Machine Learning quand on n’y connaît rienFrederic Bouchery
 
Doit on encore faire du php en 2017
Doit on encore faire du php en 2017Doit on encore faire du php en 2017
Doit on encore faire du php en 2017Frederic Bouchery
 
On a tué mon agilité. Phptour 2016
On a tué mon agilité. Phptour 2016On a tué mon agilité. Phptour 2016
On a tué mon agilité. Phptour 2016Frederic Bouchery
 

Plus de Frederic Bouchery (10)

Des tests unitaires pour nos règles de conception
Des tests unitaires pour nos règles de conceptionDes tests unitaires pour nos règles de conception
Des tests unitaires pour nos règles de conception
 
ForumPHP 2020 - Utopie de la généricité
ForumPHP 2020 - Utopie de la généricitéForumPHP 2020 - Utopie de la généricité
ForumPHP 2020 - Utopie de la généricité
 
Afup Day 2020 en linge: Les structures de données en PHP
Afup Day 2020 en linge: Les structures de données en PHPAfup Day 2020 en linge: Les structures de données en PHP
Afup Day 2020 en linge: Les structures de données en PHP
 
Agile Tour Rennes 2019 - Pratiques collectives de développement
Agile Tour Rennes 2019 - Pratiques collectives de développementAgile Tour Rennes 2019 - Pratiques collectives de développement
Agile Tour Rennes 2019 - Pratiques collectives de développement
 
PHP Pragmatic Development
PHP Pragmatic DevelopmentPHP Pragmatic Development
PHP Pragmatic Development
 
RabbitMQ simplement - Symfony Live Paris 2019
RabbitMQ simplement - Symfony Live Paris 2019RabbitMQ simplement - Symfony Live Paris 2019
RabbitMQ simplement - Symfony Live Paris 2019
 
ForumPHP 2018 : Comprendre le Machine Learning quand on n’y connaît rien
ForumPHP 2018 : Comprendre le Machine Learning quand on n’y connaît rienForumPHP 2018 : Comprendre le Machine Learning quand on n’y connaît rien
ForumPHP 2018 : Comprendre le Machine Learning quand on n’y connaît rien
 
Doit on encore faire du php en 2017
Doit on encore faire du php en 2017Doit on encore faire du php en 2017
Doit on encore faire du php en 2017
 
On a tué mon agilité. Phptour 2016
On a tué mon agilité. Phptour 2016On a tué mon agilité. Phptour 2016
On a tué mon agilité. Phptour 2016
 
Classes anonymes
Classes anonymesClasses anonymes
Classes anonymes
 

Breizhcamp 2014 : Une partie de Cache-Cache