Gestion pour indépendants — facturation, devis, compta · 100 % local
Aucun compte · aucun serveur · aucune télémétrie
🌐 Site web · 📥 Télécharger · 📄 Conditions · ✉️ Contact
Ohmnia remplace le classeur Excel + macros VBA d'un indépendant par une vraie application. Factures, devis, suivi du temps, inventaire, journal des recettes et dépenses — le tout dans un fichier SQLite sur ton disque.
Rien ne part sur Internet. Pas de compte à créer, pas de serveur, pas de statistiques d'usage. Le seul accès réseau possible est la vérification de mise à jour, désactivée par défaut.
Le revers est assumé : personne ne peut récupérer tes données à ta place. Fais des copies.
👉 Télécharger la dernière version
Lance Ohmnia Setup X.Y.Z.exe. Windows affichera un avertissement SmartScreen au premier lancement : l'exe n'est pas signé par un certificat commercial. Informations complémentaires → Exécuter quand même.
| Module | Détail |
|---|---|
| Facturation | Devis → facture en un clic, export PDF, duplication, modèles |
| Rappels | Échéances suivies, relances des impayés selon tes délais |
| Suivi du temps | Chrono par client et projet, report direct en ligne de facture |
| Inventaire | Articles, mouvements, alertes de seuil, décrément automatique |
| Journal | Recettes et dépenses, justificatifs photo, graphiques |
| Banque | Import CSV et CAMT.053, rapprochement automatique |
| Sauvegardes | Copies locales horodatées + archives chiffrées AES-256-GCM |
| Multi-pays | CH · FR · BE · LU · DE — taux, formats et mentions légales |
| Audit | Clôture d'exercice, verrou, contrôle de la numérotation |
⚠️ Ohmnia ne te rend pas conforme. Les taux et seuils proposés sont des points de départ, pas une certification. Voir les conditions d'utilisation.
| Quoi | Où |
|---|---|
| Base de données | %APPDATA%\Ohmnia\gestion.sqlite |
| Sauvegardes | %APPDATA%\Ohmnia\Backups\ |
| Justificatifs | %APPDATA%\Ohmnia\Justificatifs\ |
| PDF générés | Documents\Ohmnia\{Factures,Devis,Rappels}\ |
Une sauvegarde est créée au démarrage et avant chaque export PDF. Désinstaller l'application ne supprime jamais ces données.
npm install
npm run dev # lance l'app avec rechargement à chaud
npm run verifier # typecheck + 9 suites de tests — doit passer avant toute publication
npm run package:win # construit l'installeur, sans rien envoyer
npm run publish:win # construit ET publie sur les GitHub ReleasesElectron 43 · React 19 · TypeScript · node:sqlite (module intégré à Node — aucune compilation native, aucun rebuild à chaque montée de version d'Electron).
Sécurité : contextIsolation, sandbox, nodeIntegration: false, CSP stricte, requêtes SQL toujours préparées.
src/
main/ process Node — seul à toucher le disque et la base
db/ schéma, migrations, sauvegardes, chiffrement, audit
ipc/ un fichier par domaine métier
preload/ pont sécurisé : seule porte entre l'interface et le système
renderer/ interface React (17 écrans)
shared/ types, calculs, profils pays, traductions
tests/ 9 suites — npm run verifier
- Une formule = un seul endroit :
src/shared/calculs.ts. Toute division passe pardiviserSansErreur(). - Ajouter une colonne →
schema.sqletCOLONNES_ATTENDUESdemigrations.ts. Ne jamais supprimer la base pour appliquer un changement. - Opération multi-tables →
dansUneTransaction(). - Copier le fichier de base →
viderJournalWal()d'abord. En mode WAL, sans checkpoint la copie est inutilisable. - Nouveau canal IPC → le déclarer dans
src/main/ipc/*.tset danssrc/preload/index.ts.npm testvérifie l'appariement. - Pas de
window.prompt()dans Electron → composantModale. - Le PDF ne contient aucune information interne (notes, marges, case « à imprimer »).
Le code, les commentaires et les colonnes SQL sont en français, volontairement : ce projet doit rester relisable par son auteur, qui n'est pas développeur de métier. Pas d'ORM, pas de state manager, du SQL écrit à la main.
📖 Historique des décisions, pièges connus et reste à faire : CONTEXTE.md · Publication et site : SITE-GITHUB.md
Une question, un bug, une idée ? ohmnia@proton.me ou une issue GitHub.
Ce n'est pas un service d'assistance : une seule personne développe Ohmnia, sur son temps. Les réponses arrivent quand elles arrivent.
MIT — fais-en ce que tu veux, sans garantie.