Bonjour à tous!
Je suis un jeune développer en formation et je me pose une question (certainement noobistique) sur le responsive design.

J'ai déjà eu l'occasion de mettre les mains dans le cambouis de mon coté et je procédais comme-ci:
1) Coder la version desktop.
2) Coder les versions pour tablette et mobile à l'aide de media-queries.

Cependant lors de ma formation mon formateur nous apprend que nous devons faire l'inverse et donc coder en premier les versions mobiles avant d'attaquer la version desktop avec les media-queries.

Cette nouvelle me perturbe un peu. J'aurais donc aimé que vous me confirmiez quelle méthode est pour vous la plus logique.

Dans le cas où il faudrait effectivement commencer par développer la version mobile, dans ce cas comment dois-je monter mon HTML? Dois-je crée un HTML avec les éléments pour mobile puis ajouter de nouvelles balises via des injections Javascript pour la version desktop? Dois-je crée un HTML pour desktop pour directement retirer toutes les balises superflue pour la version mobile via des "display:none" en CSS?

D'avance un grand merci.
Bonsoir.

Je ne suis pas une professionnelle du Webdesign... ce qui ne me dispense pas de donner mon opinion.

Excepté que sur ce point, je vais donner un lien vers un article du blog de M. Goëtter, article avec lequel je me sens d'accord. (Mais peut-être qu'entre-temps, l'auteur a changé d'avis et viendra en parler.)

Je me souviens aussi avoir lu, il y a pas de temps, un article sur les dogmes qui circulent en informatique et que les gens reprennent : 'il faut faire comme si', 'il ne faut pas faire comme ça'. Quand on bosse en équipe, je suppose qu'il faut tenir compte de la façon de travailler des autres. Mais quand on travaille en individuel... ma foi... rien n'interdit d'expérimenter pour savoir la façon qui convient le mieux.

Smiley smile
Je dirai qu'il faut mettre tout les éléments nécessaire à la version desktop directement dans le code et utiliser les display:none car le site fonctionnera mieux niveau SEO/accessibilité. Tu peux dupliquer certaines choses en js si elles doivent apparaître à différent endroits de la page sur la version desktop.

Concernant ce que raconte ton formateur, je pense que le mobile first est juste une autre façon de faire qui n'est pas mieux ou moins bien mais différente. Ce qui est certain c'est que la part du mobile est aujourd'hui énorme donc c'est pas idiot de réfléchir de cette façon même si pour moi il y a des sites qui auront toujours plus une vocation a être consultés sur un ordi de bureau et d'autres sur du mobile donc pas de vérité absolue en la matière. Professionnellement, tu te plieras aux fonctionnement de tes collègue ou tu feras comme tu le sens si tu gères l'inté seul.
Administrateur
Bonjour,

oui une intégration devrait se faire en mobile first mais non c'est pas intuitif.

Perso parce que j'ai commencé avec IE6, que le "optimisé pour IE6 en 1024x768" c'était pas bien longtemps avant, etc 3615 mylife mais au-delà de ça c'est toujours ça (pas le 1024 hein mais "la vue desktop") que les webdesigners ou les clients ont en tête. Bien cette maquette mobile mais le desktop il ressemblera à quoi ? Smiley smile

Ce qui est important, c'est que les maquettes aient été pensées en amont pour pouvoir être adaptées de l'un à l'autre format. Pour ça que l'intégrateur/trice ait été associé en amont à la conception pour apporter son expertise et un oeil extérieur (typiquement se rendre compte qu'il y a un bloc qui disparaît ou qui "plonge").
L'UX design et les wireframes, ça peut faire gagner beaucoup de temps par la suite, parce qu'on se rend très tôt qu'il y a un souci...
Dans ce que tu écris, les composants semblent très différents entre desktop et mobile : pourquoi ? C'est un vieux débat, enfin un débat existant depuis longtemps et toujours existant apparemment : s'il faut simplifier sur mobile, pourquoi ne pas déjà le faire sur dekstop ? Si c'est pas indispensable quelque part, pourquoi le garder ailleurs ?

Dans le quotidien d'un.e inté, une fois les maquettes validées et reçues, il y a plusieurs ambiances :
- celle où l'inté reçoit un matin les PSD d'un autre presta du client, inconnu la veille et n'a aucune voix au chapitre, pas le temps de faire des retours, aucune marge de manoeuvre et c'est pour hier.
Ca finit évidemment en code HTML dupliqué moitié commun à toutes les résolutions, 1/4 pour mobile et 1/4 pour desktop, réajustements et génération de code en JS à la truelle et tout dans la même veine... Ensuite 15 cas limites dont la moitié captée par le client, des jours à traiter les retours et personne n'est content.
- celle où tu as le temps de faire des retours sur ce qui vraiment va être trop compliqué à intégrer tel quel et c'est parti pour un aller-retour designer - inté. Tardif mais pas trop tard.
- celle où c'est ton/ta collègue webdesigner qui t'a donné un aperçu de ce qui t'attendait, que oui il/elle a pensé aux différentes résolutions en parallèle, il n'y a pas le double de blocs dans une vue desktop bien chargée...

Le code HTML devrait être unique ou presque aux différentes résolutions. Certains blocs (header et nav surtout) peuvent être assez différents mais ça doit rester limité.
De grandes platrées de JS pour déplacer la moitié des blocs après chaque resize, des display: none; à foison ce n'est pas bon signe Smiley decu
Mais dès fois, même les positionnements CSS les plus avancés (flexbox poussé dans ses derniers retranchements par exemple) ne sauvent pas la mise et il faut faire appel à du JS.

Mobile first ou desktop first ? Perso je réfléchis encore en desktop first même si au final c'est du mobile first. Enfin plus précisément je regarde chaque layout et chaque composant dans ses différentes déclinaisons avant de commencer la 1ère déclinaison (qu'est-ce que devient ce bloc "desktop" ou "mobile" que j'ai sous les yeux en (resp.) "mobile" ou "desktop" ?). Chaque composant est indépendant des autres dans la CSS, ça aide à pouvoir y faire appel dans n'importe quelle page.
Pour ("l'intérieur" de) chaque composant, est-ce qu'il y a un chemin qui mène de la vue mobile à la vue desktop ? Pour chaque layout, idem. Si la réponse est non ou "pas simplement", c'est bidouille first (et ce n'est pas normal).
Ceci dit, la plupart des intés regardent leur code écrit 1 ou 3 ans auparavant avec un air Smiley ohwell : on apprend, on progresse continuellement et ce qui te parait difficile aujourd'hui sera une vaste blague dans 2-3 projets Smiley cligne
Malgré vos réponses plus qu'intéressante, je constate que tout le monde à un peu ça sauce.

Je n'ai peut être aussi pas été assez précis, je vous propose donc une mise en situation.

J'ai un site, sur la version desktop il y aura une vidéo. Cette vidéo en version mobile ne sera pas présente.

Dois-je donc mettre ma balise <video> dans mon HTML et utiliser un display:none et donc obliger ma version mobile à devoir charger ma vidéo. Mais qui me donne apparemment un meilleur référencement.
Ou dois-je ne pas mettre ma balise <video> et l'ajouter sur ma version desktop avec une injection JavaScript?

Désolé d'avance pour ma lenteur d'esprit Smiley smile