Skip to content

Published on 05/10/2026

Recherche sémantique sur macOS : indexer chaque photo et frame vidéo par IA

Sur Hacker News, les projets "Show HN" qui capturent l'attention sont souvent ceux qui résolvent un problème universel avec une approche technique élégante. Récemment, un outil macOS a fait sensation : un moteur de recherche capable d'indexer sémantiquement chaque photo et chaque seconde de vidéo stockée sur votre machine, le tout en local.

Qui n'a jamais passé vingt minutes à chercher un extrait vidéo précis de quelques secondes tourné il y a trois ans, ou une photo de tableau blanc dont le nom de fichier est un obscur IMG_4092.HEIC ? Ce projet démontre la puissance actuelle de l'IA embarquée sur le matériel grand public.

La décomposition vidéo sans asphyxier la machine

Indexer du texte est une affaire réglée depuis des décennies. Indexer des téraoctets de vidéos personnelles est un tout autre défi. Une vidéo à 60 images par seconde génère 3 600 images par minute. Les traiter toutes par inférence IA serait un gouffre énergétique et temporel.

Pour contourner ce goulot d'étranglement, l'architecture repose sur un échantillonnage intelligent :

  • Détection de changements de scène : extraction ciblée des keyframes plutôt qu'un découpage bête à intervalle fixe.
  • Décodage matériel via VideoToolbox : utilisation des puces d'accélération dédiées d'Apple pour décompresser les flux H.264 et HEVC à très haute vitesse.
  • Gestion fine des threads en arrière-plan : l'indexation s'exécute avec une priorité basse (QoS) pour ne jamais ralentir les tâches utilisateur.

Du pixel au vecteur : la magie de CLIP et Core ML

Une fois les frames extraites, comment rendre leur contenu interrogeable en langage naturel ? La réponse réside dans les modèles de vision multimodaux, comme CLIP ou SigLIP. Ces modèles projettent images et descriptions textuelles dans un même espace vectoriel partagé.

Optimisé pour Core ML et l'Apple Neural Engine (ANE), le modèle convertit chaque frame en un vecteur d'embedding de quelques centaines de dimensions. Lorsque vous tapez « chien qui saute dans un lac au coucher du soleil », votre requête est vectorisée instantanément. Le système n'a plus qu'à calculer la similarité cosinus entre le texte et les frames pré-calculées.

Le point fort de cette implémentation ? La confidentialité absolue. Aucune donnée ne quitte le Mac. Les vidéos de famille et les documents sensibles restent cantonnés au SSD local.

Stockage vectoriel léger et recherche instantanée

Gérer des millions de vecteurs localement nécessite un moteur d'indexation performant et léger. Plutôt que de déployer une base vectorielle lourde, ces outils se tournent vers des bibliothèques intégrables comme sqlite-vec ou USearch.

Grâce à des structures de données comme le HNSW (Hierarchical Navigable Small World), la recherche parmi des centaines de milliers de vecteurs s'exécute en moins de 20 millisecondes. L'interface affiche alors le timestamp exact où l'action se produit dans la vidéo, transformant un fichier brut en une archive explorable.

Ce que les développeurs full-stack peuvent en tirer

Ce projet illustre une tendance lourde pour notre métier : le déplacement des capacités d'IA du cloud vers l'edge computing. Grâce à la mémoire unifiée et à l'accélération matérielle des puces ARM modernes, les applications desktop retrouvent leurs lettres de noblesse.

Pour un développeur web ou full-stack habitué à déléguer l'IA à des API distantes payantes (OpenAI, Anthropic), concevoir des architectures hybrides tirant parti des capacités locales du client ouvre d'immenses perspectives : coûts d'infrastructure réduits à zéro, absence de latence réseau et respect natif de la vie privée.