Horizon, veille boursière auto-hébergée
Tableau de bord d’aide à la décision pour un PEA, hébergé sur mon VPS Linux.
- Période
- Mars 2026 – aujourd’hui
- Organisme
- Projet personnel
- Cadre
- Projet personnel
- Statut
- En production
- Domaines
- Cloud / DevOps, Systèmes, Cybersécurité
- Lien avec le BTS
- Projet personnel : ne figurait pas dans le tableau de synthèse. Son éventuelle utilisation dans l’épreuve E5 est à décider avec les formateurs.
- E5
- Recevabilité à confirmerRecevabilité à confirmer avec les formateurs (circulaire de la session 2027 et consignes de l’établissement).
- E6
- Non concernée
Contexte
Projet personnel mené en parallèle de la formation : un tableau de bord d’aide à la décision pour mon PEA, hébergé par mes soins plutôt que chez un fournisseur. L’outil ne délivre jamais de conseil en investissement.
Problématique
Exposer directement un service sur Internet avec un budget quasi nul et sans équipe pour relire le code : comment l’isoler, le sécuriser et le maintenir seul ?
Objectifs
- Mettre en production un outil de veille boursière personnelle, sécurisé, automatisé et sans coût d’infrastructure.
- Apprendre l’exploitation d’un serveur Linux exposé : conteneurs, domaine, HTTPS, durcissement, sauvegardes.
Environnement technique
- VPS Linux
- Docker
- Coolify
- HTTPS
- Express
- React
- TypeScript
- SQLite
Architecture
Un collecteur alimente une base SQLite à partir de flux d’actualité et de données de marché ; une API Express authentifiée et une interface React en une page (modes Simple et Détail) la présentent ; des rapports sont générés chaque semaine. L’ensemble tourne dans des conteneurs Docker orchestrés par Coolify.
- Actuel
Version texte du schéma
Des sources de données alimentent un collecteur qui remplit une base SQLite ; une API Express authentifiée sert l’interface en une page ; des rapports hebdomadaires sont générés par le serveur.
Éléments
- Sources : actualité, marché (actuel)
- Collecteur : alertes chaque matin (actuel)
- SQLite : base persistée (actuel)
- Rapports : hebdomadaires (actuel)
- API Express : authentification maison (actuel)
- Interface : modes Simple et Détail (actuel)
Liens
- Sources vers Collecteur
- Collecteur vers SQLite
- SQLite vers API Express
- SQLite vers Rapports
- API Express vers Interface
Rôle personnel
J’ai pris en charge la chaîne complète côté infrastructure : choix et location du VPS Linux, installation de Docker et de Coolify, nom de domaine et HTTPS, base SQLite et authentification renforcée, durcissement du serveur, mise en production et suivi des rapports planifiés.
Réalisation
- Cahier des charges fonctionnel : veille boursière, alertes, rapports.
- Architecture conteneurisée pour isoler les services et simplifier les déploiements.
- Mise en place du serveur et des conteneurs, puis des couches de sécurité par itérations.
- Stabilisation par la surveillance des journaux avant d’automatiser les rapports.
Sécurisation
- Pare-feu UFW : exposition minimale des ports.
- Fail2ban contre les tentatives répétées.
- Authentification à double verrou.
- Sauvegardes chiffrées.
Tests et vérifications
- Surveillance des journaux et tests réguliers avant l’automatisation des rapports.
Difficultés
À compléter
Résultats
- Application en ligne : une page en deux modes (Simple et Détail), thème automatique, synthèse de l’actualité du jour, idées scorées sur 100, suivi fiscal du PEA.
- Base SQLite persistée entre les redémarrages, rapports planifiés, serveur durci.
Compétences
- Conteneurs Docker
- Déploiement avec Coolify
- Exploitation d’un VPS Linux
- Publication d’applications en HTTPS
- Linux (Ubuntu, Debian)
- Durcissement d’un serveur Linux (pare-feu UFW, fail2ban)
- Sauvegardes chiffrées et rotation
- Comptes, authentification et double authentification
Blocs E5 mobilisés : 4. Mode projet ; 5. Mise à disposition.
Preuves
- Disponible
- CaptureCaptures réelles de l’application (à fournir)À fournir
- AutrePreuve de durcissement : règles UFW, état fail2ban (à fournir, sans adresse ni identifiant)À fournir
Documents liés : Schémas de l’infrastructure personnelle. Voir la page Documents.
Améliorations futures
- Supervision centralisée du serveur avec alertes (envisagé : Zabbix et Grafana).
Traçabilité de la fiche
Mise à jour le 2026-11-13. Sources : Fiche du site existant (branche main, 27/10/2026) ; Schéma d’architecture existant (architectures.ts).
Cette réalisation ne figure pas dans le tableau de synthèse existant.