Aller au contenu

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.

Horizon : architecture applicativeDes 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.Sourcesactualité, marchéCollecteuralertes chaque matinSQLitebase persistéeRapportshebdomadairesAPI Expressauthentification maisonInterfacemodes Simple et Détail
  • Actuel
Horizon : architecture applicative
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

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.