# 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 - Worker RQ

### 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. Le worker RQ ne peut pas se connecter.

### Solution : Désactiver l'ACL Redis
Modifier le docker-compose du container Redis pour ajouter `--aclfile /dev/null` :

```yaml
# docker-compose.yml
flexmeasures-redis:
  command: redis-server --loglevel warning --requirepass ${FLEXMEASURES_REDIS_PASSWORD:-Digitribe972} --aclfile /dev/null
```

Puis recréer le container (pas juste restart) :
```bash
cd /home/eric/flexmeasures
docker compose stop flexmeasures-redis
docker compose rm -f flexmeasures-redis
docker compose up -d flexmeasures-redis
```

### Vérification
```bash
# Le worker RQ doit être connecté
docker exec flexmeasures-redis redis-cli -a Digitribe972 SMEMBERS rq:workers
# Doit afficher: rq:worker:cariflex-ingestion
```

## 4. 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

# 6. Worker RQ se lance automatiquement via flexmeasures-worker container
# Vérifier: docker logs flexmeasures-worker | grep "SAVED"
```
