CoreAnalytics, pour connaître en détail l’usage de votre Mac

Depuis macOS High Sierra, Apple intègre un processus qui garde des enregistrements de pas mal de choses, dont la façon dont vous utilisez vos programmes. CoreAnalytics enregistre pas mal de choses et il est possible de récupérer les données dans un format plus ou moins lisible.

CoreAnalytics enregistre les données pendant un mois et permet de savoir – par exemple – que j’ai utilisé Word en avant-plan pendant 28 minutes (1 702 secondes) le 23 août, qu’il a été lancé pendant 1 heure et 28 minutes (5 179 secondes) et que j’ai cliqué sur son icône pour le mettre en avant 14 fois. Et il est possible d’obtenir ce type d’informations pour tous les programmes de votre Mac. CoreAnalytics sert à analyser le contenu du Mac, comme sous iOS (les paramètres d’utilisation de vos applications passent par la même méthode) et les fichiers ne sont pas transmis à Apple (sur ce point, on va dire que je crois Apple, sans plus). Dans l’absolu, c’est un peu flippant de voir comment mon usage est enregistré en local et (surtout) de voir qu’il est finalement assez simple de lire le tout. Personnellement, ce n’est pas quelque chose qui m’inquiète réellement, mais le simple fait de voir que l’outil qui permet de lire le fichier se trouve dans une compilation d’outils de forenscics (l’investigation informatique, si vous regardez les Experts, vous connaissez) montre bien le problème. Une personne qui a un accès à votre ordinateur pour une raison ou pour une autre peut déterminer votre usage et donc déduire pas mal de choses pour vous. Ou, plus exactement, une personne qui a accès à vos fichiers de logs, par exemple dans une sauvegarde Time Machine non chiffrée sur un disque dur externe (ou même un NAS).

Lire les données

La lecture ne pose pas réellement de soucis. Il faut télécharger le script à cette adresse (CoreAnalyticsParser.py), installer PYTZ (python pip install pytz) et dateutil (python pip install python-dateutil) et taper la commande suivante.

sudo python CoreAnalyticsParser.py -d

Par défaut, ça sort un fichier .CSV lisible dans un tableur (Numbers, Excel, etc.) et si vous ajoutez un -j, ça sort du JSON. Dans mon cas, le CSV plante au milieu pour un caractère bizarre (aucune idée de la raison) mais j’ai quand même pas mal de données. En gros, pour chaque journée sur environ un mois, j’obtiens la liste des applications avec le nombre de lancements, de mise au premier plan, le nombre de secondes d’utilisation, le nombre de seconde au premier plan, etc. Les champs restent assez explicites si vous parlez un minimum anglais.

Les données en vrac

Je ne suis pas un activiste de la vie privée, et donc le but ici est juste de vous montrer comment lire les fichiers et voir ce qu’il y a dedans. Je n’ai pas de jugement sur la raison d’être des fichiers. Je pars du principe qu’il y a une bonne raison et que globalement, en 2018, Apple semble avoir la volonté de protéger notre vie privée, ou tout du moins de ne pas exploiter les données. C’est peut-être naïf pour vous et je ne doute pas une seconde que ça peut changer, mais c’est mon point de vue actuel.