Pratiquer le code apporte de la joie et des problèmes. Réussir une mise en page, finaliser un projet peut être comparable à terminer un puzzle, imbriquer des pièces de Tetris, empiler des cartes ou optimiser le chargement d’un camion de déménagement. Hélas, parfois il manque une pièce au puzzle ou le dernier carton ne rentre pas.

Pour la pièce manquante, avec beaucoup de frustration et si près du but il faudra chercher ou faire avec… et pour le carton, sortir quelques éléments, prendre du recul, recommencer ou prévoir un trajet de plus. Aborder un problème de code est très similaire.

En programmation, les langages évoluent et s’adaptent aux nouveaux besoins. Certains changements solutionnent des problèmes et certaines envies en créent de nouveaux. Vouloir une position « fixe(d) » sur une page peut devenir complexe et résoudre cette mise en page engendre parfois d’autres problèmes.

Je suis graphiste

#Métaphore
Si vous découvrez Illustrator et que votre seule compétence est l’outil rectangle ; vous pouvez déjà faire un logo et peut‐être même un excellent logo. Personne ne va vérifier votre niveau d’Illustrator.

Pour les mises en page web, pour commencer il faut savoir s’imposer des limites techniques et toujours opter pour la simplicité.
Je classe les problèmes en deux catégories les bugs mineurs et les autres.
Un bug mineur est un problème d’affichage qui ne perturbe pas le fonctionnement du site et qui ne se voit pas forcement ; un bug présent sur un seul navigateur qui rend la mise en page différente, un peu moins bien, mais « supportable ».
Pour les autres bugs primordiaux…

Ça ne marche pas

L’inspecteur (Chrome ou Firefox) est l’outil le plus efficace, vérifiez l’imbrication du HTML et la bonne écriture du CSS.
Un onglet réseau permet de vérifier le bon chargement des éléments, un rapide coup d’œil peut mieux expliquer le problème.
Un code mal écrit partiellement peut casser le reste de la page, une solution automatique consiste à utiliser le validateur W3C et voir si des balises sont bien ouvertes et fermées.
Si les problèmes persistent, un peu de rangement de code (Beautify, Formater) s’impose.

Ça ne marche toujours pas

Trois voies possibles, résoudre le problème en solo, avec un ami ou avec Internet.
Pour ces trois choix, isoler le problème, refaire une simulation minimum du problème s’impose.

#Métaphore
Si vous écrivez un roman et que vous demandez à des personnes inconnues de corriger vos 300 pages, vous devriez avoir peu de candidats. Par contre, si vous avez un doute sur une règle d’écriture sur une phrase, une expression ou un mot, les amoureux de la langue seront volontaires pour vous éclairer. Les langages de programmation suivent ces mêmes règles, favorisant la pédagogie et sachant différencier une aide, d’un travail.

Bien poser sa question est un exercice difficile et parfois amène la réponse, beaucoup de forums contiennent des « self reply » postés quelques minutes après la question.

Un exemple de code problématique peut être poster sur CodePen ou jsbin en utilsant un service comme DummyImage pour les images.