Logiciel de facturation open source, gratuit, respectueux de la vie privee. Concu en France pour les TPE/PME francaises.
| Couche | Technologie |
|---|---|
| Frontend | SvelteKit 2 (Svelte 5 runes) + Tailwind CSS 4 |
| API | Hono 4 sur Cloudflare Workers |
| BDD | Cloudflare D1 (SQLite) via Drizzle ORM |
| Validation | Zod |
| Auth | PBKDF2 (Web Crypto natif) + sessions |
| Hebergement | Cloudflare Pages |
Zero dependance lourde. Pas de WordPress, pas de PHP, pas de Node.js en production.
# Cloner le repo
git clone https://github.com/votre-org/openfacture.git
cd openfacture
# Installer les dependances
pnpm install
# Creer la base D1
npx wrangler d1 create openfacture-db
# Copier le database_id dans infra/workers/wrangler.jsonc
# Appliquer les migrations
cd infra/migrations && npx drizzle-kit generate && cd ../..
npx wrangler d1 execute openfacture-db --local --file=infra/migrations/drizzle/0000_*.sql
# Frontend (port 5173)
pnpm dev
# API (port 8787)
pnpm dev:api
# Les deux en parallele
pnpm dev & pnpm dev:api
# Tous les tests (69 tests : unitaires + integration)
pnpm test
# Verification des types
pnpm typecheck
# Build production
pnpm build
openfacture/
├── apps/web/ # Frontend SvelteKit
│ └── src/
│ ├── lib/
│ │ ├── api/ # Client API
│ │ ├── components/# Composants reutilisables
│ │ ├── stores/ # Stores Svelte 5
│ │ ├── types/ # Types TypeScript
│ │ └── utils/ # Formatage, helpers
│ └── routes/ # Pages SvelteKit
├── infra/
│ ├── workers/ # API Hono (Cloudflare Workers)
│ │ └── src/
│ │ ├── lib/ # Crypto, calculs, numerotation
│ │ ├── middleware/ # Auth middleware
│ │ ├── routes/ # Endpoints API
│ │ └── validators/# Schemas Zod
│ └── migrations/ # Schema Drizzle + migrations SQL
└── package.json # Workspace pnpm
| Donnee | Stockage | Exemple |
|---|---|---|
| Montants | Centimes (integer) | 1599 = 15,99 EUR |
| Quantites | Milliemes (integer) | 2500 = 2,500 |
| TVA | Centiemes de % (integer) | 2000 = 20,00% |
| IDs | UUIDv7 | 0192d4e0-... |
| Dates | ISO 8601 | 2026-04-21 |
# Appliquer les migrations en production
npx wrangler d1 execute openfacture-db --remote --file=infra/migrations/drizzle/0000_*.sql
# Deployer l'API
cd infra/workers && npx wrangler deploy
# Le frontend se deploie automatiquement via Cloudflare Pages (connect au repo Git)
OpenFacture est concu pour etre conforme au RGPD des sa conception (privacy by design) :
Les contributions sont les bienvenues ! Ouvrez une issue pour discuter avant de soumettre une PR.
# Forker le repo, cloner, creer une branche
git checkout -b feature/ma-feature
# Verifier avant de pousser
pnpm typecheck && pnpm test
# Pousser et creer une PR
git push origin feature/ma-feature
AGPL-3.0 — Logiciel libre. Vous pouvez utiliser, modifier et redistribuer OpenFacture. Si vous modifiez le code et proposez le service en ligne, vous devez publier vos modifications.