SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our User Agreement and Privacy Policy.
SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our Privacy Policy and User Agreement for details.
Successfully reported this slideshow.
Activate your 14 day free trial to unlock unlimited reading.
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
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
0 likes
Be the first to like this
Views
Total views
2,224
On SlideShare
0
From Embeds
0
Number of Embeds
2
You have now unlocked unlimited access to 20M+ documents!
Unlimited Reading
Learn faster and smarter from top experts
Unlimited Downloading
Download to take your learnings offline and on the go
You also get free access to Scribd!
Instant access to millions of ebooks, audiobooks, magazines, podcasts and more.
Read and listen offline with any device.
Free access to premium services like Tuneln, Mubi and more.