Archives par mot-clé : Astuces

Comment bloquer l’installation de macOS Big Sur

Ça y est, macOS Big Sur est enfin disponible depuis jeudi 12 novembre ! Et du coup, en tant qu’administrateur système, vous êtes extrêmement pressé de voir tout votre parc adopter la nouvelle version…

Attendez, non, c’est pas ça ! Vous n’avez plutôt pas trop envie que vos utilisateurs basculent sur cette nouvelle version de macOS, parce que ça risque de vouloir dire incompatibilités en tout genre.

Faire le point sur les incompatibilités

Il faut d’abord regarder où se trouvent les éventuelles incompatibilités logicielles. En particulier :

  • Les applications encore 32-bit. Tout comme pour Catalina, celles-ci ne feront pas le saut vers macOS Big Sur.
  • Les applications reposant sur des extensions de noyau (les fameux kext). Même si macOS Big Sur ne les abat pas encore totalement (pour certaines, un redémarrage peut suffire), ces dernières n’ont pas vocation à rester et peuvent poser problème. Il faut pour certaines extensions de noyau déployer un profil pour les valider, et il faut redémarrer le poste… Pas idéal. Si l’éditeur d’un logiciel utilisant des extensions de noyau vous annonce qu’il n’est pas encore compatible pour macOS Big Sur, et qu’il ne sait pas quand ça arrivera… Il est peut-être temps de changer de crémerie.
  • Vérifiez aussi la compatibilité de vos matériels avec macOS Big Sur, en particulier vos imprimantes, traceurs… Si certains constructeurs assurent un bon suivi dans le temps, ce n’est pas toujours le cas. Donc, méfiance.
  • Certaines apps web, si vous utilisez Safari. Même si ça semble peu probable, mais si cela vous arrive, il faudra peut-être changer de navigateur.
  • Historiquement, on sait que les versions point zéro de macOS peuvent contenir des bugs parfois réhdibitoires voire critiques. Du coup, attendre la version 11.0.2 est sûrement un choix raisonnable. Et j’ai bien écrit 11.0.2 et non pas 11.0.1 puisque la version finale de macOS cette année est la 11.0.1, et non pas la 11.0 comme la tradition le veut. Bref, attendre quelques semaines n’est pas totalement déconnant.

Je ne veux pas que mes utilisateurs passent sur Big Sur, je fais quoi ?

À une époque où le modern management des ordinateurs devient une idée de plus en plus courante (accès administrateur autorisé à l’utilisateur, sous supervision du système informatique) , il est important de communiquer sur les raisons du blocage. Certains utilisateurs souhaiteront avoir accès dès que possible au dernier macOS, d’autres n’y verront aucun intérêt, mais c’est l’administrateur du parc qui doit assurer la continuité de service. Donc, si vous pouvez bloquer… bloquez.

Pour cela, il existe différentes méthodes.

Déployer un profil de configuration pour retarder les mises à jour via MDM

Si vos Mac sont intégrés dans un MDM (si ce n’est pas le cas aujourd’hui, c’est mal) ou un outil de déploiement de profil comme Munki, vous pouvez déployer un profil masquant les mises à jour pour une certaine durée. Pour cela, utilisez la clé enforcedSoftwareUpdate du payload Restrictions.

Vous pouvez créer ce profil à la main, avec un outil comme ProfileCreator ou configurer directement le réglage dans votre MDM s’il supporte ce payload, par exemple ici dans Jamf Pro :

Attention à bien choisir de retarder les mises à jour de logiciels. Il faudra macOS 10.13.4 minimum pour déployer ce profil.

Le défaut de cette méthode est qu’elle masque toutes les mises à jour, y compris d’éventuelles nouvelles mises à jour de sécurité pour l’OS actuel.

Utiliser une règle de restriction pour empêcher le lancement de l’app d’installation de macOS Big Sur

Quid des utilisateurs qui copient le logiciel d’installation de macOS Big Sur depuis un autre poste pour le lancer ? Dans ce cas, il peut être intéressant de bloquer complètement l’app d’installation de macOS Big Sur pour empêcher toute installation. Sur Jamf Pro, il suffit de bloquer le processus Install macOS Big Sur pour empêcher son lancement.

Déployer un package pour bloquer complètement macOS Big Sur

Une autre solution consiste à installer un package qui bloquera l’installation de macOS Big Sur : BigSurBlocker. Installez le package via votre outil de gestion habituel, et hop, l’utilisateur aura le droit à un petit message pour lui dire que non, nope, c’est pas pour tout de suite. La page liste également une méthode pour désinstaller BigSurBlocker proprement via un script.

Bloquer l’affichage de la mise à jour

Un point agaçant : quelque soit la solution utilisée, la mise à jour macOS Big Sur continuera d’apparaître dans la préférence Système Mise à jour de logiciels. Pour la masquer définitivement, utilisez la commande suivante (en root) :

softwareupdate --ignore "macOS Big Sur"

Cependant, cette commande ne sera efficace que si votre Mac est intégré dans un MDM. Si ce n’est pas le cas, elle ne fera absolument rien. Si votre Mac fonctionne sous mac OS Catalina, elle ne devrait être fonctionnelle que pour macOS 10.15.6 avec les dernières mises à jour de sécurité (Apple ayant apporté quelques changements pénibles sur les versions précédentes de la commande softwareupdate).

Si vous souhaitez à nouveau faire apparaître la mise à jour, envoyez la commande :

softwareupdate --reset-ignored

Office Reset : l’outil indispensable quand Office vous fait des misères

Il y a quelques jours, un nouveau site a été annoncée par l’équipe de développeurs de Microsoft Office pour macOS : https://www.office-reset.com. Ce site propose différents outils pour remettre d’aplomb une installation d’Office défaillante.

Le principal outil s’appelle donc Office-Reset. L’approche est assez simple : il s’agit d’un paquet d’installation à télécharger et à lancer sur le Mac. Une fois lancé, l’app propose différentes options à cocher pour réinitialiser les apps de façon individuelle, ou de façon plus globale. Vous pouvez aussi en profiter pour supprimer Skype for Business (obsolète, il faut passer sur MS Teams maintenant enfin !), réinitialiser la licence (utile par exemple si vous décidez de basculer vers une licence Office 365 alors que vous utilisiez une licence Office à l’achat)…

Cochez les bonnes cases pour faire un nettoyage de Microsoft Office… plus ou moins en profondeur.

ATTENTION CEPENDANT : l’option Supprimer les données Outlook fait ce qu’elle indique, à savoir supprimer toutes les données d’Outlook en local. Du coup, si vous gardiez des messages d’une boite relevée en POP ou si vous stockiez des messages hors ligne (visible dans Outlook dans le dossier « Sur mon ordinateur »), ces messages seront intégralement perdus. À n’utiliser qu’en dernier recours, donc.

Quand est-ce que je dois utiliser ce paquet ?

Quand vous rencontrez un problème avec une app de la suite Office. Sinon, pas la peine. Vous trouverez sur cette page quelques-uns des dialogues ou messages d’erreurs qui pourraient vous inciter à utiliser une des options de ce paquet.

Et si on est un administrateur Mac, est-ce que c’est intéressant ?

Je veux, mon neveu ! Vous pouvez utiliser évidemment ce paquet à la demande poste par poste, mais les développeurs de Microsoft ont eu aussi l’ingénieuse idée de proposer plusieurs paquets différents, chacun correspondant à une des options pré-citées. Du coup, cela vous permet de créer différentes options de nettoyage à la demande, que vous pouvez laisser à à la disposition de vos utilisateurs dans un outil comme le Self Service de Jamf, le kiosque de FileWave ou le centre de gestion des logiciels de Munki. Vous pouvez même récupérer sur cette page des p’tites icônes trop meugnonnes pour customiser votre store d’entreprise (en haut à droite, cliquez sur chaque petite icône, elles sont en fait en 512×512 pixels).

Le kiosque FileWave, tel que proposé chez mes clients, avec tous les outils de désinstallation d’Office Reset. À utiliser avec précaution, quand même.

Si on regarde derrière le capot, les paquets contiennent en fait juste des scripts de post-installation, et sont signés et notariés. Rappelons que vous pouvez ensuite télécharger les paquets des apps Microsoft (que ça soit Office complet ou les apps en version individuelle) pour Mac depuis le site https://macadmins.software.

De plus, Microsoft propose deux packages individuels : Factory Reset et Remise en état d’usine. Dans le premier cas, tous les réglages sont supprimés, les licences retirées, etc, mais les fichiers des apps elle-mêmes sont conservés. Dans le deuxième cas, on passe à l’option nuclaire, en dégageant toutes les apps. Là encore, vos données Outlook locales seront supprimées, donc à n’utiliser qu’en cas critique.

C’est donc un ensemble d’outils très pratiques et bien pensés que Microsoft distribue ici, et on les remercie bien bas de nous les proposer de façon si propre (hey, Adobe, si tu pouvais en faire autant, y’a plein de monde qui serait content).

Utiliser les anciennes versions des apps Adobe sur un Mac récent

Souci récemment chez un client : après migration vers macOS 10.14, les apps Adobe de la Creative Suite 3 ou 4 râlent au lancement car il manque un moteur Java (le fameux JRE). Et en installant le vieux JRE Apple, ben ça ne marche pas mieux (et côté sécurité, on repassera). 

AdobeJava

 

Alors je sais : on parle d’apps très vieilles, qui ne passeront de toute façon pas sous macOS 10.15 parce qu’elles sont 32-bit, mais :

  1. On n’a pas tous besoin de la dernière version en date de Photoshop ;
  2. Les abonnements pour faire des retouches super light dans Photoshop, ça picote toujours un peu ;
  3. Oui, y’a Pixelmator ou Affinity Photos qui sont très bien, mais c’est pas la question, merci bien hein (et il faut s’adapter un peu à l’interface, même si elles sont très bien) ;
  4. Et la beauté du sport, bordel ?

Donc solution (trouvée par ici, je ne suis que le messager, et j’ai juste adapté un peu) :

  • Installer une version du JRE compatible. On va éviter les versions Oracle (désormais payantes dans le cadre d’un usage commercial), et on va essayer par exemple, Amazon Java Corretto. Téléchargez et installez la version JDK (elle inclut le JRE).
  • Avez l’éditeur de texte de votre choix, en root, ouvrez le fichier /Library/Java/JavaVirtualMachines/amazon-corretto-8.jdk/Contents/Info.plist
  • Cherchez la chaine de caractères suivants :

    <string>CommandLine</string>

    Et remplacez-la par : 

    <string>JNI</string>
    <string>BundledApp</string>
    <string>CommandLine</string>

    (Et oui, ça revient bien à rajouter deux lignes au dessus de la ligne <string>CommandLine</string>

  • Enregistrez le fichier (rappel : vous devez être admin, donc sudo obligatoire en ligne de commande).
  • Lancez Photoshop.
  • Enjoy.

Attention : vous devrez sûrement refaire la manipulation à chaque mise à jour de votre version de Java ! Est-ce que le jeu en vaut la chandelle, à vous de voir…

Attention à la suppression des données Touch ID sur Mac T2 !

Mise à jour : ajout du résultat des tests avec Mac à coprocesseur T1, et modification du titre sur à ces tests).

Je suis tombé récemment sur un souci intéressant : j’utilise beaucoup ces derniers temps un MacBook Air équipé de Touch ID, que je dois reformater après mes tests. Et j’avais pris l’habitude de le tester en activant TouchID dessus. Sauf qu’à un moment, Touch ID a dit « Niet, je n’enregistre plus tes empreintes : y’en a trop ! ». Non pas que j’ai utilisé mes dix doigts plus mes dix doigts de pied, mais parce que Touch ID dispose pour chaque doigt enregistré d’un emplacement spécifique dans la Secure Enclave. Et ce nombre est limité ! Du coup, si on enregistre trop de doigts… ça coince !

Renommer un doigt avec Touch ID dans la préférence Système Touch ID

Le sachiez-tu ? On peut renommer une empreinte dans la préférence Système Touch ID.

Pas de souci, cherchons donc comment supprimer les empreintes en trop. Ça tombe bien, Pierre Dandumont de l’exceeeeeeellent Journal du lapin a publié un article exactement sur ce sujet. En gros, on redémarre sur la partition Recovery et on tape la commande :

xartutil --erase-all

Ce qui efface immédiatement les empreintes stockées sur le Mac.

SAUF QUE.

Ce qui n’est pas indiqué dans les différents articles donnant cette astuce1, supprimer toutes les empreintes empêche également de déverrouiller la partition FileVault si une empreinte était stockée en relation avec un compte d’utilisateur ! Et il est impossible de réinitialiser le mot de passe du compte en démarrant sur la partition Recovery : c’est une réinstallation obligatoire à la clé ! Notez que ce n’est pas le cas si votre Mac est équipé d’un processeur T1 (Mac équipé de Touch Bar mais sans processeur de chiffrement matériel, donc Macbook Pro modèle fin 2016 ou 2017).

Donc, attention avec cette commande ! Utilisez-la uniquement si vous avez effectivement pour but de revendre un Mac comme conseillé dans l’article de Pierre. Ne l’utilisez pas sur un Mac T2 en production sans disposer d’une sauvegarde, car vous risqueriez de verrouiller définitivement le Mac et d’empêcher l’accès à toutes ses données.

  1. Et à juste titre, comme le souligne Yoann Gini, car ils ont été écrits pour la plupart avant l’arrivée des processeurs T2), c’est que si votre Mac est chiffré et équipé d’un processeur de sécurité T2 [1.À la date de cet article, cela implique les modèles suivants : iMac Pro, Mac mini 2018, MacBook Pro 2018 ou MacBook Air 2018

Comment notarier une application développée en AppleScript ?

C’est une des grosses nouveautés à venir de macOS 10.14.5 : les extensions de noyau devront être notariées pour fonctionner. Le contrôle de la notarisation des apps va d’ailleurs être activée par défaut dans macOS 10.15.

Mais au fait, c’est quoi cette histoire d’applications notariées ?

Et bien, j’ai la flemme de vous expliquer et MacG l’a déjà très bien fait, donc suivez cet hyperlien pour en savoir plus.

Maintenant, comme vous le savez peut-être, j’ai écrit il y a quelques temps déjà DiskMaker X, une application pour créer une clé USB d’installation de macOS. Et cette application est développée en AppleScript, un langage qu’Apple soutient propose encore dans macOS. Et théoriquement, chaque app devant être notariée, ça devrait aussi être le cas de DiskMaker X.

Sauf qu’Apple n’a pas expliqué du tout dans ses documentations comment effectuer cette notarisation pour les apps développées en AppleScript. C’est Alex Narvey qui a donné la solution sur Slack : pour que l’application soit notariée, il ne faut pas la notarier elle-même mais il faut notarier l’image-disque au format DMG qui la contient ! 

Et en pratique, donc, selon le code d’Alex (encore non testé), ça donnerait quelque chose comme ça (en anglais parce que de toute façon, si vous faites de l’AppleScript vous parlez anglais) :

0. Get a one time password for your App from your Develper Apple ID account.
1. Export your Script to an unsigned app in a folder on the Desktop:
/Users/precursor/Desktop/MyAppleScript Folder/MyAppleScript.app
2. Clear any extended attributes:

sudo xattr -rc “/Users/precursor/Desktop/MyAppleScript Folder/MyAppleScript.app”
3. CodeSign the script using the hardening option:

codesign --force --options runtime --deep --sign "Developer ID Application: Precursor.ca, Inc. (SERIAL#)" "/Users/precursor/Desktop/MyAppleScript Folder/MyAppleScript.app"
4. Verify the Signature:

codesign -dv --verbose=4 "/Users/precursor/Desktop/MyAppleScript Folder/MyAppleScript.app"
5. with your onetime signature ready, create a DMG from the app’s enclosing folder.

/usr/bin/hdiutil create -imagekey zlib-level=9 -srcfolder "/Users/precursor/Desktop/MyAppleScript Folder" -fs HFS+ -volname Test /Users/precursor/Desktop/MyAppleScript.dmg

(my enclosing folder also has a ReadMe file in it)
6. Upload the dmg to Apple for notarization with your one-time password:
xcrun altool --notarize-app --primary-bundle-id "com.apple.ScriptEditor.id.MyAppleScript" --username "email_address" --password "one-time-pass-word" --file "/Users/precursor/Desktop/MyAppleScript.dmg"
7. Record successful RequestUUID:

ce0af42942-cfec-5580-ad8f-80625ec2d7
8. Validate the Notarization:

xcrun altool --notarization-info ce0af42942-cfec-5580-ad8f-80625ec2d7 --username "email_address" --password "one-time-pass-word"
9. Staple the notarization to the dmg:

xcrun stapler staple "/Users/precursor/Desktop/MyAppleScript.dmg"

Donc, en résumé :

– On crée un mot de passe à usage unique sur le portail développeur d’Apple ;

– On exporte le script comme script non signé ;

– On supprime ses attributs étendus ;

– On le signe et on vérifie la signature ;

– On crée une image-disque DMG depuis le dossier de l’application ;

– On envoie le DMG chez Apple avec son mot de passe unique ;

– On valide la notarisation ;

– On attache la notarisation au fichier DMG. Et on met ce dernier en téléchargement évidemment.

Et c’est tout (et c’est déjà pas mal). 

 

Vous êtes administrateur Apple, Consultant, revendeur Apple ? Inscrivez-vous à Command-iT, la grande conférence des spécialistes Apple, les 15 et 16 mai au Grand Rex à Paris ! J’y animerai une conférence ainsi qu’un workshop ! Plus d’informations sur https://www.command-it.fr.

Faut-il fuir le DNS de Cloudflare ?

À cette question, la réponse simple semble être : oui.

Mais vous pouvez aussi me poser une autre question, comme :

« Euh, c’est quoi le DNS, et c’est quoi Cloudflare ? »

À cela, je vous ferai remarquer que vous posez deux questions et pas une seule. Mais bon, je suis de bonne humeur, et je répondrai aux deux.

Le DNS, c’est quoi ? 

Le DNS, c’est ça. Et grosso-modo, c’est l’annuaire d’Internet : vous tapez le nom www.apple.com et ça vous fait tomber sur le site web d’Apple, site hébergé sur une ou plusieurs adresses IP.

Comment ça se configure ?

La plupart du temps, vous n’avez pas à le configurer : il est automatiquement renvoyé par votre routeur Internet (votre box Internet, par exemple). Ce sont les entrées qu’on trouve dans la préférence Système Réseau > Avancé > DNS.

Préférence Réseau DNS

Bon alors, c’est quoi ton problème, GG ?

Il y a environ un an (le 1er avril 2018, pour être précis), Cloudflare, une société qui propose un service de cache d’informations sur le web (pour accélérer les accès aux sites) et de sécurisation (pour résister à des attaques type DDOS), a proposé son propre service DNS, utilisant les adresses IP 1.1.1.1 et 1.0.0.1. L’énooooooorme avantage était alors de proposer un service DNS théoriquement très rapide. Notez que Google propose aussi son propre service DNS depuis longtemps aux adresses 8.8.8.8 et 8.8.4.4 (mais perso, moins j’utilise les services de Google, mieux je me porte).

Sauf que.

Depuis quelques temps, je rencontrais énormément de lenteurs lors d’affichages de vidéo sur Twitter avec le client Twitterrific, autant sur Mac que sur iOS, mais uniquement connecté sur mon réseau Wi-Fi. Et forcément, ça m’agaçait un peu. J’ai tilté récemment, et j’ai posé la question sur Twitter. Tout juste après, je me suis rendu compte que vous étiez des milliers à avoir le même souci !

Dozens of us arrested development

J’ai donc remplacé mes DNS par ceux de Verisign (64.6.65.6, 64.6.64.6), et la situation s’est laaaaaargement améliorée. Et à priori, j’ai lu aussi quelques commentaires comme quoi les DNS de Cloudflare pouvaient être plus problématiques. J’ai aussi eu beaucoup de lenteurs lors du téléchargement de jeux sur PS4… Peut-être lié également, puisque ces contenus sont souvent mis en cache sur des CDN (Contents Distribution Networks), comme les serveurs d’Akamai.

Donc, méfiance : si vous utilisez les DNS de Cloudflare, pensez éventuellement à basculer vers d’autres serveurs (ceux de votre FAI, Google, Verisign ou autre) si vous rencontrez des lenteurs inexpliquées. Et n’hésitez pas à commenter sous ce billet si vous avez aussi constaté des soucis similaires.

Vous êtes administrateur Apple, Consultant, revendeur Apple ? Inscrivez-vous à Command-iT, la grande conférence des spécialistes Apple, les 15 et 16 mai au Grand Rex à Paris ! J’y animerai une conférence ainsi qu’un workshop ! Plus d’informations sur https://www.command-it.fr.

Livre bonus : macOS, 70 astuces en stock… Option

NewImage

Il y a quelques années, j’avais publié un petit livre-bonus sur l’utilisation de la touche Option. Bonus, car il était en complément gratuit de mes différents livres sur macOS alors publiés à l’époque chez Eyrolles.

2019, on (Pierre Dandumont du blogdulapin.com pour être précis) me demande sur Twitter si je pensais à mettre à jour ce document un jour.

Et bien, voici « un jour ». Et comme cinquante astuces, c’était petit joueur, j’ai up le game en passant à SOIXANTE-DIX ASTUCES avec la touche Option. Rien que ça. Des vieilles astuces qui ne fonctionnent plus ont été supprimées, mais surtout, beaucoup ont été rajoutées.

Et c’est toujours gratuit.

Et ça se télécharge par là (3,5 Mo).

Bonne lecture !

Faire un snapshot de macOS avant un déploiement

Avec l’arrivée d’APFS, Apple a introduit dans son système de fichiers une fonction très puissante : les snapshots. L’idée est de pouvoir rapidement prendre une sorte de photographie instantanée du disque, et de pouvoir rapidement y retourner en cas de problème. Par exemple : vous installez une mise à jour système, mais la mise à jour échoue : en quelques secondes, vous pouvez utiliser le snapshot fait avant l’installation pour revenir à un état de votre Mac exactement tel qu’il était avant le plantage. Puissant et très pratique !

C’est encore plus pratique pour pouvoir tester par exemple un processus de déploiement de Mac et rapidement revenir à l’état du poste avant le déploiement, en conjonction avec l’astuce précédente qui consistait à appeler le Terminal lors du premier démarrage du Mac. Une fois la fenêtre du Terminal apparue, tapez simplement :

tmutil localsnapshot

Et validez avec Entrée. Un message apparaitra pour confirmer le snapshot avec sa date de création.

Createlocalsnapshot

Si vous souhaitez revenir à l’état du Mac avant le snapshot, démarrez sur la partition Recovery avec Cmd +R puis sélectionnez Restaurer une sauvegarde Time Machine. Sélectionnez alors votre volume APFS, puis la sauvegarde à restaurer. Après quelques secondes, votre Mac redémarre tel qu’il était au moment du snapshot.

Time Machine Restore local snapshot 2

Time Machine Restore local snapshot 1

Attention cependant : les snapshots effectués ainsi expirent au bout de 24 heures. Il faut donc penser à recréer régulièrement un nouveau snapshot pour éviter tout souci !

Réinitialiser la liste des Services de macOS

Une des fonctions les plus sous-utilisées de macOS reste les Services. Accessibles via le menu du nom de l’application en cours (à côté du menu Pomme) > Services, ou via un clic droit > Services, ce menu contextuel permet de lancer différentes actions définies par rapport à la sélection en cours. Par exemple, j’avais créé il y a pas mal de temps un service pour compter les signes de la sélection en cours (script toujours fonctionnel d’ailleurs).

Automator permet depuis quelques versions de macOS de créer ses propres services, comme très bien expliqué par Sylvain Gamel dans son livre Automatisez sous Mac1. Vous trouverez d’ailleurs plein d’exemples de services à créer avec Automator sur son site automatisez.net.

Mais j’étais confronté depuis quelques jours à un petit problème agaçant : les menus étaient toujours dans le désordre, et surtout, après avoir tenté de renommer un service, celui-ci continuait à s’afficher avec son ancien nom. Virer des préférences ou supprimer des caches ne servait à rien, même après reboot.

Un message posté sur Slack m’a donné la piste : lancez le Terminal et tapez :

/System/Library/CoreServices/pbs -update

Le menu des Services devrait être proprement réinitialisé. L’ordre alphabétique sera quand à lui partiellement rétabli, macOS préférant à priori classer les services d’abord par application, puis par ordre alphabétique au sein de ces mêmes applications. Enfin je crois, c’est pas si évident (surtout que l’ordre n’est pas le même que dans le menu de l’application > Services). Mais au moins, les noms sont à nouveau corrects, toujours ça de pris.

 

MacOS Reinitialiser Services

/System/Li



bdfrary/CoreServices/pbs -update

  1. Dont je ne peux que vous recommander la lecture, et surtout la superbe préface.

Apple Mail : quand il est impossible de déplacer un message d’une boite à une autre

Bug curieux chez un client ces derniers jours : suite à un crash ou à une fausse manipulation, plusieurs milliers de messages se sont déplacés dans des dossiers « Mail – éléments récupérés ». Près de 600 dossiers… Mais surtout, un gros souci, car à chaque tentative de déplacer certains messages dans un autre dossier, on tombe sur le message suivant : 

Le message « Blah blah » n’ pas pu être déplacé dans la boite « Truc ». Impossible de charger le corps du message pour LibM {“199990:34323:Wh*:2017-08-29 17:00:01 CET}”}.

Reconstruire la boite ne servait à rien, pas plus que d’exporter le dossier (la boite exportée pesait quelques Ko) ou de supprimer les messages (même erreur). Même chose également en supprimante les fichiers d’index de Mail. Mes quelques recherches sur le sujet n’ont pas donné grand chose, à part ce message d’un utilisateur sur les forums de discussion d’Apple expliquant qu’il est touché par le problème quand il est offline, par exemple dans un avion. Cela dit, c’était un début de piste intéressant. D’autant plus que certains messages se transféraient mais pas d’autres. Pourquoi donc ?

Après avoir regardé un peu dans la hiérarchie de Mail, j’ai trouvé une solution : certains messages qui posaient souci étaient indiqués dans le Finder comme étant de type .partial.emlx, alors que les autres étaient juste des fichiers .emlx. Et effectivement ces derniers se déplaçaient bien, mais pas les autres.

Et donc, en pratique : 

  1. Quittez Mail.
  2. Dans le Finder, ouvrez votre dossier Bibliothèque personnel (cliquez sur le menu Aller tout en enfonçant la touche Option pour afficher le menu Bibliothèque).
  3. Allez dans le dossier Mail/V4 (vous êtes donc dans ~/Library/Mail/V4). 
  4. Cherchez le compte ou se trouvent les messages qui posent problème. Pas forcément évident si vous avez beaucoup de comptes, car ils utilisent un UUID plutôt qu’un nom de compte… Dans ce cas, cherchez un dossier au nom bien particulier qui se trouverait sur ce compte (sinon créez un dossier « GG est le plus grand » et vous le retrouverez facilement, pensez juste à quitter Mail ensuite.
  5. Placez-vous dans le dossier où se trouvent les mails problématiques.
  6. Ouvrez le dossier qui s’y trouve (avec un numéro) puis le dossier Data.
  7. Dans les souss-dossiers qui s’y trouvent, vous découvrirez différents fichiers de mail, dont certains commencent par .partial.emlx : ce sont ces messages qui posent souci. En réalité ils sont bien complets (on peut les consulter sans problème) mais pour une raison inconnue Mail les a considérés comme incomplets.
  8. Supprimez donc « .partial » du nom de chaque message. Si vous disposez de centaines de dossiers, c’est le moment de mettre le nez dans Automator (Sylvain Gamel a écrit d’excellents bouquins sur le sujet ) !
  9. Relancez Mail.
  10. Déplacez vos messages à nouveau comme vous le souhaitez.