- Une notification de l’interface web d’Outlook 365 indique qu’un message qui n’existe plus ne peut pas être enregistré, mais peut être supprimé, ce qui crée une situation apparemment contradictoire
- En désignant son objet par « this message » tout en affirmant simultanément qu’il n’existe pas, la notification met en évidence le problème de la référence à un objet inexistant
- L’enregistrement est traité comme une action qui exige l’existence du message, alors que la suppression est présentée comme une action applicable même à un message déjà inexistant
- La phrase « assurez-vous de copier le contenu avant de le supprimer » suggère qu’il resterait un contenu copiable même pour un message inexistant
- Même si supprimer pouvait être un no-op sur le message lui-même, cela pourrait tout de même affecter l’existence du contenu ou l’accès à ce contenu
Les consignes contradictoires d’une notification Outlook 365
- L’interface web de Microsoft Outlook 365 affiche la notification suivante
- « This message can't be saved because it no longer exists. »
- « It can only be discarded. »
- « Make sure you copy the contents of the message before you discard if you want to use them later. »
- La notification indique que le message ne peut pas être enregistré parce qu’il n’existe plus, qu’il ne peut qu’être supprimé, et que son contenu doit être copié avant suppression si l’on veut l’utiliser plus tard
La désignation par « ce message » et la non-existence
- « This message can't be saved because it no longer exists » peut se comprendre comme l’idée qu’on ne peut enregistrer qu’un message existant, et qu’un message inexistant ne peut donc pas être enregistré
- Le problème vient du démonstratif « this »
- La notification désigne ce message tout en affirmant en même temps que ce message n’existe pas
- Cela soulève la question de savoir si l’on peut référer à un objet inexistant
Un objet qu’on ne peut pas enregistrer mais qu’on peut supprimer
- « It can only be discarded » ne se contente pas de mentionner un message inexistant, mais le traite comme un objet susceptible d’être supprimé
- Enregistrer semble exiger l’existence du message, alors que supprimer paraît possible sans cette contrainte
- Si l’on considère la suppression comme « l’action qui fait qu’un objet cesse d’exister », l’appliquer à un objet déjà inexistant peut s’interpréter comme un no-op
- Dans cette interprétation, d’autres actions comme l’enregistrement exigent que l’objet existe, alors que la suppression pourrait s’appliquer même à un objet déjà inexistant
Le contenu d’un message inexistant
- La phrase « copiez le contenu du message avant de le supprimer » complique davantage cette interprétation
- Elle laisse entendre qu’un message inexistant possède tout de même un contenu, et que ce contenu peut être copié tant que le message n’a pas encore été supprimé
- On peut donc distinguer un message inexistant mais pas encore supprimé, et un message inexistant déjà supprimé, selon que l’accès à son contenu reste possible ou non
- Ainsi, même si supprimer pouvait être un no-op quant à l’existence du message, ce ne serait peut-être pas un no-op du point de vue du contenu
Deux interprétations possibles
- L’action de supprimer un message inexistant peut être interprétée de deux façons
- Faire en sorte que le contenu lui aussi cesse d’exister
- Maintenir l’existence du contenu, mais rendre impossible l’appel d’une opération de copie sur ce contenu
- Dans le second cas, le message n’existait déjà plus et le contenu continue d’exister, mais une fois supprimé il n’est plus possible d’y accéder ni de le copier
- Cette notification montre une situation dans laquelle les conditions d’existence entre le message, le contenu, l’enregistrement, la suppression et la possibilité de copie paraissent incohérentes
1 commentaires
Avis sur Hacker News
Cela ressemble à un exemple du paradoxe du répondeur automatique, que les philosophes décrivent depuis les années 1970
https://philpapers.org/rec/SIDTAM
Selon la sémantique intuitive de « je », « ici » et « maintenant », l’énoncé « je ne suis pas ici maintenant » devrait toujours être faux lorsqu’il est prononcé, mais la phrase « je ne suis pas ici maintenant » enregistrée sur un répondeur semble vraie lorsque la personne qui parle n’est pas chez elle
Si le sujet vous intéresse, cherchez “answering machine paradox” pour trouver davantage de discussions
Si l’on voit le langage comme quelque chose de pragmatique, qui oriente l’action, ce que la phrase doit transmettre est clair, donc il n’y a pas de paradoxe. Certains pensent qu’il existe, derrière les mots effectivement prononcés, un sens statique qui entre dans la conscience de l’auditeur ; d’autres estiment que le sens est généré par la personne qui écoute
C’est une question très philosophique, âprement débattue même après Wittgenstein, et même les choses tenues pour acquises dans tous les domaines peuvent faire l’objet d’une réflexion rationnelle. Beaucoup d’ingénieurs semblent oublier, dans une vision du monde trop simpliste, qu’il n’y a rien d’évident ni de savoir absolu
https://en.wikipedia.org/wiki/I%27m_No_Longer_Here
Un ordinateur peut arrêter le temps, puisqu’il n’est pas obligé d’exécuter des instructions. D’une certaine manière, cet exemple le montre
Si l’on imagine un message physique écrit sur une feuille en train de brûler, les lettres peuvent encore être visibles alors qu’il est déjà trop tard pour éteindre le feu
Si vous avez une bonne mémoire, vous pouvez figer ce moment métaphoriquement et mémoriser le contenu du papier. Sur un ordinateur, le message a déjà “brûlé” côté serveur, mais l’instant figé devant vos yeux peut être prolongé indéfiniment
Si l’on peut voir le message sur la feuille qui brûle, il faut considérer que ce message existe encore. C’est comme un message envoyé par signaux de fumée : il ne disparaît pas au moment où il est porté par la fumée
Pour corriger cela, il ne faut pas dire que le message existe ou n’existe pas ; il faut dire qu’il est stocké dans X, ou qu’il a été supprimé de X
Le problème, c’est que le message ne dit pas la vérité. Si vous pouvez lire le message, il doit manifestement exister. On ne peut pas lire un message qui n’existe pas, non ? Qui pourrait faire ça ? Est-ce que quelqu’un ici peut lire un message inexistant ?
Le message aurait dû dire : « Ce message n’est pas stocké sur le serveur. Si vous ne copiez pas le texte pour le sauvegarder avant de fermer cette fenêtre, vous ne pourrez pas le récupérer depuis le serveur »
Cela me rappelle une conférence TEDx disant que l’univers, étant tout, n’existe pas. L’idée était que si l’on dressait la liste de toutes choses, cette liste elle-même ne ferait pas partie des éléments de la liste
Ce message veut dire à peu près ceci : « Vous avez ouvert un fichier, mais ce fichier n’existe plus sur le disque, donc je ne peux pas le mettre à jour avec vos modifications. Vous pouvez jeter la copie chargée, mais envisagez d’abord de copier son contenu pour créer un nouveau fichier. Pour des raisons techniques, je ne peux pas le faire moi-même »
L’explication est vraiment excellente
Si l’on devine ce qui s’est passé, cela semble désigner le message original sur le serveur et une copie locale. Les deux sont appelés “message”
Enfin l’occasion d’utiliser mon diplôme de philosophie
L’erreur dit que le “message” n’existe pas, mais un message n’est pas la même chose que du texte. Un message est un objet que l’on peut enregistrer ou jeter, et qui contient du texte
Le texte existe encore et peut être copié, mais le message a disparu et ne peut plus être enregistré
Cela revient à dire : « Un message inexistant possède du contenu que l’on peut copier, mais seulement tant que ce message n’a pas encore été écarté »
Le message a disparu et ne peut plus être enregistré, mais on peut encore l’écarter. Peut-être même qu’on pourrait ne pas l’écarter
Cette distinction peut avoir de la valeur et elle est techniquement vraie. Mais le vrai problème est que “le message n’est pas la même chose que le message”. Si l’on parlait d’un seul message, ce serait devenu un excellent problème philosophique ; en réalité, c’est plutôt un problème plus ennuyeux où, parmi deux messages avec des textes différents, le texte de l’un appelle par hasard l’autre “ceci”
Si un message a cessé d’exister et que personne n’était là, la corbeille a-t-elle fait du bruit ?
Tout le monde ricane en voyant ça et se met à parler philosophie, mais en réalité il y a là, même indirectement, un point valable. Comment expliquer à un utilisateur non technique que les données du message ont été supprimées du serveur, mais qu’il existe encore une copie en cache côté client, qu’on peut donc récupérer d’une manière ou d’une autre ? C’est un problème assez difficile qui mérite qu’on s’y attarde sérieusement.
« Ce message a été supprimé, mais nous en avons encore une copie temporaire. Si vous avez besoin de son contenu, enregistrez-le avant de supprimer la copie temporaire. »
« Désolé, ce message ne peut plus être enregistré. Si vous devez y accéder plus tard, copiez ce message avant de le supprimer. » suffit à peu près.
Il suffit d’ajouter sur le serveur dans la phrase pour corriger le problème
Dire « Ce message n’existe plus sur le serveur et ne peut donc pas être enregistré » règle le problème.
Ce message est la colle qui relie le réel et l’irréel. Il existe, il a existé, il n’a jamais existé, et tout cela est vrai en même temps
C’est le paradoxe de la création et de l’existence, de la dissolution et de la conscience.
C’est le message d’erreur le plus Microsoft que j’aie jamais vu.
Rechercher SharePoint avec
contentclass:STS_SiteJe ne comprends pas comment c’est possible, ni comment des choses comme dans le post original peuvent arriver en production.
J’ai déjà vu, dans Firefox et Safari, des messages Teams indiquant que certaines fonctionnalités n’existent pas et demandant de « télécharger l’app native Teams ».