Tesla a longtemps été le seul constructeur à installer dans ses voitures un immense écran tactile. La concurrence historique a fini petit à petit par le rejoindre et même le dépasser dans quelques cas, à l’image de l’Hyperscreen de Mercedes qui combine trois écrans derrière une immense dalle de verre. S’il reste un point qui distingue toujours l’entreprise américaine toutefois, c’est la connectivité et notamment la communication avec le véhicule.
Pour contrôler le véhicule à distance et pour collecter des données sur la voiture et son utilisation, Tesla utilise une API très complète que les clients peuvent exploiter, même si elle n’est pas prise en charge officiellement. Quand on dit qu’une Tesla est d’abord un ordinateur sur roues, ce n’est pas tellement pour son écran mais bien plus pour cette logique inspirée par le monde de l’informatique.
Comment fonctionne cette API et surtout à quoi peut-elle servir ? Suivez le guide !
Une API officieuse, mais complète et fiable
Pour commencer, qu’est-ce qu’une API (Application Programming Interface en anglais, ce que l’on peut traduire par interface de programmation d’applications) ? Si l’on ouvre la fiche Wikipédia, on trouve cette définition : « un ensemble normalisé de classes, de méthodes, de fonctions et de constantes qui sert de façade par laquelle un logiciel offre des services à d'autres logiciels. » Créer une API est courant en développement quand on veut utiliser des fonctions dans plusieurs contextes. Pour donner un exemple, MacGeneration utilise une API qui sert autant dans nos apps mobiles que sur le site du Club iGen.
Tesla a créé une API pour ses besoins internes, notamment pour son app mobile. Comme je l’avais détaillé dans un article de la série sur la Model 3, cette app offre de nombreuses fonctions pour surveiller et contrôler la voiture à distance. Pour récupérer des informations depuis ses serveurs et pour envoyer des commandes depuis l’app vers la voiture via ces mêmes serveurs, le constructeur a mis au point une API. C’est elle qui est utilisée par ses propres développeurs pour créer les deux apps mobiles (iOS et Android), mais aussi pour d’autres besoins internes, par exemple pour réaliser les diagnostics à distance.
Cette API n’est pas publique, dans le sens où elle est censée ne servir qu’à usage interne. Concrètement, cela veut dire que Tesla ne documente pas le fonctionnement de son API et ne garantit rien : du jour au lendemain, son mode de fonctionnement peut changer du tout au tout et le constructeur ne préviendra personne à l’extérieur de ses murs. C’est pour cela que l’on parle d’API officieuse et non officielle, mais cela ne veut pas dire pour autant qu’elle n’est pas utile pour les développeurs tiers.