Bonjour tout le monde.
/!\ Avant toute chose veuillez me pardonner car je suis sur un clavier allemand, donc ce sera un post sans accents (je ne corrigerai que ce que le correcteur automatique me propose).
Alors aujourd'hui, ce n'est ni une réponse a un problème précis, ni une critique que je suis venu chercher, mais plutôt des informations, un partage d’expérience.
Je travaille aujourd'hui sur un site web en tant que développeur front-end pour une startup. Une grande partie de mon travail est de dessiner et d'implementer des versions differentes de pages cles, afin d'en comparer le rendement. Comme beaucoup le savent deja probablement sur ce forum, c'est ce qu'on appel le A/B testing.
Au dela de ca, il y a des routes completes qui peuvent etre "A/B testees", ce qui s'ignifie que l'on peut tres rapidement arriver a des feuilles de style assez fouillies. Depuis longtemps deja, j'utilise Sass/Compass (via gruntJS bien souvent) et hierarchise mes .scss le plus proprement possible.
C'est parfaitement confortable a partir du moment ou la structure du site reste classique, même sur un site tres complexe. Mais un niveau plus haut, on trouve le testing. Et encore un niveau plus haut, on fait du testing dans une start-up qui part dans tous les sens (dans le bon sens tu terme). Alors forcement, on multiplie les feuilles de style, les routes, et versions, les couleurs de boutons, etc. Ça en devient très rapidement problématique quand il s'agit de tout organiser.
Alors je vais attaquer simplement, j'ai deux questions assez précises, et d'autres viendront probablement agrémenter ce topic.
1) Je m'adresse aux professionnels travaillant depuis un certain temps avec la syntaxe CSS BEM, et vous donne un exemple:
Page A:
C'est aujourd'hui ma manière de faire dans le cadre d'un A/B testing sauvage. Je trouve personnellement ca parfois ennuyeux a maintenir. Apres, je suis bien conscient que dans le contexte dans lequel je me trouve, il est difficile de faire des miracles.
Quelles sont donc vos pratiques dans ce contexte ? Toutes les idées sont les bienvenues.
2) Dans la question 1, je vous expose un cas dans lequel je concentre tout dans une partiale _header.scss". Une autre solution consiste alors a diviser le code de chaque version différente dans des partiales différentes, que je range dans des sous-dossiers nommes selon le nom de code de la version.
Encore une fois, je suis preneur de conseils, expériences.
Finalement, je lance aussi un sujet de fond que je n'ai pas vu sur le forum d'alsacreations. Si chacun pouvait apporter son témoignage, ses "bonnes pratiques"...
Je m'excuse aussi pour ce sujet rasoir une veille de Pacques
En vous souhaitant une bonne fin de journee.
[petit bonjour au passage a Kusto ]
Modifié par Cr4sH (17 Apr 2014 - 16:48)
/!\ Avant toute chose veuillez me pardonner car je suis sur un clavier allemand, donc ce sera un post sans accents (je ne corrigerai que ce que le correcteur automatique me propose).
Alors aujourd'hui, ce n'est ni une réponse a un problème précis, ni une critique que je suis venu chercher, mais plutôt des informations, un partage d’expérience.
Je travaille aujourd'hui sur un site web en tant que développeur front-end pour une startup. Une grande partie de mon travail est de dessiner et d'implementer des versions differentes de pages cles, afin d'en comparer le rendement. Comme beaucoup le savent deja probablement sur ce forum, c'est ce qu'on appel le A/B testing.
Au dela de ca, il y a des routes completes qui peuvent etre "A/B testees", ce qui s'ignifie que l'on peut tres rapidement arriver a des feuilles de style assez fouillies. Depuis longtemps deja, j'utilise Sass/Compass (via gruntJS bien souvent) et hierarchise mes .scss le plus proprement possible.
C'est parfaitement confortable a partir du moment ou la structure du site reste classique, même sur un site tres complexe. Mais un niveau plus haut, on trouve le testing. Et encore un niveau plus haut, on fait du testing dans une start-up qui part dans tous les sens (dans le bon sens tu terme). Alors forcement, on multiplie les feuilles de style, les routes, et versions, les couleurs de boutons, etc. Ça en devient très rapidement problématique quand il s'agit de tout organiser.
Alors je vais attaquer simplement, j'ai deux questions assez précises, et d'autres viendront probablement agrémenter ce topic.
1) Je m'adresse aux professionnels travaillant depuis un certain temps avec la syntaxe CSS BEM, et vous donne un exemple:
Page A:
.header {
// Rules
}
.header__logo {
// Rules
}
.header__logo--b-version {
// Rules (modifiers)
}
.header__headline {
// Rules
}
.header__contact-data {
// Rules
}
.header__contact-data--b-version {
// B version rules (modifiers)
}
.header__contact-data--c-version {
// C version rules (modifiers)
}
C'est aujourd'hui ma manière de faire dans le cadre d'un A/B testing sauvage. Je trouve personnellement ca parfois ennuyeux a maintenir. Apres, je suis bien conscient que dans le contexte dans lequel je me trouve, il est difficile de faire des miracles.
Quelles sont donc vos pratiques dans ce contexte ? Toutes les idées sont les bienvenues.
2) Dans la question 1, je vous expose un cas dans lequel je concentre tout dans une partiale _header.scss". Une autre solution consiste alors a diviser le code de chaque version différente dans des partiales différentes, que je range dans des sous-dossiers nommes selon le nom de code de la version.
// Version simplifiée
scss/
|
|-- core/
| |-- _reset.scss
| |-- _colors.scss
| |-- _header.scss
| ...
|
|-- default-version/
| |-- _header.scss
| |-- _buttons.scss
| ...
|-- b-version/
| |-- _header.scss
| |-- _buttons.scss
| ...
|
|-- c-version/
| |-- _header.scss
| |-- _modifiers.scss
| ...
|
Encore une fois, je suis preneur de conseils, expériences.
Finalement, je lance aussi un sujet de fond que je n'ai pas vu sur le forum d'alsacreations. Si chacun pouvait apporter son témoignage, ses "bonnes pratiques"...
Je m'excuse aussi pour ce sujet rasoir une veille de Pacques
En vous souhaitant une bonne fin de journee.
[petit bonjour au passage a Kusto ]
Modifié par Cr4sH (17 Apr 2014 - 16:48)