Aller au contenu

Vue d'ensemble de la stack technique

KanjiIQ est construit avec une philosophie auto-hébergée et open-source en priorité. Chaque composant s'exécute sur une infrastructure que nous contrôlons, sans dépendance fournisseur.

Résumé des technologies

Couche Technologie Fonction
Frontend Flutter Web Framework d'interface multi-plateforme
Backend Dart Frog Serveur d'API REST léger
Base de données PostgreSQL 15 Stockage de données principal avec JSONB
Traduction OpenAI API Traduction dynamique du contenu
Orchestration k3s (Kubernetes) Orchestration de conteneurs
Ingress Traefik Reverse proxy, terminaison TLS, limitation de débit
TLS cert-manager + Let's Encrypt Gestion automatisée des certificats SSL
CI/CD Forgejo Actions Automatisation du build, push et déploiement
Registre de conteneurs Forgejo Container Registry Stockage des images Docker
Contrôle de version Forgejo (fork de Gitea) Plateforme Git auto-hébergée
Hébergement Hetzner Dedicated Server Fournisseur d'infrastructure
Administration Flutter Web Tableau de bord administrateur pour la gestion des locales/analyses

Pourquoi ces choix ?

Dart partout

Le choix architectural le plus distinctif est l'utilisation de Dart à la fois pour le frontend et le backend :

  • Flutter (Dart) pour le frontend
  • Dart Frog (Dart) pour le backend

Cela permet :

  • Le partage des définitions de modèles entre le client et le serveur
  • Une expertise dans un seul langage pour toute l'équipe
  • Des outils cohérents (analyseur Dart, formateur, framework de test)
  • La possibilité de partager des packages de logique métier

Stack auto-hébergée

KanjiIQ évite délibérément les services cloud managés au profit d'alternatives auto-hébergées :

Service managé KanjiIQ utilise Avantage
GitHub/GitLab Forgejo Contrôle total, pas de tarification par utilisateur
Docker Hub Forgejo Container Registry Co-localisé avec le code source
GitHub Actions Forgejo Actions Même syntaxe YAML, runners auto-hébergés
AWS RDS PostgreSQL on k8s Pas de frais horaires pour la base de données
AWS ALB Traefik Intégré à k3s, gratuit
AWS ACM cert-manager + Let's Encrypt Certificats TLS gratuits

Efficacité des coûts

L'intégralité de la stack de production s'exécute sur un seul serveur dédié Hetzner, ce qui maintient les coûts mensuels prévisibles et significativement inférieurs aux services cloud managés équivalents. Voir Infrastructure pour les détails.

Principes d'architecture

  1. Conteneurs d'abord : Chaque composant est conteneurisé avec des builds Docker multi-étapes
  2. Infrastructure as code : Tous les manifestes Kubernetes sont versionnés
  3. Exécution non-root : Tous les conteneurs s'exécutent en tant que UID 1000 pour la sécurité
  4. Vérifications de santé : Chaque conteneur dispose de sondes de liveness et readiness
  5. Capable hors ligne : Le frontend fonctionne sans Internet grâce au cache SQLite local
  6. Respectueux de la vie privée : Analyses conformes GDPR/CCPA avec anonymisation automatique