Files
2026-06-09 18:40:21 +02:00

4.0 KiB

title, created, updated, type, tags, confidence, contested, sources
title created updated type tags confidence contested sources
Perfice 2026-06-07 2026-06-07 app
catalogue
tracking
habitudes
productivity
flutter
dart
sqlite
medium false
https://selfh.st/apps/
https://github.com/saketh-are/perfice

Perfice 🎯

Un habit tracker minimaliste écrit en Dart/Flutter, livré en binaire unique avec SQLite embarqué.

Métadonnée Valeur
Site web https://perfice.sakethare.me/
GitHub https://github.com/saketh-are/perfice
License AGPL-3.0
Langage principal Dart (Flutter)
Étoiles GitHub 25
Dernière MAJ 2026-04-22
Catégorie cat-tracking

Description

Perfice est un suivi d'habitudes qui se veut volontairement épuré : on crée une habitude, on la coche chaque jour, et l'application trace la régularité sur un calendrier. Contrairement à des concurrents plus lourds (Habitica, Loop Habit Tracker côté Android), Perfice mise sur la simplicité radicale — pas de gamification, pas de système de points, juste la métrique pure.

L'application est écrite en Dart/Flutter et le serveur de synchronisation est compilé en binaire unique Go-like (compilé AOT), ce qui la rend très facile à déployer : un seul fichier exécutable, une base SQLite à côté, et c'est tout. L'interface client (web + mobile) communique via une API REST documentée.

Le projet supporte les habitudes mesurables (compteur, durée, valeur numérique) en plus des simples cases à cocher, ce qui permet de suivre aussi bien « boire 2L d'eau » que « méditer 15 minutes » ou « lire 30 pages ». Les données sont chiffrées au repos par défaut.

Installation

Via Docker (recommandé)

services:
  perfice:
    container_name: perfice
    image: ghcr.io/saketh-are/perfice:latest
    restart: unless-stopped
    ports:
      - "8085:8085"
    volumes:
      - perfice-data:/data
    environment:
      - PERFICE_DB_PATH=/data/perfice.db
      - PERFICE_ENCRYPTION_KEY=changez-moi-32-chars-min

volumes:
  perfice-data:

Installation manuelle

  1. Télécharger le binaire depuis la page Releases (perfice-server-linux-x64).
  2. Créer un dossier /opt/perfice et y placer le binaire.
  3. chmod +x perfice-server && ./perfice-server (écoute par défaut sur :8085).
  4. Servir le client web statique (Nginx) pointant vers perfice-client/.

Configuration

  • Générer une clé de chiffrement forte (32 caractères minimum) et l'exporter en variable d'environnement.
  • Créer le premier compte via l'interface web, qui devient administrateur.
  • Configurer la fréquence de rappel (notifications push via Web Push, nécessite VAPID keys).
  • Définir les types d'habitudes globaux : booléen, numérique, durée — chaque utilisateur peut ensuite créer ses propres habitudes basées sur ces types.

Alternatives

Open source

  • app-loops — habit tracker Telegram-first en self-hosted
  • Habitica — gamifié, RPG-like (le plus connu)
  • Loop Habit Tracker — Android uniquement, open source
  • Streaks — fork communautaire de Loop

Propriétaires

  • Streaks (iOS/macOS) — très poli mais fermé et payant
  • Productive — design léché, abonnement obligatoire

Sécurité

  • Chiffrement côté serveur des données utilisateur (AES-256) avec la clé d'environnement.
  • Authentification par email/mot de passe (bcrypt), sessions JWT.
  • Aucune télémétrie par défaut — vérifier la config de l'image Docker.
  • En production, placer derrière un reverse proxy HTTPS (Caddy/Traefik).
  • Sauvegarder régulièrement le fichier SQLite (le chiffrement rend les sauvegardes inopérantes sans la clé — stocker la clé dans un vault).

Ressources

Pages Liées