Comme de mon c�t�, j'aime bien avoir une feuille de style par page + 1
globale + 1 pour le print + 1 pour le reset + 1 pour... bref 36
feuilles, je voulais faire une b�te concat�nation � l'appel d'une page.
Pas bien compliqu�, mais ce serait bien que ce soit en cache pour �viter
de faire cette op�ration � chaque appel. Donc il faut v�rifier qu'une
des css n'a pas �t� mise � jour.
Alors, plus simplement, connaissez-vous une telle fonctionnalit� d�j�
d�velopp�e dans une solution open-source quelconque, histoire que je ne
refasse pas m�diocrement quelque chose qui existe d�j� ?
Merci.
Je ne suis pas sï¿œr de comprendre ce que tu cherches. Tu voudrais crï¿œer
un fichier unique contenant la concatï¿œnation de tous les autres ? Si
oui, est-ce qu'un makefile ne rᅵpondrait pas ᅵ la question ?
> Je ne suis pas sï¿œr de comprendre ce que tu cherches. Tu voudrais crï¿œer
> un fichier unique contenant la concatï¿œnation de tous les autres ? Si
> oui, est-ce qu'un makefile ne rᅵpondrait pas ᅵ la question ?
Oula ! ᅵ part pour compiler, je n'ai jamais entendu parler de makefile.
Je veux concatï¿œner ("merger") les fichiers css, histoire de rï¿œduire les
requï¿œtes http (et d'avoir un meilleur taux de compression gzip par la
mï¿œme occasion ; tiens d'ailleurs ce serait bien que le fichier obtenu
soit dᅵbarrassᅵ de ses commentaires).
ᅵa sert aussi ᅵ ce genre de bricole... On peut tout faire avec un makefile.
Par exemple :
Tu as 3 pages (ne compliquons pas) :
page1.html, page2.html, page3.html
Pour toutes on utilise :
commun.css, print.css
Et chacune ᅵ sa feuille particuliᅵre :
page1.css, page2.css, page3.css
Tu veux concatï¿œner (par exemple) pour page1 : commun.css, print.css et
page1.css dans cs1.css
Tu fais un makefile :
-------------------------------
# Les fichiers ᅵ gᅵnᅵrer
all: css1.css css2.css css3.css
# dï¿œpendances :
css1.css: page1.css print.css commun.css
cat print.css commun.css page1.css >css1.css
css2.css: page2.css print.css commun.css
cat print.css commun.css page2.css >css2.css
css3.css: page3.css print.css commun.css
cat print.css commun.css page3.css >css3.css
# On peut en rajouter d'autres (avec les .js par exemple...).
-------------------------------
Et tu l'appliques ᅵ chaque fois que tu fais une modif quelque part !
--
Serge http://leserged.online.fr/
Mon blog: http://cahierdesergio.free.fr/
Soutenez le libre: http://www.framasoft.org
> ᅵa sert aussi ᅵ ce genre de bricole... On peut tout faire avec un makefile.
>
> Par exemple :
> Tu as 3 pages (ne compliquons pas) :
> page1.html, page2.html, page3.html
>
> Pour toutes on utilise :
> commun.css, print.css
>
> Et chacune ᅵ sa feuille particuliᅵre :
> page1.css, page2.css, page3.css
>
> Tu veux concatï¿œner (par exemple) pour page1 : commun.css, print.css et
> page1.css dans cs1.css
>
> Tu fais un makefile :
> -------------------------------
> # Les fichiers ᅵ gᅵnᅵrer
> all: css1.css css2.css css3.css
>
> # dï¿œpendances :
> css1.css: page1.css print.css commun.css
> cat print.css commun.css page1.css >css1.css
>
> css2.css: page2.css print.css commun.css
> cat print.css commun.css page2.css >css2.css
>
> css3.css: page3.css print.css commun.css
> cat print.css commun.css page3.css >css3.css
>
> # On peut en rajouter d'autres (avec les .js par exemple...).
> -------------------------------
> Et tu l'appliques ᅵ chaque fois que tu fais une modif quelque part !
>
>
Merci, ï¿œa me semble trï¿œs bien mais :
- comment gï¿œnï¿œre-t-on le tout (je fais un make ???)
- est-il possible avec cette technique de le faire automatiquement
(comme je le souhaitais, si un des fichiers css a ᅵtᅵ modifiᅵ, la
concatï¿œnation se fait immï¿œdiatement) ?
- du coup, c'est gᅵrᅵ dans le shell et plus via php (hors shell_exec...) ?
>> Tu veux concatï¿œner (par exemple) pour page1 : commun.css, print.css et
>> page1.css dans cs1.css
>>
>> Tu fais un makefile :
>> -------------------------------
>> # Les fichiers ᅵ gᅵnᅵrer
>> all: css1.css css2.css css3.css
>>
>> # dï¿œpendances :
>> css1.css: page1.css print.css commun.css
>> cat print.css commun.css page1.css >css1.css
>>
>> css2.css: page2.css print.css commun.css
>> cat print.css commun.css page2.css >css2.css
>>
>> css3.css: page3.css print.css commun.css
>> cat print.css commun.css page3.css >css3.css
>>
>> # On peut en rajouter d'autres (avec les .js par exemple...).
>> -------------------------------
>> Et tu l'appliques ᅵ chaque fois que tu fais une modif quelque part !
> Merci, ï¿œa me semble trï¿œs bien mais :
> - comment gï¿œnï¿œre-t-on le tout (je fais un make ???)
Tu lances la commande "make" dans le rï¿œpertoire contenant un fichier du
nom "makefile".
> - est-il possible avec cette technique de le faire automatiquement
> (comme je le souhaitais, si un des fichiers css a ᅵtᅵ modifiᅵ, la
> concatï¿œnation se fait immï¿œdiatement) ?
> - du coup, c'est gᅵrᅵ dans le shell et plus via php (hors shell_exec...) ?
Ben, oui... c'est une maniï¿œre statique de maintenir un ensemble de
fichiers interdï¿œpendants. Tu peux aussi, utiliser PHP pour avoir une
version statique du site :
toto.html: toto.php
php toto.php >toto.html
Voir par exemple :
http://fr.wikipedia.org/wiki/Make
make est prï¿œsent dans tout systï¿œme Unix (Linux et autres) et existe
aussi pour Windows...
> Ben, oui... c'est une maniï¿œre statique de maintenir un ensemble de
> fichiers interdï¿œpendants. Tu peux aussi, utiliser PHP pour avoir une
> version statique du site :
>
> toto.html: toto.php
> php toto.php >toto.html
>
> Voir par exemple :
> http://fr.wikipedia.org/wiki/Make
>
> make est prï¿œsent dans tout systï¿œme Unix (Linux et autres) et existe
> aussi pour Windows...
>
Ah oui ï¿œa, je l'utilise depuis un paquet d'annï¿œes :) Mais bon, je
compile sans en savoir bcp plus...
Bon, merci. Disons que le make c'est bien, sans vraiment rᅵpondre ᅵ mon
problᅵme (si c'ᅵtait le cas, j'aurais simplement utilisᅵ cat sous shell)