Files
cariflex/docs/PATCHES.md

3.2 KiB

Cariflex - Patches appliqués à FlexMeasures

Documentation de tous les patches FM. À réappliquer après chaque recréation de container.

1. Branding Cariflex

Templates modifiés (backup dans templates/)

  • admin/login_user.html : Titre "The FlexMeasures Platform" → "Cariflex"
  • includes/navbar.html : Logo Mapbox → /ui/static/images/cariflex-logo.jpg
  • includes/footer.html : Footer FM → Logo Cariflex centré + "Cariflex - 2026"
  • includes/teaser.html : Images FM → Logo Cariflex

Favicon

  • /ui/static/images/cariflex-logo.jpg → copié en /ui/static/favicon.ico (32x32)

Config (instance/flexmeasures.cfg)

FLEXMEASURES_PLATFORM_NAME = 'Cariflex'
FLEXMEASURES_MENU_LOGO_PATH = '/ui/static/images/cariflex-logo.jpg'

2. Carte OSM (remplacement Mapbox)

Fichier : ui/static/js/map-init.js

La fonction addTileLayer a été modifiée :

  • URL Mapbox → https://tile.openstreetmap.org/{z}/{x}/{y}.png
  • Attribution → OpenStreetMap
  • Supprimé : tileSize, zoomOffset, id, accessToken, logo Mapbox

Commande de restauration :

docker cp config/map-init-patch.js flexmeasures-server:/app/flexmeasures/ui/static/js/map-init.js

3. Redis 7+ ACL

Problème

FlexMeasures utilise redis-py qui crée des connexions sans username. Redis 7+ ACL exige un username quand un password est défini.

Solution appliquée

Patch de redis/connection.py dans le container FM :

# Ajouté dans redis/connection.py, méthode connect()
if getattr(self, "username", None) is None and getattr(self, "password", None):
    self.username = "default"

Alternative (si le patch ne persiste pas)

Désactiver l'ACL Redis :

docker exec flexmeasures-redis redis-cli -a Digitribe972 ACL SETUSER default on >Digitribe972 ~* &* +@all

4. Worker RQ

Problème

Le worker RQ crée sa propre connexion Redis qui n'utilise pas le config de l'app. Erreur : AuthenticationError: invalid username-password pair.

Statut

NON RÉSOLU. Le worker RQ ne peut pas se connecter à Redis 7+.

Pistes

  • Patcher redis/connection.py (non persistant entre les processus)
  • Désactiver l'ACL Redis (fonctionne mais non persistant)
  • Utiliser redis-server --requirepass Digitribe972 --aclfile "" (désactive ACL)

5. Procédure de restauration complète

# 1. Restaurer les templates
docker cp templates/login_user.html flexmeasures-server:/app/flexmeasures/ui/templates/admin/login_user.html
docker cp templates/navbar.html flexmeasures-server:/app/flexmeasures/ui/templates/includes/navbar.html
docker cp templates/footer.html flexmeasures-server:/app/flexmeasures/ui/templates/includes/footer.html
docker cp templates/teaser.html flexmeasures-server:/app/flexmeasures/ui/templates/includes/teaser.html

# 2. Restaurer le logo et favicon
docker cp logo_cariflex.jpg flexmeasures-server:/app/flexmeasures/ui/static/images/cariflex-logo.jpg

# 3. Restaurer la config
docker cp config/flexmeasures.cfg flexmeasures-server:/app/instance/flexmeasures.cfg

# 4. Restaurer la carte OSM
docker cp config/map-init-patch.js flexmeasures-server:/app/flexmeasures/ui/static/js/map-init.js

# 5. Redémarrer FM
docker restart flexmeasures-server