26
mai

csscaffold + Nginx

by Mushiro in PHP, web

J’ai récemment pu enfin tester csscaffold pour un projet PHP symfony. C’est une librairie PHP pour gérer des fichiers CSS « dynamiques » : utilisation de constantes, de fonctions, de « blocs » de propriétés réutilisables dans les déclarations CSS. Le source CSS final est compilé à la demande (avec une gestion de cache).

Il existe un outil qui fait plus ou moins la même chose, mais en ruby : Less. Travaillant à 95% avec PHP, et n’ayant pas envie d’installer Ruby sur mon poste, c’était l’occasion de tester csscaffold.

Pour les fonctionnalités, je vous laisse lire le README sur la page projet github, mais voici quand même un petit exemple tout simple :

1
2
3
4
5
6
7
8
9
@constants {
    borderColor  :#d9d9d9;
    grey           :#666;
}

.monSpan {
    background-color: $grey;
    border: solid 1px $borderColor;
}

Une des solutions proposées pour compiler le css et d’ajouter dans son fichier .htaccess des règles pour ModRewrite (pris du README) :

You can use a .htaccess file to automatically pass any requests to CSS files to Scaffold. You might use something like this:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{REQUEST_URI} \.css$
RewriteRule ^(.+)$ scaffold/index.php?f=%{REQUEST_URI}&%{QUERY_STRING}
</IfModule>

Le souci avec nginx, c’est que les fichiers .htaccess, il s’en fout un peu. Voici donc les lignes à ajouter dans votre déclaration de site, dans le fichier nginx.conf par exemple :

1
2
3
location ~ \.css {
    rewrite ^(/css/(.*\.css))$ /css/scaffold/index.php?d=css&f=$2 last;
}

En gros, ça dit que dès que le navigateur demande un fichier css du dossier « css », ça appelle en fait scaffold (installé dans le dossier css), avec en paramètre le dossier où trouver les css (paramètre d), et le fichier demandé (paramètre f).

Pour mon projet symfony, ça fonctionne bien comme ça. Par contre, je ne pense pas que ça fonctionne avec des sous dossiers dans le dossier css. L’expression régulière sera à modifier dans ce cas.

23
mai

Incendie sur RN227

by Mushiro in Divers

Commentaires sur page Youtube.

20
mai

TrueBlood saison 2

by Mushiro in Bluray

Vraiment efficace Amazon.uk ! Coffret BD sorti le 17 mai, reçu le… 17 mai. Nice.

TrueBlood S2
TrueBlood S2

TrueBlood S2 (intérieur)
TrueBlood S2 (intérieur)
18
avr

php symfony : un peu de lecture

Un peu de lecture ne fera pas de mal…

livres_symfony
livres_symfony
10
mar

Freenetix, ou la souris sans fil sans pile

by Mushiro in Informatique

Voilà maintenant plus de deux semaines que j’ai changé de souris, pour une Freenetix. Jusqu’alors j’utilisais une Logitech cordless, vieille de plusieurs années, mais qui fonctionnait très bien. L’ennui, c’était juste les piles à changer tous les 3, 4 mois, et parfois le curseur qui se barrait à un autre coin de l’écran, sans rien demander :(
Keep reading »