SlideShare une entreprise Scribd logo
Introduction à django compressor
             Mathieu Pillard
             https://github.com/diox
             @dioxmat




Rencontres django-fr, 16 avril 2011
Présentation
●   Application de « gestion » de medias...
●
    … sans l'aspect gestion
●
    Au départ juste une collection de filtres pour
    django_compress
●
    Documenté, testé, maintenu
●   Résout la problématique de base de faire cacher
    longtemps vos fichiers médias tout en permettant
    de les expirer immédiatement quand ca change
Principes
●   Transparent pour les développeurs
●
    De base, pas de commande de management à
    lancer
●
    Pas de « bundle » à créer dans les settings non
    plus
Fonctionnement de base
●   Utilisation du templatetag {% compress %} :
    {% compress css %}
    <link rel=stylesheet type=text/css href= 1.css>
    <link rel=stylesheet type=text/css href= 2.css>
    <style type=text/css>
    .pony {
       color : pink ;
    }
    </style>
    {% endcompress %}
●   Rendu :
    <link rel=stylesheet type=text/css href=<hash>.css
Ce que ca sait faire
●   Changement automatique et à la volée du ou des fichiers résultat quand
    les sources changent
●   Filtres disponibles : Minification, Tidy, Closure, Transformation
    automatique des urls en data URI ...
●   « Pre-compilers » disponibles : LESS, Cofeescript, SASS
●   Gère le suffixage des images dans les CSS
●   Utilisation du cache django
●   Utilisation des moteurs de stockage django pour le fichier résultat
●   Commandes de management optionnelles pour générer en « offline »
    plutôt que en live, ou générer un cache des dates de modification des
    fichiers
Comment ca fonctionne derrière
●   Vérification du cache « offline » avec un hash de la
    nodelist brute. Si présent, retourne alors l'HTML.
●   Instanciation d'un parseur (lxml/beautifulsoup),
    détermine la liste des fichiers, utilise leur nom + date
    de modif pour faire une clé unique
●   Vérification du cache principal à partir de cette clé. Si
    présent, retourne alors l'HTML.
●   Génération du fichier, application filtres/pre-
    compilers, génération d'un hash, écriture du fichier si
    nécessaire, remplissage du cache, retourne l'HTML
Conclusion
●   Utilisé en production sur les projets django de libération
●   Le cache est obligatoire pour ne pas utiliser trop de
    ressources, mais après, ca fuse !
●   Plein de settings optionnels sympas
●   Bien maintenu, pas mal de contributeurs, bien documenté
    (comment ca je répète l'intro)
●   Bref, c'est super, utilisez le ! :-)
●   https://github.com/jezdez/django_compressor , disponible
    aussi sur pypi

Contenu connexe

Tendances

Optimiser wordpress
Optimiser wordpressOptimiser wordpress
Optimiser wordpress
Jean-François Vial
 
Optimiser WordPress
Optimiser WordPressOptimiser WordPress
Optimiser WordPress
Chi Nacim
 
Réduire la taille de son apk
Réduire la taille de son apkRéduire la taille de son apk
Réduire la taille de son apk
Jacques GIRAUDEL
 
Mongodb introduction
Mongodb introductionMongodb introduction
Mongodb introduction
eric German
 
Accélération des pages Web : les bases en exemple
Accélération des pages Web : les bases en exempleAccélération des pages Web : les bases en exemple
Accélération des pages Web : les bases en exemple
Jean-Pierre Vincent
 
Human Talks Jasmine
Human Talks JasmineHuman Talks Jasmine
Human Talks Jasminemanudwarf
 
Ma boîte à outils DevOps
Ma boîte à outils DevOpsMa boîte à outils DevOps
Ma boîte à outils DevOps
Noël Bardelot
 
Puppet slides
Puppet slidesPuppet slides
Puppet slides
Pierre Mavro
 
Plop : un micro-générateur pour se simplifier la vie au quotidien
Plop : un micro-générateur pour se simplifier la vie au quotidienPlop : un micro-générateur pour se simplifier la vie au quotidien
Plop : un micro-générateur pour se simplifier la vie au quotidien
Nicolas Carlo
 

Tendances (9)

Optimiser wordpress
Optimiser wordpressOptimiser wordpress
Optimiser wordpress
 
Optimiser WordPress
Optimiser WordPressOptimiser WordPress
Optimiser WordPress
 
Réduire la taille de son apk
Réduire la taille de son apkRéduire la taille de son apk
Réduire la taille de son apk
 
Mongodb introduction
Mongodb introductionMongodb introduction
Mongodb introduction
 
Accélération des pages Web : les bases en exemple
Accélération des pages Web : les bases en exempleAccélération des pages Web : les bases en exemple
Accélération des pages Web : les bases en exemple
 
Human Talks Jasmine
Human Talks JasmineHuman Talks Jasmine
Human Talks Jasmine
 
Ma boîte à outils DevOps
Ma boîte à outils DevOpsMa boîte à outils DevOps
Ma boîte à outils DevOps
 
Puppet slides
Puppet slidesPuppet slides
Puppet slides
 
Plop : un micro-générateur pour se simplifier la vie au quotidien
Plop : un micro-générateur pour se simplifier la vie au quotidienPlop : un micro-générateur pour se simplifier la vie au quotidien
Plop : un micro-générateur pour se simplifier la vie au quotidien
 

En vedette

Compressor
CompressorCompressor
Compressor
Kushal Navandar
 
Bauer Compressor Use & Maintenance_Certificate
Bauer Compressor Use & Maintenance_CertificateBauer Compressor Use & Maintenance_Certificate
Bauer Compressor Use & Maintenance_CertificateVictor Fumo
 
Basics of Compressor
Basics of CompressorBasics of Compressor
Basics of Compressor
SLA1987
 
Compressors
CompressorsCompressors
Compressors
Saurabh Jain
 
Reciprocating compressor
Reciprocating compressorReciprocating compressor
Reciprocating compressor
hambardikar55
 
Luka Moro - This way - Paroles fr
Luka Moro - This way - Paroles frLuka Moro - This way - Paroles fr
Luka Moro - This way - Paroles fr
Luka Moro
 
Climatiseur à recyclage d’énergie
 Climatiseur à recyclage d’énergie Climatiseur à recyclage d’énergie
Climatiseur à recyclage d’énergieFrancois Kneider
 
Extreme JavaScript Compression With YUI Compressor
Extreme JavaScript Compression With YUI CompressorExtreme JavaScript Compression With YUI Compressor
Extreme JavaScript Compression With YUI Compressor
Nicholas Zakas
 
B aby
B abyB aby
B abyNoa02
 
Curriculum Vitae (F) - GARCIA, Rocio Soledad
Curriculum Vitae (F) - GARCIA, Rocio SoledadCurriculum Vitae (F) - GARCIA, Rocio Soledad
Curriculum Vitae (F) - GARCIA, Rocio SoledadRocio Soledad Garcia
 
Compressor And Compressed Air Systems
Compressor And Compressed Air SystemsCompressor And Compressed Air Systems
Compressor And Compressed Air Systems
Saurabh Jain
 
Compte rendus de la journée final v5
Compte rendus de la journée final v5Compte rendus de la journée final v5
Compte rendus de la journée final v5
Mohamed Montassar BEN SLAMA
 
Compte rendus de la journée le libre accès à l’information scientifique, Univ...
Compte rendus de la journée le libre accès à l’information scientifique, Univ...Compte rendus de la journée le libre accès à l’information scientifique, Univ...
Compte rendus de la journée le libre accès à l’information scientifique, Univ...
Mohamed Montassar BEN SLAMA
 
Romeo & juliet themes lesson
Romeo & juliet themes lessonRomeo & juliet themes lesson
Romeo & juliet themes lesson
Kathy Strelow
 
Water Chilled Airconditioning
Water Chilled AirconditioningWater Chilled Airconditioning
Water Chilled Airconditioning
Aljon Altiche
 
Fate of pyruvate - A quick review
Fate of pyruvate - A quick reviewFate of pyruvate - A quick review
Fate of pyruvate - A quick review
Namrata Chhabra
 
WordPress State of the Word 2012
WordPress State of the Word 2012WordPress State of the Word 2012
WordPress State of the Word 2012
photomatt
 
Scène + fiche tech + rider fi.she.s
Scène + fiche tech + rider fi.she.s Scène + fiche tech + rider fi.she.s
Scène + fiche tech + rider fi.she.s WE DO MUSIC
 
Catalogue Beauté ALUMINÉ - Vinsalow partners
 Catalogue Beauté ALUMINÉ - Vinsalow partners Catalogue Beauté ALUMINÉ - Vinsalow partners
Catalogue Beauté ALUMINÉ - Vinsalow partners
Vincent Barlier
 
Industrial Air Compressors, Air Compressor Manufacturers Ahmedabad
Industrial Air Compressors, Air Compressor Manufacturers AhmedabadIndustrial Air Compressors, Air Compressor Manufacturers Ahmedabad
Industrial Air Compressors, Air Compressor Manufacturers Ahmedabad
Airtech Engineers
 

En vedette (20)

Compressor
CompressorCompressor
Compressor
 
Bauer Compressor Use & Maintenance_Certificate
Bauer Compressor Use & Maintenance_CertificateBauer Compressor Use & Maintenance_Certificate
Bauer Compressor Use & Maintenance_Certificate
 
Basics of Compressor
Basics of CompressorBasics of Compressor
Basics of Compressor
 
Compressors
CompressorsCompressors
Compressors
 
Reciprocating compressor
Reciprocating compressorReciprocating compressor
Reciprocating compressor
 
Luka Moro - This way - Paroles fr
Luka Moro - This way - Paroles frLuka Moro - This way - Paroles fr
Luka Moro - This way - Paroles fr
 
Climatiseur à recyclage d’énergie
 Climatiseur à recyclage d’énergie Climatiseur à recyclage d’énergie
Climatiseur à recyclage d’énergie
 
Extreme JavaScript Compression With YUI Compressor
Extreme JavaScript Compression With YUI CompressorExtreme JavaScript Compression With YUI Compressor
Extreme JavaScript Compression With YUI Compressor
 
B aby
B abyB aby
B aby
 
Curriculum Vitae (F) - GARCIA, Rocio Soledad
Curriculum Vitae (F) - GARCIA, Rocio SoledadCurriculum Vitae (F) - GARCIA, Rocio Soledad
Curriculum Vitae (F) - GARCIA, Rocio Soledad
 
Compressor And Compressed Air Systems
Compressor And Compressed Air SystemsCompressor And Compressed Air Systems
Compressor And Compressed Air Systems
 
Compte rendus de la journée final v5
Compte rendus de la journée final v5Compte rendus de la journée final v5
Compte rendus de la journée final v5
 
Compte rendus de la journée le libre accès à l’information scientifique, Univ...
Compte rendus de la journée le libre accès à l’information scientifique, Univ...Compte rendus de la journée le libre accès à l’information scientifique, Univ...
Compte rendus de la journée le libre accès à l’information scientifique, Univ...
 
Romeo & juliet themes lesson
Romeo & juliet themes lessonRomeo & juliet themes lesson
Romeo & juliet themes lesson
 
Water Chilled Airconditioning
Water Chilled AirconditioningWater Chilled Airconditioning
Water Chilled Airconditioning
 
Fate of pyruvate - A quick review
Fate of pyruvate - A quick reviewFate of pyruvate - A quick review
Fate of pyruvate - A quick review
 
WordPress State of the Word 2012
WordPress State of the Word 2012WordPress State of the Word 2012
WordPress State of the Word 2012
 
Scène + fiche tech + rider fi.she.s
Scène + fiche tech + rider fi.she.s Scène + fiche tech + rider fi.she.s
Scène + fiche tech + rider fi.she.s
 
Catalogue Beauté ALUMINÉ - Vinsalow partners
 Catalogue Beauté ALUMINÉ - Vinsalow partners Catalogue Beauté ALUMINÉ - Vinsalow partners
Catalogue Beauté ALUMINÉ - Vinsalow partners
 
Industrial Air Compressors, Air Compressor Manufacturers Ahmedabad
Industrial Air Compressors, Air Compressor Manufacturers AhmedabadIndustrial Air Compressors, Air Compressor Manufacturers Ahmedabad
Industrial Air Compressors, Air Compressor Manufacturers Ahmedabad
 

Similaire à Django compressor

Des poneys à Liberation.fr
Des poneys à Liberation.frDes poneys à Liberation.fr
Des poneys à Liberation.frliberation_dev
 
Rappels Modularisation application C/C++
Rappels Modularisation application C/C++Rappels Modularisation application C/C++
Rappels Modularisation application C/C++
Sylvain Leroy
 
Panels, une autre façon de construire. DrupalCamp Paris 2013
Panels, une autre façon de construire. DrupalCamp Paris 2013Panels, une autre façon de construire. DrupalCamp Paris 2013
Panels, une autre façon de construire. DrupalCamp Paris 2013bellesmanieres
 
Outils front-end
Outils front-endOutils front-end
Outils front-end
Thomas Bodin
 
Mise en place de Nagios3 pas à pas
Mise en place de Nagios3 pas à pas Mise en place de Nagios3 pas à pas
Mise en place de Nagios3 pas à pas
yassine87
 
On test quoi - DCLannion 2017
On test quoi - DCLannion 2017On test quoi - DCLannion 2017
On test quoi - DCLannion 2017
Artusamak
 
Optimisation de son site web
Optimisation de son site webOptimisation de son site web
Optimisation de son site web
Christophe Avonture
 
Introduction à CakePHP
Introduction à CakePHPIntroduction à CakePHP
Introduction à CakePHP
Pierre MARTIN
 
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
Aymeric Bouillat
 
Git pour les (pas si) nuls
Git pour les (pas si) nulsGit pour les (pas si) nuls
Git pour les (pas si) nuls
Malk Zameth
 
WordCamp Lyon 2015 - WordPress, Git et l'intégration continue
 WordCamp Lyon 2015 - WordPress, Git et l'intégration continue WordCamp Lyon 2015 - WordPress, Git et l'intégration continue
WordCamp Lyon 2015 - WordPress, Git et l'intégration continue
Stéphane HULARD
 
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
Aurelien Navarre
 
Performance et optimisation de PrestaShop
Performance et optimisation de PrestaShopPerformance et optimisation de PrestaShop
Performance et optimisation de PrestaShop
PrestaShop
 
GDG Rennes - Bootcamp Initiation Android - Théorie
GDG Rennes - Bootcamp Initiation Android -  ThéorieGDG Rennes - Bootcamp Initiation Android -  Théorie
GDG Rennes - Bootcamp Initiation Android - Théorie
Horacio Gonzalez
 
GIT training - basic for software projects
GIT training - basic for software projectsGIT training - basic for software projects
GIT training - basic for software projects
Thierry Gayet
 
Open Recipes - hubs : du packaging en solo à l'industrialisation du packaging
Open Recipes - hubs : du packaging en solo à l'industrialisation du packaging Open Recipes - hubs : du packaging en solo à l'industrialisation du packaging
Open Recipes - hubs : du packaging en solo à l'industrialisation du packaging
Anne Nicolas
 
Les blocs Drupal de drop.org à Drupal 8
Les blocs Drupal de drop.org à Drupal 8Les blocs Drupal de drop.org à Drupal 8
Les blocs Drupal de drop.org à Drupal 8
OSInet
 
Présentation Ecreall - Mickaël Launay
Présentation Ecreall - Mickaël LaunayPrésentation Ecreall - Mickaël Launay
Présentation Ecreall - Mickaël Launay
Technocite
 
git.pdf
git.pdfgit.pdf

Similaire à Django compressor (20)

Des poneys à Liberation.fr
Des poneys à Liberation.frDes poneys à Liberation.fr
Des poneys à Liberation.fr
 
Rappels Modularisation application C/C++
Rappels Modularisation application C/C++Rappels Modularisation application C/C++
Rappels Modularisation application C/C++
 
Panels, une autre façon de construire. DrupalCamp Paris 2013
Panels, une autre façon de construire. DrupalCamp Paris 2013Panels, une autre façon de construire. DrupalCamp Paris 2013
Panels, une autre façon de construire. DrupalCamp Paris 2013
 
Outils front-end
Outils front-endOutils front-end
Outils front-end
 
Mise en place de Nagios3 pas à pas
Mise en place de Nagios3 pas à pas Mise en place de Nagios3 pas à pas
Mise en place de Nagios3 pas à pas
 
On test quoi - DCLannion 2017
On test quoi - DCLannion 2017On test quoi - DCLannion 2017
On test quoi - DCLannion 2017
 
Optimisation de son site web
Optimisation de son site webOptimisation de son site web
Optimisation de son site web
 
Drupal Performance
Drupal PerformanceDrupal Performance
Drupal Performance
 
Introduction à CakePHP
Introduction à CakePHPIntroduction à CakePHP
Introduction à CakePHP
 
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
 
Git pour les (pas si) nuls
Git pour les (pas si) nulsGit pour les (pas si) nuls
Git pour les (pas si) nuls
 
WordCamp Lyon 2015 - WordPress, Git et l'intégration continue
 WordCamp Lyon 2015 - WordPress, Git et l'intégration continue WordCamp Lyon 2015 - WordPress, Git et l'intégration continue
WordCamp Lyon 2015 - WordPress, Git et l'intégration continue
 
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
 
Performance et optimisation de PrestaShop
Performance et optimisation de PrestaShopPerformance et optimisation de PrestaShop
Performance et optimisation de PrestaShop
 
GDG Rennes - Bootcamp Initiation Android - Théorie
GDG Rennes - Bootcamp Initiation Android -  ThéorieGDG Rennes - Bootcamp Initiation Android -  Théorie
GDG Rennes - Bootcamp Initiation Android - Théorie
 
GIT training - basic for software projects
GIT training - basic for software projectsGIT training - basic for software projects
GIT training - basic for software projects
 
Open Recipes - hubs : du packaging en solo à l'industrialisation du packaging
Open Recipes - hubs : du packaging en solo à l'industrialisation du packaging Open Recipes - hubs : du packaging en solo à l'industrialisation du packaging
Open Recipes - hubs : du packaging en solo à l'industrialisation du packaging
 
Les blocs Drupal de drop.org à Drupal 8
Les blocs Drupal de drop.org à Drupal 8Les blocs Drupal de drop.org à Drupal 8
Les blocs Drupal de drop.org à Drupal 8
 
Présentation Ecreall - Mickaël Launay
Présentation Ecreall - Mickaël LaunayPrésentation Ecreall - Mickaël Launay
Présentation Ecreall - Mickaël Launay
 
git.pdf
git.pdfgit.pdf
git.pdf
 

Dernier

Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Laurent Speyser
 
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
OCTO Technology
 
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
OCTO Technology
 
Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024
UNITECBordeaux
 
OCTO TALKS : 4 Tech Trends du Software Engineering.pdf
OCTO TALKS : 4 Tech Trends du Software Engineering.pdfOCTO TALKS : 4 Tech Trends du Software Engineering.pdf
OCTO TALKS : 4 Tech Trends du Software Engineering.pdf
OCTO Technology
 
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'universitéDe l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
Université de Franche-Comté
 

Dernier (6)

Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
 
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
 
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
 
Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024
 
OCTO TALKS : 4 Tech Trends du Software Engineering.pdf
OCTO TALKS : 4 Tech Trends du Software Engineering.pdfOCTO TALKS : 4 Tech Trends du Software Engineering.pdf
OCTO TALKS : 4 Tech Trends du Software Engineering.pdf
 
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'universitéDe l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
 

Django compressor

  • 1. Introduction à django compressor Mathieu Pillard https://github.com/diox @dioxmat Rencontres django-fr, 16 avril 2011
  • 2. Présentation ● Application de « gestion » de medias... ● … sans l'aspect gestion ● Au départ juste une collection de filtres pour django_compress ● Documenté, testé, maintenu ● Résout la problématique de base de faire cacher longtemps vos fichiers médias tout en permettant de les expirer immédiatement quand ca change
  • 3. Principes ● Transparent pour les développeurs ● De base, pas de commande de management à lancer ● Pas de « bundle » à créer dans les settings non plus
  • 4. Fonctionnement de base ● Utilisation du templatetag {% compress %} : {% compress css %} <link rel=stylesheet type=text/css href= 1.css> <link rel=stylesheet type=text/css href= 2.css> <style type=text/css> .pony { color : pink ; } </style> {% endcompress %} ● Rendu : <link rel=stylesheet type=text/css href=<hash>.css
  • 5. Ce que ca sait faire ● Changement automatique et à la volée du ou des fichiers résultat quand les sources changent ● Filtres disponibles : Minification, Tidy, Closure, Transformation automatique des urls en data URI ... ● « Pre-compilers » disponibles : LESS, Cofeescript, SASS ● Gère le suffixage des images dans les CSS ● Utilisation du cache django ● Utilisation des moteurs de stockage django pour le fichier résultat ● Commandes de management optionnelles pour générer en « offline » plutôt que en live, ou générer un cache des dates de modification des fichiers
  • 6. Comment ca fonctionne derrière ● Vérification du cache « offline » avec un hash de la nodelist brute. Si présent, retourne alors l'HTML. ● Instanciation d'un parseur (lxml/beautifulsoup), détermine la liste des fichiers, utilise leur nom + date de modif pour faire une clé unique ● Vérification du cache principal à partir de cette clé. Si présent, retourne alors l'HTML. ● Génération du fichier, application filtres/pre- compilers, génération d'un hash, écriture du fichier si nécessaire, remplissage du cache, retourne l'HTML
  • 7. Conclusion ● Utilisé en production sur les projets django de libération ● Le cache est obligatoire pour ne pas utiliser trop de ressources, mais après, ca fuse ! ● Plein de settings optionnels sympas ● Bien maintenu, pas mal de contributeurs, bien documenté (comment ca je répète l'intro) ● Bref, c'est super, utilisez le ! :-) ● https://github.com/jezdez/django_compressor , disponible aussi sur pypi