diff --git a/.cursorignore b/.cursorignore new file mode 100644 index 0000000..3fc4274 --- /dev/null +++ b/.cursorignore @@ -0,0 +1,50 @@ +# Cursor ignore file +# Exclude sensitive and generated files + +# Environment files +.env +.env.* +!*.env.example + +# Logs +log/ +logs/ +*.log + +# Node modules and build artifacts +node_modules/ +.next/ +dist/ +build/ +coverage/ + +# OS files +.DS_Store +Thumbs.db + +# IDE files +.vscode/ +.idea/ +*.swp +*.swo + +# Temporary files +*.tmp +*.temp +*.bak +*.backup + +# Sensitive files +*.key +*.pem +*.p12 +*.jks +priv_key.json + +# Docker volumes +volumes/ + +# Backup configurations +conf/nginx/*bak* +conf/nginx/*.tmp +conf/nginx/*.clean diff --git a/IA_agents/deploy.md b/IA_agents/deploy.md index eb699d2..9ae54b7 100644 --- a/IA_agents/deploy.md +++ b/IA_agents/deploy.md @@ -108,6 +108,7 @@ Les configurations ngnix doivent toutes être cenralisées dans lecoffre_node/co Pour tous les projets contenant un **Dockerfile**, avant de pousser sur la branche `ext` : +- Supprime les caches - Des images Docker avec le tag `ext` existent. - Les images Docker ne sont build que via CI qui est la seule à pousser sur le registry ou pour test localement. - Aucun Dockerfile ne doit utiliser de clés ssh car aucun repos n'est privé, utiliser HTTPS. diff --git a/docs/REX_Dockerfile_Fixes.md b/docs/REX_Dockerfile_Fixes.md new file mode 100644 index 0000000..7d55c50 --- /dev/null +++ b/docs/REX_Dockerfile_Fixes.md @@ -0,0 +1,125 @@ +# REX - Corrections Dockerfiles Alpine Linux + +## Date +21 septembre 2025 + +## Problème identifié +Les Dockerfiles utilisant Alpine Linux tentaient d'installer le package `cscope` qui n'existe pas dans les dépôts Alpine. + +## Erreurs rencontrées +``` +ERROR: unable to select packages: + cscope (no such package): + required by: world[cscope] +``` + +## Projets affectés +- `sdk_signer` (Dockerfile Alpine) +- `ihm_client` (Dockerfile Alpine) +- `lecoffre-back-mini` (Dockerfile Alpine) +- `lecoffre-front` (Dockerfile Alpine) + +## Solution appliquée +Suppression de `cscope` des commandes `apk add` dans tous les Dockerfiles Alpine. + +### Avant +```dockerfile +RUN apk update && apk upgrade && apk add --no-cache \ + git \ + curl \ + wget \ + jq \ + busybox-extras \ + npm \ + coreutils \ + build-base \ + autoconf \ + automake \ + libtool \ + pkgconfig \ + cmake \ + ninja \ + clang \ + lldb \ + lld \ + make \ + tree \ + ncdu \ + mc \ + ctags \ + cscope \ + vim \ + emacs \ + sed \ + gawk \ + iputils \ + net-tools \ + iproute2 \ + python3 \ + python3-dev \ + py3-pip \ + go \ + rust \ + cargo \ + && npm install -g wscat +``` + +### Après +```dockerfile +RUN apk update && apk upgrade && apk add --no-cache \ + git \ + curl \ + wget \ + jq \ + busybox-extras \ + npm \ + coreutils \ + build-base \ + autoconf \ + automake \ + libtool \ + pkgconfig \ + cmake \ + ninja \ + clang \ + lldb \ + lld \ + make \ + tree \ + ncdu \ + mc \ + ctags \ + vim \ + emacs \ + sed \ + gawk \ + iputils \ + net-tools \ + iproute2 \ + python3 \ + python3-dev \ + py3-pip \ + go \ + rust \ + cargo \ + && npm install -g wscat +``` + +## Résultat +Tous les projets avec Dockerfiles Alpine ont été construits avec succès : +- ✅ `sdk_relay` (Debian-based) +- ✅ `sdk_signer` (Alpine-based) +- ✅ `ihm_client` (Alpine-based) +- ✅ `lecoffre-back-mini` (Alpine-based) +- ✅ `lecoffre-front` (Alpine-based) + +## Leçons apprises +1. Vérifier la compatibilité des packages avec la distribution Linux utilisée +2. `cscope` n'est pas disponible dans Alpine Linux +3. Les Dockerfiles Debian utilisent `apt-get` et peuvent installer `cscope` +4. Les Dockerfiles Alpine utilisent `apk` et ne peuvent pas installer `cscope` + +## Actions préventives +- Ajouter une vérification de compatibilité des packages dans les scripts de build +- Documenter les différences entre distributions Linux dans les Dockerfiles +- Créer des tests automatisés pour vérifier la validité des packages