J'osais pas le proposer pour le sous-domaine mais je préfère également, tant qu'à faire.
Pour le numéro de version je pense que c'est réellement nécessaire pour les raisons qu'a évoquées nohar. Rien qu'en ce qui concerne le profil utilisateur, il n'est pas exclu que le modèle de données change et il arrivera qu'on ne maintienne pas l'ancien modèle (soyons honnête, c'est chiant et pour pas grand chose).
Avec un numéro de version indiqué et clair dans la doc on est armé pour faire cela proprement (le serveur renvoie un 301 moved permanently sur /api/v1 par exemple). Si c'est documenté, le développeur saura à quoi s'en tenir plutôt que de passer à côté d'une modif du modèle et se demander pourquoi diable le compte Google+ de l'utilisateur ne s'affiche plus.
Ensuite, dans l'URI ou via un en-tête personnalisé… Vaste débat que voilà… Dans l'article dont j'ai donné le lien, le mec prêche la version dans l'URI, pour assurer ce qu'il appelle l'explorabilité des ressources entre les versions. Par contre il donne un lien vers stackoverflow dans lequel les utilisateurs sont beaucoup plus enclins à ne pas versionner dans l'URI.
Les deux me vont hein, qu'on soit bien d'accord. Et si j'ai fait le choix de versionner l'URL plutôt qu'un en-tête c'est parce que je ne connais pas les outils de reporting que vous utilisez pour explorer les logs du serveur HTTP (nginx si je ne m'abuse).
Typiquement, un jour, il se peut qu'on cherche à savoir combien de requêtes par jour sont effectués sur telle version de l'API (une version dépréciée par exemple). Si vous possédez un outil puissant, qui vous permet de filtrer facilement sur un en-tête HTTP alors pas de problème, sinon, filtrer sur un path c'est bien évidemment plus simple.
De même, Mr X développe un client tiers utilisant l'API, son site bug pas mal, mais on aimerait quand même bien savoir quelle version de l'API il utilise, c'est plus immédiat de regarder les URL d'appel que d'aller chercher dans les headers (si c'est une appli web la différence est très minime).
Voilà, j'ai pas du tout d'avis arrêté sur la question et je suis preneur de toute remarque sur ce point particulier, histoire d'avoir des avis frais sur la question
Merci d'avoir réagi