﻿﻿{"id":2367,"date":"2026-02-23T13:39:58","date_gmt":"2026-02-23T12:39:58","guid":{"rendered":"https:\/\/elearningsamba.com\/index.php\/osxphotos-sauvegardez-automatiquement-votre-phototheque-apple\/"},"modified":"2026-02-23T13:39:58","modified_gmt":"2026-02-23T12:39:58","slug":"osxphotos-sauvegardez-automatiquement-votre-phototheque-apple","status":"publish","type":"page","link":"https:\/\/elearningsamba.com\/index.php\/osxphotos-sauvegardez-automatiquement-votre-phototheque-apple\/","title":{"rendered":"osxphotos &#8211; Sauvegardez automatiquement votre phototh\u00e8que Apple"},"content":{"rendered":"<p>Vos photos dans iCloud, c&#8217;est une synchronisation, et pas un backup et m\u00eame si la nuance est mince, quand on s&#8217;en rend compte, il est souvent trop tard&#8230; C&#8217;est pourquoi m\u00eame si vous avez une confiance aveugle en Apple, si demain votre compte est supprim\u00e9 pour une raison ou une autre, vous perdrez l&#8217;acc\u00e8s \u00e0 vos pr\u00e9cieuses photos. Et \u00e7a, on ne le veut pas ! Alors aujourd&#8217;hui, on va apprendre \u00e0 en faire une sauvegarde.<\/p>\n<p>Pour cela, on va utiliser<br \/>\n<a href=\"https:\/\/github.com\/RhetTbull\/osxphotos\">osxphotos<\/a><br \/>\n, une biblioth\u00e8que Python open source (MIT) qui lit directement la base SQLite de Photos.app pour en exporter tout le contenu. \u00c7a tourne sur macOS de Sierra \u00e0 Sequoia, et m\u00eame sur Linux.<\/p>\n<p>L&#8217;installation :<\/p>\n<div class=\"highlight\">\n<pre class=\"chroma\"><code class=\"language-fallback\" data-lang=\"fallback\"><span class=\"line\"><span class=\"cl\">brew tap RhetTbull\/osxphotos\n<\/span><\/span><span class=\"line\"><span class=\"cl\">brew install osxphotos\n<\/span><\/span><\/code><\/pre>\n<p>Et pour exporter tout votre catalogue de photos vers un disque externe il suffit d&#8217;entrer la commande suivante :<\/p>\n<div class=\"highlight\">\n<pre class=\"chroma\"><code class=\"language-gdscript3\" data-lang=\"gdscript3\"><span class=\"line\"><span class=\"cl\"><span class=\"n\">osxphotos<\/span> <span class=\"k\">export<\/span> <span class=\"o\">\/<\/span><span class=\"n\">Volumes<\/span><span class=\"o\">\/<\/span><span class=\"n\">MonDisque<\/span><span class=\"o\">\/<\/span><span class=\"n\">Photos<\/span> <span class=\"o\">--<\/span><span class=\"n\">download<\/span><span class=\"o\">-<\/span><span class=\"n\">missing<\/span> <span class=\"o\">--<\/span><span class=\"n\">update<\/span>\n<\/span><\/span><\/code><\/pre>\n<p><code>--download-missing<\/code> forcera le t\u00e9l\u00e9chargement depuis iCloud des photos pas encore pr\u00e9sentes en local et <code>--update<\/code> fera le boulot incr\u00e9mental, ne retraitant que les nouvelles photos ou celles modifi\u00e9es depuis le dernier lancement.<\/p>\n<p>Du coup, le premier export peut prendre des heures, et les suivants quelques secondes. L&#8217;outil g\u00e9n\u00e8re d&#8217;ailleurs un <code>.osxphotos_export.db<\/code> dans le dossier de destination pour tracker ce qui a d\u00e9j\u00e0 \u00e9t\u00e9 export\u00e9. Je trouve \u00e7a un peu plus simple que d&#8217;exporter toute la grosse phototh\u00e8que <em>.photoslibrary<\/em> \u00e0 chaque coup.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/korben.info\/cdn-cgi\/image\/width=1200,fit=scale-down,quality=90,f=avif\/osxphotos-backup-photos-apple-automatique\/osxphotos-backup-photos-apple-automatique-2.png\" alt=\"\" loading=\"lazy\"><\/p>\n<p>Ensuite, pour automatiser, un cron suffit (v\u00e9rifiez votre chemin avec <code>which osxphotos<\/code> &#8211; <code>\/opt\/homebrew\/bin\/<\/code> sur Apple Silicon, <code>\/usr\/local\/bin\/<\/code> sur Intel) :<\/p>\n<div class=\"highlight\">\n<pre class=\"chroma\"><code class=\"language-gdscript3\" data-lang=\"gdscript3\"><span class=\"line\"><span class=\"cl\"><span class=\"mi\">0<\/span> <span class=\"mi\">3<\/span> <span class=\"o\">*<\/span> <span class=\"o\">*<\/span> <span class=\"o\">*<\/span> <span class=\"o\">\/<\/span><span class=\"n\">opt<\/span><span class=\"o\">\/<\/span><span class=\"n\">homebrew<\/span><span class=\"o\">\/<\/span><span class=\"n\">bin<\/span><span class=\"o\">\/<\/span><span class=\"n\">osxphotos<\/span> <span class=\"k\">export<\/span> <span class=\"o\">\/<\/span><span class=\"n\">Volumes<\/span><span class=\"o\">\/<\/span><span class=\"n\">MonDisque<\/span><span class=\"o\">\/<\/span><span class=\"n\">Photos<\/span> <span class=\"o\">--<\/span><span class=\"n\">download<\/span><span class=\"o\">-<\/span><span class=\"n\">missing<\/span> <span class=\"o\">--<\/span><span class=\"n\">update<\/span>\n<\/span><\/span><\/code><\/pre>\n<p>Moi je l&#8217;ai mis tous les jours \u00e0 3h du mat ! Mais attention, disque non mont\u00e9 = 0 export, 0 erreur visible. Donc \u00e0 moins que vous ayez un script de v\u00e9rification du montage, v\u00e9rifiez les logs de temps en temps. Pour une gestion plus propre des conditions de montage, <code>launchd<\/code> est quand m\u00eame pr\u00e9f\u00e9rable, mais pour commencer, le cron fera tr\u00e8s bien l&#8217;affaire.<\/p>\n<p>Apr\u00e8s si vous n&#8217;utilisez pas Photos.app mais juste iCloud depuis votre iPhone, regardez plut\u00f4t du c\u00f4t\u00e9 de<br \/>\n<a href=\"https:\/\/korben.info\/sauvegarde-iphone-disque-externe.html\">la sauvegarde iPhone sur disque externe<\/a><br \/>\n. Et si vous voulez aussi mettre en s\u00e9curit\u00e9 vos<br \/>\n<a href=\"https:\/\/korben.info\/backup-sauvegarde-apple-notes.html\">donn\u00e9es Apple Notes<\/a><br \/>\n, ou les migrer sur Obsidian, c&#8217;est possible aussi.<\/p>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Vos photos dans iCloud, c&#8217;est une synchronisation, et pas un backup et m\u00eame si la nuance est mince, quand on s&#8217;en rend compte, il est souvent trop tard&#8230; C&#8217;est pourquoi m\u00eame si vous avez une confiance aveugle en Apple, si demain votre compte est supprim\u00e9 pour une raison ou une autre, vous perdrez l&#8217;acc\u00e8s \u00e0 vos pr\u00e9cieuses photos. Et \u00e7a, on ne le veut pas ! Alors aujourd&#8217;hui, on va apprendre \u00e0 en faire une sauvegarde. Pour cela, on va utiliser osxphotos , une biblioth\u00e8que Python open source (MIT) qui lit directement la base SQLite de Photos.app pour en exporter tout le contenu. \u00c7a tourne sur macOS de Sierra \u00e0 Sequoia, et m\u00eame sur Linux. L&#8217;installation : brew tap RhetTbull\/osxphotos brew install osxphotos Et pour exporter tout votre catalogue de photos vers un disque externe il suffit d&#8217;entrer la commande suivante : osxphotos export \/Volumes\/MonDisque\/Photos &#8211;download-missing &#8211;update &#8211;download-missing forcera le t\u00e9l\u00e9chargement depuis iCloud des photos pas encore pr\u00e9sentes en local et &#8211;update fera le boulot incr\u00e9mental, ne retraitant que les nouvelles photos ou celles modifi\u00e9es depuis le dernier lancement. Du coup, le premier export peut prendre des heures, et les suivants quelques secondes. L&#8217;outil g\u00e9n\u00e8re d&#8217;ailleurs un .osxphotos_export.db dans le dossier de destination pour tracker ce qui a d\u00e9j\u00e0 \u00e9t\u00e9 export\u00e9. Je trouve \u00e7a un peu plus simple que d&#8217;exporter toute la grosse phototh\u00e8que .photoslibrary \u00e0 chaque coup. Ensuite, pour automatiser, un cron suffit (v\u00e9rifiez votre chemin avec which osxphotos &#8211; \/opt\/homebrew\/bin\/ sur Apple Silicon, \/usr\/local\/bin\/ sur Intel) : 0 3 * * * \/opt\/homebrew\/bin\/osxphotos export \/Volumes\/MonDisque\/Photos &#8211;download-missing &#8211;update Moi je l&#8217;ai mis tous les jours \u00e0 3h du mat ! Mais attention, disque non mont\u00e9 = 0 export, 0 erreur visible. Donc \u00e0 moins que vous ayez un script de v\u00e9rification du montage, v\u00e9rifiez les logs de temps en temps. Pour une gestion plus propre des conditions de montage, launchd est quand m\u00eame pr\u00e9f\u00e9rable, mais pour commencer, le cron fera tr\u00e8s bien l&#8217;affaire. Apr\u00e8s si vous n&#8217;utilisez pas Photos.app mais juste iCloud depuis votre iPhone, regardez plut\u00f4t du c\u00f4t\u00e9 de la sauvegarde iPhone sur disque externe . Et si vous voulez aussi mettre en s\u00e9curit\u00e9 vos donn\u00e9es Apple Notes , ou les migrer sur Obsidian, c&#8217;est possible aussi.<\/p>\n","protected":false},"author":1,"featured_media":2368,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"give_campaign_id":0,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_kadence_starter_templates_imported_post":false,"footnotes":""},"class_list":["post-2367","page","type-page","status-publish","has-post-thumbnail","hentry"],"campaignId":"","_links":{"self":[{"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/pages\/2367","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/comments?post=2367"}],"version-history":[{"count":0,"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/pages\/2367\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/media\/2368"}],"wp:attachment":[{"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/media?parent=2367"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}