---
title: ChronoFrame
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, photos, frame, timeline, kiosk, self-hosted, web]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=Photos, https://github.com/HuchenhaoAaron/ChronoFrame]
---

# 📸 ChronoFrame

> **Cadre photo numérique avec timeline chronologique** : vos photos défilent dans l'ordre temporel, parfait pour revivre un voyage ou une année en images.

## 📋 Informations Générales

| Attribut | Valeur |
|----------|--------|
| **Nom** | ChronoFrame |
| **Slug** | app-chronoframe |
| **Description** | Cadre photo avec frise chronologique |
| **Site officiel** | [github.com/HuchenhaoAaron/ChronoFrame](https://github.com/HuchenhaoAaron/ChronoFrame) |
| **Repository** | [HuchenhaoAaron/ChronoFrame](https://github.com/HuchenhaoAaron/ChronoFrame) |
| **Stars** | 1 831 ⭐ |
| **Licence** | MIT |
| **Langage principal** | TypeScript, Vue |
| **Catégorie** | Photos |
| **Tags** | [catalogue, photos, frame, timeline, kiosk, self-hosted, web] |

## 📝 Description

**ChronoFrame** se distingue des cadres photos numériques classiques par son **affichage en timeline** : au lieu de piocher aléatoirement dans un album, il présente les photos dans l'ordre chronologique, avec une frise de navigation visuelle. Idéal pour raconter une histoire (vacances, année, événement) en images qui s'enchaînent logiquement.

Fonctionnalités : **timeline interactive** (barre de navigation temporelle), **lecture séquentielle** dans l'ordre des dates, **zoom sur période** (par jour/mois/année), **filtres** par dossier ou tag, **intervalle configurable** (1s à 1h), **transitions fluides** (fade, slide), **horloge/calendrier** superposés, **support EXIF** pour la chronologie automatique, **plein écran** natif, **mode présentation** dédié.

Différence avec Immich Frame : ChronoFrame est **autonome** — il lit ses photos depuis un dossier local ou via WebDAV, sans dépendre d'Immich. C'est un cadre "pur", sans backend photoserver à maintenir.

## 🚀 Installation

### Via Docker (recommandé)

```yaml
# docker-compose.yml
services:
  chronoframe:
    image: huchenhao/chronoframe:latest
    container_name: chronoframe
    restart: unless-stopped
    volumes:
      - /mnt/photos:/app/photos:ro
      - chronoframe-config:/app/config
    ports:
      - 8081:8080
```

### Installation manuelle

```bash
git clone https://github.com/HuchenhaoAaron/ChronoFrame.git
cd ChronoFrame
npm install
npm run build
# Servir le dossier dist/ via nginx ou caddy
```

## ⚙️ Configuration

- **Dossier photos** : montage du dossier contenant vos photos triées (lecture seule).
- **Source WebDAV optionnelle** : pour pointer vers Nextcloud/ownCloud au lieu d'un dossier local.
- **Indexation** : scan des EXIF pour construire la timeline (lancement automatique au démarrage).
- **Personnalisation** : thème sombre/clair, couleurs d'accent, durée des transitions.

## 🔗 Alternatives

- **[[app-immich-frame]]** — Si vous utilisez déjà Immich, plus intégré
- **[[app-omoide]]** — Approche japonaise épurée
- **[[app-frames]]** — Projet plus ancien avec approche similaire

## 🔒 Sécurité

- **Lecture seule du dossier photos** : montage `:ro` obligatoire.
- **Pas d'auth par défaut** : activer si exposition non-LAN.
- **HTTPS** : recommandé en reverse proxy.
- **CORS** : à configurer si source WebDAV distante.

## 📚 Ressources

- [Repository GitHub](https://github.com/HuchenhaoAaron/ChronoFrame)
- [Documentation](https://github.com/HuchenhaoAaron/ChronoFrame/blob/main/README.md)
- [Exemples de déploiement](https://github.com/HuchenhaoAaron/ChronoFrame/discussions)

## 🔗 Pages Liées
- [[cat-photos]]
- [[app-immich-frame]]
- [[app-omoide]]
- [[app-traefik]]
- [[recettes-docker-compose]]
- [[securisation-home-lab]]
