Dans nos URL doit-on utiliser des tirets ou des underscores?

Hier soir, entre deux lignes de code sur une API Rails, une question existentielle m'a soudainement taraudé : faut-il privilégier les tirets (-) ou les underscores (_) dans la définition des URL ? 🤔

Vous savez, ces moments où votre cerveau de développeur s'accroche à un détail qui semble anodin mais qui finit par vous empêcher de dormir ? C'était exactement ça.

L'origine de ma réflexion nocturne

Pourquoi me suis-je lancé dans cette réflexion ? Tout simplement parce que Ruby on Rails a adopté la convention de l'underscore. Intrigué par ce choix qui me semblait arbitraire, j'ai mené l'enquête 🕵️‍♂️🔍 pour comprendre les raisons de cette décision a priori anodine.

Et il s'avère que cette petite décision a son importance. Beaucoup plus que ce que j'imaginais initialement.

La bataille des conventions : tirets vs underscores

Après quelques heures de recherche (et oui, j'assume mes insomnies de développeur), voici ce que j'ai découvert. Le choix entre tirets et underscores n'est pas qu'une question de préférence personnelle ou de convention de framework.

Décomposons la question en fonction de vos priorités :

🌐🔝 Si vous êtes un adepte du SEO (Search Engine Optimization)

Le tiret est votre meilleur ami. Google privilégie la notation kebab-case (avec des tirets) pour indexer les pages. Cela améliore le référencement naturel de votre site et rend les URL plus lisibles pour les internautes.

Pourquoi ? Parce que Google traite les tirets comme des séparateurs de mots, alors qu'il considère les underscores comme des caractères de liaison. Ainsi, "mon-super-article" sera interprété comme trois mots distincts, tandis que "mon_super_article" sera vu comme un seul mot.

Exemple d'URL optimisée pour le SEO :

https://monsite.com/conseils-developpement-web

💾🛠 Si vous vous fichez du SEO

Si vous développez une API, une application interne, ou tout simplement si le référencement n'est pas votre préoccupation principale, l'underscore peut parfaitement faire l'affaire. L'essentiel est de rester cohérent au sein de votre projet.

Les frameworks comme Flask, Django ou Rails recommandent généralement l'underscore pour leurs conventions internes. C'est d'ailleurs pour cette raison que Rails utilise cette notation dans ses routes par défaut.

Exemple d'URL d'API :

https://api.monapp.com/users/profile_settings

Ma recommandation personnelle

En résumé : utilisez les tirets pour les sites web grand public et les underscores pour les API ou les applications internes. 📊🔗

Cette règle simple vous évitera bien des questionnements existentiels à 2h du matin, croyez-moi !

Conclusion

Voilà, mystère résolu ! Cette petite investigation nocturne m'a rappelé à quel point les détails comptent dans notre métier. Ce qui semble être un choix esthétique peut avoir des implications concrètes sur la performance et la visibilité de nos applications.

Maintenant, de retour à mon API 🏃🏼‍➡️👨🏽‍💻... Et vous, quelle convention privilégiez-vous dans vos projets ? Avez-vous déjà vécu ce genre de questionnement nocturne de développeur ?

0
Subscribe to my newsletter

Read articles from Rivaland TAWOUAFO NGUTE directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Rivaland TAWOUAFO NGUTE
Rivaland TAWOUAFO NGUTE

🌍 Hello World ! Je suis Rivaland, développeur fullstack passionné par JavaScript et Ruby on Rails (version 7.1). Que ce soit pour des algorithmes complexes ou des défis plus ludiques, j'aime explorer toutes les facettes du développement. 💡 Sur ce blog, je partage mes découvertes, mes erreurs (oui, ça arrive à tout le monde !) et mes coups de cœur pour des outils qui rendent notre quotidien plus simple et efficace.