Vous êtes freelance. Vous suivez vos jours facturés. Vous envoyez des comptes rendus d'activité à vos clients. Pourquoi vos outils ressemblent-ils à ceux d'une boîte de 500 personnes ?
La plupart des outils de suivi du temps sont conçus pour des équipes, des managers et des workflows d'entreprise. Ils viennent avec une tarification au siège, des tableaux de bord surchargés et des fonctionnalités que vous n'utiliserez jamais. Tout ce dont vous avez besoin, c'est d'un CRA mensuel propre indiquant les jours travaillés — et éventuellement un PDF à joindre à votre facture.
C'est exactement ce que fait Presto. Ni plus, ni moins.
Qu'est-ce que Presto ?
Presto est un générateur de comptes rendus d'activité open-source et auto-hébergé. Il vous permet de :
- Suivre vos jours facturés par client et mission sur un calendrier visuel
- Générer des CRA au format PDF professionnels, prêts à envoyer
- Suivre vos revenus et votre taux d'occupation avec des tableaux de bord intégrés
- Le faire tourner sur votre propre serveur avec une seule commande Docker
Il est sous licence MIT, entièrement autonome, et se déploie en moins de 2 minutes.
Le tableau de bord : votre année en un coup d'œil
À l'ouverture de Presto, vous accédez directement à votre tableau de bord d'activité — une vue en cartes de tous vos CRA de l'année, regroupés par client.
Chaque carte affiche le mois, le nom de la mission, un mini aperçu calendrier (pour visualiser d'un coup d'œil les jours travaillés), le nombre de jours facturés et le montant. Les rapports sont colorés par client et marqués comme Brouillon ou Validé.
Vous pouvez filtrer par société ou par client, naviguer entre les années et créer un nouveau CRA en deux clics.
Pas de surcharge. Pas de diagrammes de Gantt. Juste votre travail, organisé par mois.
L'éditeur de CRA : cliquez, remplissez, c'est fait
Le cœur de Presto, c'est l'éditeur de CRA basé sur un calendrier. Chaque jour du mois est une case cliquable — un clic pour une journée complète, un deuxième pour une demi-journée, un troisième pour effacer. C'est tout.
Le panneau latéral affiche un récapitulatif en temps réel : jours travaillés sur les jours ouvrés disponibles, votre TJM et le montant total. Quand un rapport est finalisé, passez-le en Validé et cliquez sur Exporter en PDF pour générer un document prêt à imprimer.
Des fonctionnalités qui font gagner du temps :
- Remplissage automatique — Un clic remplit tous les jours ouvrés du mois. Les week-ends et jours fériés sont automatiquement exclus.
- Jours fériés par pays — Définissez un pays de jours fériés par client (France, Allemagne, Luxembourg… tous les pays sont supportés). Les jours fériés apparaissent sous forme de points jaunes sur le calendrier.
- Précision à la demi-journée — Parce que parfois, on ne travaille qu'une matinée.
- Notes par jour — Ajoutez du contexte à des jours spécifiques (réunions, livrables, déplacements sur site).
- Workflow Brouillon / Validé — Les rapports validés sont verrouillés. Plus de modifications accidentelles.
Reporting : connaître ses chiffres
La page Reporting vous donne une vue d'ensemble de votre activité freelance sur l'année.
Quatre indicateurs clés en haut de page :
- Jours travaillés — avec comparaison année sur année et courbe de tendance
- Chiffre d'affaires — montant total avec conversion multi-devises automatique
- Clients actifs — combien de clients facturés cette année
- Taux d'occupation — une jauge indiquant le pourcentage de jours ouvrés effectivement facturés
En dessous, des graphiques interactifs détaillent le CA par client (barres empilées), la répartition clients (donut) et les tendances mensuelles en revenus et en jours.
Si vous travaillez avec des clients dans différentes devises (EUR, USD, GBP…), Presto convertit automatiquement tout dans votre devise de référence grâce aux taux de change en temps réel. Un seul chiffre, clair et net.
Export PDF : des CRA professionnels en quelques secondes
Quand un rapport est validé, Presto génère un PDF côté serveur via React PDF. Le document inclut :
- Les coordonnées de votre société et les informations du client
- Une grille calendrier propre avec les jours travaillés en surbrillance
- Les totaux : jours travaillés, TJM, montant total
- Une section notes
- Disponible en 5 langues : français, anglais, allemand, espagnol, portugais
Le nom du fichier est généré automatiquement (ex. Acme_Corp-Projet_API-2025-12.pdf). Téléchargez, joignez à votre email de facturation, terminé.
Multi-clients, multi-devises, multilingue
Presto est conçu pour les freelances qui jonglent entre plusieurs clients à l'international :
- Sociétés — Enregistrez vos propres entités juridiques (utile si vous facturez sous plusieurs raisons sociales)
- Clients — Chaque client a sa propre devise, son pays de jours fériés, sa couleur et ses coordonnées
- Missions — Chaque mission (projet/contrat) a un TJM et est rattachée à un client
- Devises — Toutes les devises ISO 4217 supportées. Les tableaux de bord convertissent automatiquement.
- Langues — Interface complète en français, anglais, allemand, espagnol et portugais
Déploiement en 60 secondes
Presto est distribué sous forme d'une image Docker unique. Pas de microservices, pas de conteneur frontend séparé, pas de Redis, pas de file de messages. Juste l'application et PostgreSQL.
# docker-compose.yml
services:
presto:
image: axforge/presto:latest
ports:
- "8080:8080"
environment:
DATABASE_URL: postgresql://presto:secret@db:5432/presto
JWT_SECRET: votre-cle-secrete-min-32-caracteres
depends_on:
- db
db:
image: postgres:17-alpine
environment:
POSTGRES_USER: presto
POSTGRES_PASSWORD: secret
POSTGRES_DB: presto
volumes:
- pgdata:/var/lib/postgresql/data
volumes:
pgdata:
docker compose up -d
Ouvrez http://localhost:8080, créez un compte et commencez à saisir vos CRA.
Mode mono-utilisateur
Si vous êtes le seul utilisateur, désactivez l'authentification :
environment:
AUTH_DISABLED: "true"
Pas d'écran de connexion. Pas de mot de passe. Ouvrez l'application et c'est parti.
Verrouiller après la mise en place
Votre compte est créé ? Désactivez l'inscription pour que personne d'autre ne puisse s'inscrire :
environment:
REGISTRATION_ENABLED: "false"
La stack technique
Pour les curieux :
- Runtime — Bun
- Frontend — React 19, Vite 6, Tailwind CSS 4, Zustand, TanStack Query
- Backend — Hono, Drizzle ORM
- Base de données — PostgreSQL
- PDF — @react-pdf/renderer (rendu côté serveur)
- Langage — TypeScript 5.7, mode strict
- Tests — 222 tests E2E API
Les migrations s'exécutent automatiquement au démarrage. L'image Docker est un build multi-stage produisant un conteneur léger basé sur Alpine.
À qui s'adresse Presto ?
Presto est fait pour les freelances et consultants indépendants qui :
- Facturent à la journée (ou demi-journée)
- Doivent soumettre des CRA mensuels
- Veulent suivre leur CA sur plusieurs clients et devises
- Préfèrent les outils auto-hébergés aux abonnements SaaS
- Privilégient la simplicité à l'usine à gaz
Si vous utilisez des tableurs, des templates Notion ou des outils de time tracking hors de prix pour faire ce qui est fondamentalement une tâche simple — Presto est votre porte de sortie.
Pour commencer
- GitHub : github.com/tux86/presto
- Docker Hub : hub.docker.com/r/axforge/presto
- Licence : MIT — gratuit pour toujours, sans conditions
Mettez une étoile au repo si vous trouvez ça utile. Les contributions et retours sont les bienvenus.
Presto est open-source et activement maintenu. Conçu par un freelance, pour les freelances.



Top comments (0)