Headless signifie que l'application fonctionne sans interface utilisateur graphique (GUI) et parfois sans interface utilisateur du tout.
Il existe des termes similaires pour cela, qui sont utilisés dans un contexte et un usage légèrement différents. En voici quelques exemples.
Sans tête / Fantôme / Phantom
Ce terme est plutôt utilisé pour les clients lourds. L'idée est d'exécuter un client dans un mode non graphique, avec une ligne de commande par exemple. Le client s'exécutera ensuite jusqu'à ce que sa tâche soit terminée ou interagira avec l'utilisateur par le biais d'une invite.
Eclipse, par exemple, peut être exécuté en mode sans tête. Ce mode est très pratique lorsqu'il s'agit d'exécuter des tâches en arrière-plan ou dans une usine de construction.
Par exemple, vous pouvez exécuter Eclipse en mode graphique pour installer des plugins. Cela ne pose aucun problème si vous ne le faites que pour vous-même. Cependant, si vous empaquetez Eclipse pour qu'il soit utilisé par les développeurs d'une grande entreprise et que vous voulez suivre toutes les mises à jour, vous voudrez probablement trouver un moyen plus facile, automatique et reproductible.
C'est là que le mode sans tête entre en jeu : vous pouvez exécuter Eclipse en ligne de commande avec des paramètres qui indiquent les plugins à installer.
L'avantage de cette méthode est qu'elle peut être intégrée dans une usine de construction !
Sans visage
Ce terme est plutôt utilisé pour des applications à plus grande échelle. Il a été inventé par les designers UX. Une application sans visage interagit avec les utilisateurs d'une manière qui est traditionnellement dédiée aux utilisateurs humains, comme les mails, les SMS, le téléphone... mais PAS une interface graphique.
Par exemple, certaines entreprises utilisent les SMS comme point d'entrée pour dialoguer avec les utilisateurs : l'utilisateur envoie un SMS contenant une demande à un certain numéro. Cela déclenche l'exécution de services automatisés qui répondent à l'utilisateur.
C'est une expérience agréable pour l'utilisateur, car on peut faire quelques courses à partir de son téléphone. Il n'est pas nécessaire d'avoir une connexion internet et l'interaction avec l'application est asynchrone.
En amont, le service peut décider qu'il ne comprend pas la demande de l'utilisateur et sortir du mode automatisé. L'utilisateur entre alors dans un mode interactif avec un opérateur humain sans changer d'outil de communication.