Une approche pragmatique de l'explication
Repost de mon article, qui a été publié pour la première fois sur ITK SECURIT
Letzte Aktualisierung vor 1 an durch Patrick Ruppelt
Durée de lecture : 12 Minutes
Bienvenue dans cette vidéo dans laquelle je tente d'expliquer pourquoi la recherche dans Outlook ne peut jamais fonctionner comme les utilisateurs l'attendent.Je m'appelle Patrick Ruppelt, je m'occupe de systèmes informatiques depuis plus de 25 ans et je peux te dire que les plaintes concernant les recherches Outlook qui ne fonctionnent pas ne cessent pas. Pour chaque nouveau client que nous gagnons, on nous dit que la recherche Outlook qui ne fonctionne pas correctement est un problème de l'ancien responsable informatique. Et pourtant, il n'y est pour rien. La recherche Outlook a un problème conceptuel.dans cette vidéo, j'ose une approche explicative qui est surtout destinée aux non-techniciens. Il ne résoudra pas tes problèmes avec la recherche Outlook, mais il pourra peut-être t'aider à comprendre pourquoi tout est comme ça et, bien sûr, je te montrerai aussi une façon de rechercher dans Outlook de manière vraiment fiable et rapide dans tous les messages.Comme d'habitude, tu trouveras ci-dessous une transcription de cette vidéo, afin de pouvoir lire les détails individuels si tu es intéressé.
Commençons par un exemple. Pour commencer, je lance Outlook et je cherche un texte de recherche dans un message actuel. Prenons le terme de recherche "pomme" et affinons le tout en ne recherchant que les messages de "Gymondo" qui contiennent le terme de recherche.
La recherche Outlook donne des résultats incomplets
Si nous utilisons la recherche Outlook, nous trouvons effectivement le message recherché. Mais seulement ce message et un message nous disant de cliquer à nouveau sur "Continuer" pour une recherche complète.
Aussitôt dit, aussitôt fait, rien ne change. Juste l'indication que la recherche est maintenant terminée et que s'il manque quelque chose, nous devons alors affiner notre recherche. Selon la logique de Microsoft, c'est donc l'utilisateur qui est à blâmer s'il ne trouve rien.
Aussitôt dit, aussitôt fait, rien ne change. Juste l'indication que la recherche est maintenant terminée et que s'il manque quelque chose, nous devons alors affiner notre recherche. Selon la logique de Microsoft, c'est donc l'utilisateur qui est à blâmer s'il ne trouve rien.
La recherche MailStore dans les archives d'e-mails est complète
Mais j'ose dire que ça ne peut pas être le seul message de "Gymnodo" dans ma boîte aux lettres qui contient le mot "pomme" et je ne pense pas non plus que ce soit à cause de mes termes de recherche.
Essayons donc une deuxième méthode. La recherche via notre archive d'e-mails. Et voilà, notre recherche MailStore donne des résultats très différents. Même ce message vieux de trois ans ici, qu'Outlook a apparemment oublié depuis longtemps.
Nous voyons donc que la liste des résultats de recherche Outlook est plus qu'incomplète.
Mais pourquoi est-ce ainsi ?
Comment fonctionne la recherche dans les bases de données
Pour comprendre cela, plongeons brièvement dans le thème des bases de données.
Que les développeurs de bases de données me pardonnent si j'explique cela de manière très simplifiée. Je ne forme pas les développeurs ici, mais je veux illustrer pour le profane la différence fondamentale entre une base de données proprement programmée et la manière confuse dont Outlook stocke ses données.
Pour cela, je me connecte directement à l'un de nos serveurs de base de données. Ici, j'ouvre une base de données de facturation et je regarde quels comptes comptables sont inscrits dans le tableau "accounts".
Sans savoir exactement ce que tout cela signifie, nous reconnaissons une structure claire des données.
Dans l'enregistrement du compte comptable "Littérature spécialisée" avec le numéro de compte 4941, nous voyons, en plus d'autres détails sur cette entrée, ce que l'on appelle une clé privée. Dans l'exemple, il s'agit de pk_index avec le numéro d'ordre 27.
Pour effectuer une recherche ciblée dans la base de données sur toutes les écritures du compte "Littérature spécialisée", il n'est donc plus nécessaire de parcourir le contenu de tous les éléments. Au contraire, je peux restreindre de manière ciblée que je ne veux chercher que dans les réservations en cours. Cela se fait ici en indiquant exactement où je veux chercher.
Je n'ai pas non plus besoin de chercher dans toutes les entrées le terme de texte "littérature spécialisée". Cela prend beaucoup de temps et peut prendre quelques secondes, voire quelques minutes. Au lieu de cela, je filtre simplement dans la base de données en fonction de la clé privée que j'ai trouvée ci-dessus, ou parce que je cherche dans une table étrangère, elle est alors appelée clé étrangère.
En langage SQL, cela ressemble à peu près à ça :
SELECT * FROM rzacct.bookings WHERE fk_account LIKE 27 ;
Dans les statistiques, nous voyons que cette recherche sur le serveur a duré à peine 0,17 millisecondes et a fourni une liste de résultats complète sur exactement ce que tu cherchais.
Et c'est là que nous comparons cela avec le fonctionnement de la façon dont Outlook chercherait dans ses fichiers.
La structure des fichiers Outlook
Pour comprendre la recherche Outlook, nous devons d'abord savoir comment le contenu des e-mails est stocké dans Outlook : Dans un ou plusieurs fichiers sur le disque dur. Mais pas dans une véritable base de données, mais sous la forme de différents formats que seul Microsoft utilise.
Même la manière dont la recherche est mise en œuvre techniquement dépend d'une multitude de facteurs.1).
Nous avons d'une part la distinction entre la recherche locale et la recherche sur le serveur. Dans le cas d'une recherche locale, nous parlons de "WDS", ce qui signifie "Windows Desktop Search". Dans l'autre cas, les spécialistes parlent de "Exchange Search".
Comme tout cela n'est pas encore assez compliqué, les procédures de recherche diffèrent selon la version d'Outlook que j'utilise. L'article de Microsoft ne mentionne que les différences entre Outlook 2010 et Outlook 2013. Je n'en ai pas trouvé de plus récente.
Si tu penses que les procédures de recherche WDS sont au moins uniformisées sur tous les ordinateurs, tu es malheureusement loin du compte. En effet, la recherche Windows diffère également en fonction de la version du système de base Windows que tu utilises.
Si le WDS n'est pas uniforme, peut-être que la variante "Exchange Search" est meilleure ? Eh bien, ici, l'administrateur a au moins quelques possibilités supplémentaires d'influencer la situation.2). A condition que tu aies ton propre serveur Exchange.
Mais revenons à Outlook. Outre la fonction de recherche en tant que telle, la deuxième question essentielle est de savoir comment les données sont organisées. Tu te doutes bien que cela aussi n'est pas uniforme chez Microsoft.
Il y a les "fichiers PST", les "fichiers OST" pour les nouvelles versions d'Outlook, et si un serveur Exchange est impliqué, il y a aussi les "fichiers EDB" et bien d'autres choses encore.3).
Si nous nous penchons un peu plus sur le sujet, nous constatons que le format de ces types de fichiers n'est pas resté le même ces dernières années, mais qu'il évolue. La question est de savoir s'il y a beaucoup de "bonnes choses" qui se passent.4).
Jetons un coup d'œil à la spécification de la structure d'un "fichier PST". Dans la spécification de 192 pages, nous trouvons la structure physique. Cela montre schématiquement la structure d'un "fichier PST" dans lequel Outlook stocke les messages. Ça a l'air compliqué ? Oui, ça l'est probablement. Il y a déjà une structure, ce n'est pas comme ça, mais en fait, chaque e-mail supplémentaire est simplement écrit dans ce "fichier PST", le suivant aussi, et le suivant est encore ajouté à la fin.5).
Ce n'est pas tout à fait techniquement correct, mais en simplifiant à l'extrême, on peut dire que dans le pire des cas, Outlook lit ce "fichier PST" du début à la fin, en espérant trouver le terme de recherche quelque part dans le fichier et, une fois qu'il l'a trouvé, il peut aussi lire dans ce charabia dans quel message le contenu a été trouvé.
Ajoute une couche supplémentaire. L'e-mail de notre exemple initial n'a pas de pièces jointes et son contenu n'est pas particulièrement grand. Sa taille est de 161 kilo-octets (Ko).
Si nous extrayons techniquement le contenu de l'e-mail et que nous mettons cela dans un fichier Word, nous voyons combien d'informations cryptiques Outlook doit parcourir pour ce seul message. 323 pages A4 pour un seul message.
Pour une boîte aux lettres typique de 10 Go, cela représenterait bien plus de 20 millions de pages A4 à rechercher chaque fois qu'une recherche est lancée dans Outlook, et tout cela devrait fonctionner en une fraction de seconde. Je n'ai rien contre Microsoft, mais ce bébé est tombé dans le puits depuis longtemps.
Résumé
Si une véritable recherche dans la base de données, comme c'est le cas dans notre archivage d'e-mails MailStore, présente déjà des avantages indéniables par rapport à la recherche traditionnelle dans Outlook, les fabricants comme MailStore affinent encore plus le tout au niveau de l'utilisateur. Comme nous pouvons le voir dans la description de la technologie de stockage fournie par MailStore, des index de texte complet supplémentaires sont créés par utilisateur. Les pièces jointes y sont par exemple indexées, de sorte que la recherche MailStore trouve rapidement et de manière fiable le texte des fichiers PDF joints, par exemple.7
Nous avons donc des différences essentielles non seulement dans la forme de la mise en œuvre technique de la fonction de recherche, mais aussi et surtout dans la manière dont fonctionne la gestion de la mémoire.
Nos archives de courrier électronique disposent d'une véritable base de données avec des index et des mots-clés en texte intégral. On peut y faire des recherches correctes. Outlook, en revanche, utilise un charabia chaotique où même les développeurs de Microsoft ne savent probablement pas encore exactement ce qui est stocké et lu, quand, où et comment. Une recherche ciblée est difficile et on ne peut pas s'attendre à des listes de résultats claires et complètes.
Notre conseil : si tu veux une recherche Outlook fiable, utilise simplement la recherche dans les archives de messagerie. En effet, contrairement à la recherche normale d'Outlook, la recherche MailStore fait exactement ce que tu attends.