Forum de FilmDeCulte
https://forum.plan-sequence.com/

Le fil du webmaster en herbe
https://forum.plan-sequence.com/fil-webmaster-herbe-t13671-135.html
Page 10 sur 12

Auteur:  Massinfect [ 23 Mar 2016, 17:22 ]
Sujet du message:  Re: Le fil du webmaster en herbe

Ce charabia putain...

Auteur:  Delirium Tremens [ 23 Mar 2016, 17:44 ]
Sujet du message:  Re: Le fil du webmaster en herbe

Massinfect a écrit:
Ce charabia putain...

C'est juste pour faire genre, c'est comme les putains de termes marins !

J'ai voté à babord aux dernières élections.
Désolé chérie, je me suis trompé entre la proue et la poupe...

Auteur:  Massinfect [ 23 Mar 2016, 17:55 ]
Sujet du message:  Re: Le fil du webmaster en herbe

C'est ça l'astuce : compliquer un truc ultra simple avec un jargon relou histoire de garder le marché. C'est la classe !

Auteur:  deudtens [ 23 Mar 2016, 18:34 ]
Sujet du message:  Re: Le fil du webmaster en herbe

Delirium Tremens a écrit:
Tiens je profite du renouveau du fil pour poser une question, au moins à Deud qui joue avec Symfony mais si y'en a d'autres : vous gérez comment les assets dans Symfony ? Avec assets et assetic ? Ou un avec gruntjs (ou gulp)/bower ? Auquel cas, est-ce qu'il y a moyen de se passer d'assets pour le versioning (qui m'intéresse pour le cache notamment) et les assets des bundles ou impossible ? Je suis juste en train de tester gruntjs, donc je bafouille un peu dessus pour le moment, mais ça me plait bien car ça industrialise pas mal le processus du front (sass, concaténation et compression des css/js, puis j'attends de voir ce que je peux faire sur les images aussi).


Je vais te donner mon avis, mais c'est purement subjectif : je hais l’écosystème JS du moment. Ya des dizaines d'outils différents pour le même but, aucun qui se détache vraiment, la hype qui passe de l'un à l'autre en quelques mois... c'est simple, entre les gulp, grunt, bower, je suis peaumé. J'ai toujours eu des problèmes pour installer nodjs + npm sur des serveurs et environnements de dev : le nom du binaire change, npm est parfois fourni en dépendance, parfois pas... bref, ça m'a saoulé.

Du coup j'utilise assetic, et j'ai zéro runtime js sur la stack de mon projet perso en cours de développement. Assetic fournit un truc qui fait du cache busting en donnant des suffixes à tes fichiers css et js. Assetic, c'est lourd, c'est du php, ce n'est plus hype, mais j'en ai absolument rien à foutre.

Par contre, gros bémol, ça ne le fait pas pour les fichiers images. Pour l'instant j'ai pas encore cherché si yavait quelque chose de tout prêt pour le faire, mais ya environ 5 ans, j'avais fait un truc un peu moche :
- lors du déploiement, je fais un coup de sed dans mon fichier css pour remplacer les noms des images ainsi : toto.jpg -> toto-dyn123456789.jpg . 123456789 correspond à la date du déploiement ou un numéro de version.
- au niveau du serveur qui héberge les images (c'était un apache je crois), je rajoute une regex qui traduit un truc dans ce genre (syntaxe inventée, mais tu vois l'idée j'espère) : (.*)(-dyn)([0-9]*).(.*) -> (1).(4)
L'inconvénient avec cette méthode, c'est que tu niques le cache de toutes les images au moindre déploiement. Quand je me suis barré, certains ont repris le truc et on fait en sorte que ce qui se trouve derrière le dyn soit un hash du fichier de l'image, qui ne changerait donc pas si l'image restait la même.

Auteur:  Déjà-vu [ 23 Mar 2016, 18:36 ]
Sujet du message:  Re: Le fil du webmaster en herbe

J'allais le dire.

Auteur:  Abyssin [ 23 Mar 2016, 18:46 ]
Sujet du message:  Re: Le fil du webmaster en herbe

Vous pouvez parler français, je comprends mieux le mandarin de ma chérie.

Auteur:  Delirium Tremens [ 23 Mar 2016, 18:59 ]
Sujet du message:  Re: Le fil du webmaster en herbe

deudtens a écrit:
Je vais te donner mon avis, mais c'est purement subjectif : je hais l’écosystème JS du moment. Ya des dizaines d'outils différents pour le même but, aucun qui se détache vraiment, la hype qui passe de l'un à l'autre en quelques mois... c'est simple, entre les gulp, grunt, bower, je suis peaumé. J'ai toujours eu des problèmes pour installer nodjs + npm sur des serveurs et environnements de dev : le nom du binaire change, npm est parfois fourni en dépendance, parfois pas... bref, ça m'a saoulé.

Bon sur tout ça, je plussoie (même si bon sur le dev, t'as ça tous les jours, ah mais pourquoi t'utilises symfony et pas laravel ou phalcon). Bref j'ai toujours fonctionné avec le minimum syndical, sauf que je me suis dit, bon on va quand même tester et force est d'admettre que quand ça fonctionne, ça fait bien le boulot. Après ça me saoule toute la config en amont, car je déteste ça et le fait que tout n'est pas bowerisable... donc pour le moment on a clairement pas un environnement parfait. Par contre ne suis pas du tout sûr de l'intérêt d'installer nodejs + npm sur un serveur, je pense que la machine de dev doit l'avoir et l'utiliser et on peut inclure les assets qui ont été buildés automatiquement dans le git. Du coup, tu t'évites pas mal de boulot de config et potentiellement le mec qui ne fait que du back n'en a rien à battre et n'a même pas à s'occuper de ça.
deudtens a écrit:
Du coup j'utilise assetic, et j'ai zéro runtime js sur la stack de mon projet perso en cours de développement. Assetic fournit un truc qui fait du cache busting en donnant des suffixes à tes fichiers css et js. Assetic, c'est lourd, c'est du php, ce n'est plus hype, mais j'en ai absolument rien à foutre.

La hype et moi sur le dev ça a toujours fait 2, donc c'est pas vraiment le but recherché.
deudtens a écrit:
Par contre, gros bémol, ça ne le fait pas pour les fichiers images. Pour l'instant j'ai pas encore cherché si yavait quelque chose de tout prêt pour le faire, mais ya environ 5 ans, j'avais fait un truc un peu moche :
- lors du déploiement, je fais un coup de sed dans mon fichier css pour remplacer les noms des images ainsi : toto.jpg -> toto-dyn123456789.jpg . 123456789 correspond à la date du déploiement ou un numéro de version.
- au niveau du serveur qui héberge les images (c'était un apache je crois), je rajoute une regex qui traduit un truc dans ce genre (syntaxe inventée, mais tu vois l'idée j'espère) : (.*)(-dyn)([0-9]*).(.*) -> (1).(4)
L'inconvénient avec cette méthode, c'est que tu niques le cache de toutes les images au moindre déploiement. Quand je me suis barré, certains ont repris le truc et on fait en sorte que ce qui se trouve derrière le dyn soit un hash du fichier de l'image, qui ne changerait donc pas si l'image restait la même.

Bon j'ai rencontré les même limites que toi avec assetics, mais le projet n'étant pas terminé, j'ai laissé un peu de côté, mais je comptais utiliser compass (vu que j'ai encore compass sur ce projet) pour gérer le cache/versioning des images. Après dans mon souvenir, j'avais un problème de copie de certains fichiers.

Bon ça me rassure sur ce que j'ai toujours fait, mais du coup tu me fais hésiter sur un nouveau projet à bazarder mon grunt. Mais vu que symfony a jarté assetics de base, je pense que symfony se dirige doucement vers une sortie totale d'assetics. Donc je pense faire une passe Grunt (compilation sass, concaténation, compression css et js) et intégration dans twig avec asset.

Auteur:  Massinfect [ 23 Mar 2016, 19:09 ]
Sujet du message:  Re: Le fil du webmaster en herbe

deudtens a écrit:
gulp, grunt, bower, nodjs + npm, assetic, runtime js sur la stack, cache busting, fichiers css et js, php, sed dans mon fichier css, toto.jpg -> toto-dyn123456789.jpg . 123456789, apache, regex, (.*)(-dyn)([0-9]*).(.*) -> (1).(4), dyn, hash.

Le seul truc que j'ai compris, c'est "apache". Mais pas sur qu'il s'agisse d'un indien.

Auteur:  deudtens [ 23 Mar 2016, 19:18 ]
Sujet du message:  Re: Le fil du webmaster en herbe

Oui, la course au truc à la mode, tu l'as dans tous les langages, mais je trouve ça plus fort dans l’environnement js.

Moi non plus j'aime pas installer d'outils de "compilation" sur un serveur : comme toi, je prépare ma livraison en amont et je ne fais rien sur mes frontaux. Maiiis à mon taff, mes prédécesseurs ont pas choisi ça :( . Sur mes projets perso, j'utilise un jenkins sur mon serveur perso qui build et qui déploie une fois les tests validés. Jsuis pas trop fan non plus du déploy à partir du poste de dev, j'ai peur d'effets de bord induits par l'environnement.

Niveau CSS, jme suis mis à sass pour voir (j'ai du utilsier cette saloperie de ruby du coup, brrrr). Je savais pas que compass permettait de gérer le renommage d'images, ça m’intéresse du coup.

Auteur:  deudtens [ 23 Mar 2016, 19:25 ]
Sujet du message:  Re: Le fil du webmaster en herbe

Delirium Tremens a écrit:
Mais vu que symfony a jarté assetics de base, je pense que symfony se dirige doucement vers une sortie totale d'assetics.


Moi j'interprète cette séparation comme une ouverture vers la hype et les fous de grunt et compagnie. Ils m'ont l'air de continuer à considérer assetic comme un bon choix quand même : http://symfony.com/doc/current/best_pra ... ssets.html

Auteur:  Delirium Tremens [ 24 Mar 2016, 09:26 ]
Sujet du message:  Re: Le fil du webmaster en herbe

deudtens a écrit:
Niveau CSS, jme suis mis à sass pour voir (j'ai du utilsier cette saloperie de ruby du coup, brrrr). Je savais pas que compass permettait de gérer le renommage d'images, ça m’intéresse du coup.

Compass gère le versioning d'images dans les css (cache buster), mais pas hors css, donc je ne sais plus ce que je voulais faire pour ça. Il gère surtout la création de sprites png, et ça c'est le bonheur. Après ça a l'air de mourir tout doucement compass avec l'arrivée des post-processeurs css type PostCSS (new old hype).
deudtens a écrit:
Moi j'interprète cette séparation comme une ouverture vers la hype et les fous de grunt et compagnie. Ils m'ont l'air de continuer à considérer assetic comme un bon choix quand même : http://symfony.com/doc/current/best_pra ... ssets.html

Le pire c'est que je ne me souviens même plus pourquoi je voulais me passer d'assetic à la base. Je sais que j'avais un truc particulier qui m'avait emmerdé, et j'avais dit "je tenterai Grunt la prochaine fois pour voir !" mais là je fais exactement la même chose sous grunt et sous assetic, donc pour l'instant ça change pas grand chose. Assetic est plus simple, donc pour l'instant y'a pas de meilleure alternative pour un projet simple je pense, voilà pourquoi ils continuent de le conseiller.

Auteur:  Delirium Tremens [ 08 Avr 2016, 10:51 ]
Sujet du message:  Re: Le fil du webmaster en herbe

Delirium Tremens a écrit:
Le pire c'est que je ne me souviens même plus pourquoi je voulais me passer d'assetic à la base. Je sais que j'avais un truc particulier qui m'avait emmerdé, et j'avais dit "je tenterai Grunt la prochaine fois pour voir !" mais là je fais exactement la même chose sous grunt et sous assetic, donc pour l'instant ça change pas grand chose. Assetic est plus simple, donc pour l'instant y'a pas de meilleure alternative pour un projet simple je pense, voilà pourquoi ils continuent de le conseiller.

Bon partir de Grunt/Bower sera dur. Tu as un fichier de conf (bon 2 avec Bower mais lui est ultra léger) simple à gérer une fois que tout est créé, et ça te fait :

- gestion des dépendances externes avec Bower
- l'optimisation des images (gif, jpeg, png, svg) (grunt-contrib-imagemin)
- compilation de sass (grunt-contrib-sass)
- ajout des préfixes css et fallback de l'unité REM en px (grunt-postcss avec autoprefixer et pixrem)
- suppression des classes css non utilisées dans le projet (grunt-purifycss) (même si pas 100% des classes supprimées, grunt-uncss réduit plus mais il bug avec assets et supprime trop de css)
- concaténation et compression des css et js (grunt-contrib-uglify)
- création de toutes les favicons (apple, android, favicon classique, tuile windows...) (grunt-real-favicon)
- watcher personnalisable (pour accélérer le processus si par exemple y'a des feuilles de styles qui ne bougent pas)

Et pour le moment à part le versionning que je peux gérer avec assets_version (un peu bourrin, puisque ça met à jour tout le jeu d'assets), j'ai tout ce qu'il me faut et en plus le projet avec la console de debug de symfony va 3X plus vite. Bref c'est quand même assez énorme la puissance du truc une fois tout configuré, et quand t'as un besoin ponctuel (genre sprite de SVG par ex), tu fais ça en 2 temps 3 mouvements. Je pense que tous mes projets vont finalement y passer au fur et à mesure (le grunt-purifycss sur des projets long terme, gros et avec framework notamment c'est juste génial).

Auteur:  deudtens [ 08 Avr 2016, 12:55 ]
Sujet du message:  Re: Le fil du webmaster en herbe

merci pour ce retour, ça donne envie en effet !

Auteur:  Delirium Tremens [ 08 Avr 2016, 16:24 ]
Sujet du message:  Re: Le fil du webmaster en herbe

deudtens a écrit:
merci pour ce retour, ça donne envie en effet !

Dès que j'ai un truc réellement nickel, utilisable partout, je posterai la config ici. Là je teste encore des trucs, j'aimerai bien optimiser le JS encore. Et sur le projet que j'ai utilisé, je n'ai aucun sprite SVG (adieu icomoon) ou PNG contrairement à d'autres, donc il manque ça également, que je pourrais configurer mais ne pas utiliser.

Auteur:  Delirium Tremens [ 12 Avr 2016, 14:54 ]
Sujet du message:  Re: Le fil du webmaster en herbe

Delirium Tremens a écrit:
Et pour le moment à part le versionning que je peux gérer avec assets_version (un peu bourrin, puisque ça met à jour tout le jeu d'assets)

Bon je viens de réussir (4h dessus et pas tout seul, parce que les tréfonds de Symfony sont du chinois pour moi), à mettre en place un versioning via Grunt qui crée automatiquement un hash du nom du fichier si le fichier change et qui envoie ça dans une class PHP, et ensuite asset va chercher la version dans l'array renvoyé par la class. Donc je me retrouve avec un système de versioning intelligent car il passe après toutes les optis, donc si j'ajoute un espace dans un fichier css par ex, comme il sera minifié avant, il n'y aura pas de différence, et donc le fichier ne changera pas son hash. Mais reste encore une inconnue : la gestion des assets dans les css. J'ai compass comme solution possible/facile, j'attends de voir si j'arrive à trouver autre chose comme je voulais arrêter d'utiliser compass sur mes projets.

Page 10 sur 12 Heures au format UTC + 1 heure
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/