Consultez la documentation pour AccountInterface:
Définit un objet qui a un ID utilisateur, des rôles et peut avoir des données de session. L'interface est implémentée à la fois par la session globale et l'entité utilisateur
C'est dans l' Sessionespace de noms pour une raison - il représente quelque chose qui peut avoir des données de session.
Les interfaces ContentEntityInterfaceet EntityChangedInterfaceétendues par UserInterfacevous indiquent qu'il représente un concept différent:
Les entités de contenu utilisent des champs pour toutes leurs propriétés d'entité et sont traduisibles et révisables, tandis que les traductions et les révisions peuvent être activées par type d'entité.
Définit une interface pour le suivi de l'horodatage des modifications d'entité.
Ces données peuvent être utiles pour une invalidation du cache plus précise (en particulier du côté client) et un verrouillage d'édition simultané.
A UserInterfacereprésente un compte utilisateur Drupal complet qui peut avoir des révisions, des champs, des traductions, etc.
Je ne peux pas vous dire ce qui convient le mieux à votre cas d'utilisation, mais je vous encourage à réfléchir à laquelle de ces interfaces est la plus applicable au code que vous écrivez.
Mon instinct me dit que vous utiliseriez AccountInterfacepour quelque chose qui est au moins "connecté" (par exemple utilisateur connecté, une liste d'utilisateurs en ligne, quelqu'un connecté via SSO) et UserInterfacepour autre chose que cela (par exemple, les profils d'utilisateurs, les auteurs associés, les longs -données vécues, la plupart des choses que nous faisons dans Drupal).