From e2a495c0aab84f6e8177a3a72a4a0a215fb8ea74 Mon Sep 17 00:00:00 2001 From: Eric F Date: Tue, 9 Jun 2026 13:01:07 -0400 Subject: [PATCH] Docs: PATCHES.md, memory update, map OSM fix, favicon --- docs/PATCHES.md | 88 +++++++++++++++++++++++++++++++++++++++++++++ scripts/snapshot.sh | 48 +++++++++++++++++++++++++ 2 files changed, 136 insertions(+) create mode 100644 docs/PATCHES.md create mode 100644 scripts/snapshot.sh diff --git a/docs/PATCHES.md b/docs/PATCHES.md new file mode 100644 index 0000000..a43daac --- /dev/null +++ b/docs/PATCHES.md @@ -0,0 +1,88 @@ +# 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`) +```python +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 : +```bash +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 : +```python +# 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 : +```bash +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 + +```bash +# 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 +``` diff --git a/scripts/snapshot.sh b/scripts/snapshot.sh new file mode 100644 index 0000000..909a3c6 --- /dev/null +++ b/scripts/snapshot.sh @@ -0,0 +1,48 @@ +#!/bin/bash +# Cariflex - Snapshot script +# Creates a backup of all modified files before any change +# Usage: bash snapshot.sh [description] + +set -e + +SNAPSHOT_DIR="/home/eric/cariflex/snapshots/$(date +%Y%m%d_%H%M%S)" +DESCRIPTION="${1:-manual}" +mkdir -p "$SNAPSHOT_DIR" + +echo "=== Cariflex Snapshot: $DESCRIPTION ===" +echo "Directory: $SNAPSHOT_DIR" + +# 1. Backup FM templates +echo "Backing up FM templates..." +docker cp flexmeasures-server:/app/flexmeasures/ui/templates/admin/login_user.html "$SNAPSHOT_DIR/login_user.html" 2>/dev/null || true +docker cp flexmeasures-server:/app/flexmeasures/ui/templates/includes/navbar.html "$SNAPSHOT_DIR/navbar.html" 2>/dev/null || true +docker cp flexmeasures-server:/app/flexmeasures/ui/templates/includes/footer.html "$SNAPSHOT_DIR/footer.html" 2>/dev/null || true +docker cp flexmeasures-server:/app/flexmeasures/ui/templates/includes/teaser.html "$SNAPSHOT_DIR/teaser.html" 2>/dev/null || true + +# 2. Backup FM config +echo "Backing up FM config..." +docker cp flexmeasures-server:/app/instance/flexmeasures.cfg "$SNAPSHOT_DIR/flexmeasures.cfg" 2>/dev/null || true + +# 3. Backup FM static images +echo "Backing up FM static images..." +docker cp flexmeasures-server:/app/flexmeasures/ui/static/images/cariflex-logo.jpg "$SNAPSHOT_DIR/cariflex-logo.jpg" 2>/dev/null || true +docker cp flexmeasures-server:/app/flexmeasures/ui/static/images/flexmeasures-preview.jpg "$SNAPSHOT_DIR/flexmeasures-preview.jpg" 2>/dev/null || true + +# 4. Backup docker-compose files +echo "Backing up docker-compose files..." +cp /home/eric/flexmeasures/docker-compose.yml "$SNAPSHOT_DIR/docker-compose.yml" 2>/dev/null || true + +# 5. Save snapshot info +echo "Description: $DESCRIPTION" > "$SNAPSHOT_DIR/info.txt" +echo "Date: $(date)" >> "$SNAPSHOT_DIR/info.txt" +echo "Host: $(hostname)" >> "$SNAPSHOT_DIR/info.txt" + +# 6. Git commit the snapshot +cd /home/eric/cariflex +git add snapshots/ +git commit -m "Snapshot: $DESCRIPTION" --allow-empty 2>/dev/null || true +git push origin master 2>/dev/null || true + +echo "=== Snapshot complete ===" +echo "Files backed up to: $SNAPSHOT_DIR" +ls -la "$SNAPSHOT_DIR"