Headless signifie que l'application s'exécute 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. Voici quelques exemples.
Sans tête / fantôme / fantôme
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 via une invite.
Eclipse par exemple peut être exécuté en mode sans tête. Ce mode est pratique pour exécuter des tâches en arrière-plan ou dans une fabrique de construction.
Par exemple, vous pouvez exécuter Eclipse en mode graphique pour installer des plugins. Ce n'est pas grave si vous le faites pour vous-même. Cependant, si vous empaquetez Eclipse pour être utilisé par les développeurs d'une grande entreprise et que vous souhaitez suivre toutes les mises à jour, vous voudrez probablement trouver un moyen plus reproductible et automatique plus facile.
C'est à ce moment que le mode headless 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 une application à plus grande échelle. Il a été inventé par des designers UX. Une application sans visage interagit avec les utilisateurs d'une manière 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 le SMS comme point d'entrée pour dialoguer avec les utilisateurs: l'utilisateur envoie un SMS contenant une demande à un certain nombre. Cela déclenche l'exécution des services automatisés et la réponse à l'utilisateur.
C'est une belle expérience utilisateur, car on peut faire des courses depuis son téléphone. Vous n'avez pas nécessairement besoin d'une connexion Internet et l'interaction avec l'application est assynchrone.
Côté back-end, le service peut décider qu'il ne comprend pas la demande de l'utilisateur et sortir du mode automatisé. L'utilisateur entre alors en mode interactif avec un opérateur humain sans changer d'outil de communication.