- Commands
- resinstalle claude (apres rebuild devcontainer)
- dashboard usage claude
- lancement backend - frontend
- lancement des tests
- les infos sur les services frontend - backend
- Les commandes
mkdocs - Les commandes
gh - "Failed to add the ECDSA host key ..." - maj du ssh known_host
- reseau port utilise
- voir la todo de claude code
- voir le detail de claude code
- mettre à jour l'env python
- mettre à jour l'env nodejs
- Service Biblio
- suppression d'un episode doublon
- messages d'erreur
Commands¶
Toutes les commandes que je suis amene a lancer souvent dans le cadre de ce projet
resinstalle claude (apres rebuild devcontainer)¶
dashboard usage claude¶
https://claude.ai/settings/usage
lancement backend - frontend¶
# backend, demarrage sur port API_PORT
python -m back_office_lmelp.app
# frontend
cd frontend && npm run dev
# en une seule commande
./scripts/start-dev.sh
lancement des tests¶
# Tests backend uniquement
pytest -v
# en mode très quiet
pytest -qq --tb=no --disable-warnings
# Tests frontend uniquement
cd /workspaces/back-office-lmelp/frontend && npm test -- --run
# Ou en une commande :
pytest -v && cd /workspaces/back-office-lmelp/frontend && npm test -- --run && cd /workspaces/back-office-lmelp
# lancement de tous les test validation biblio
cd /workspaces/back-office-lmelp/frontend && npm test -- --run BiblioValidation --reporter dot
# lancement sur un auteur prenommé Alain:
cd /workspaces/back-office-lmelp/frontend && npx vitest tests/unit/BiblioValidatio
nService.modular.test.js -t "Alain" --run
# enrichissement des fixtures dans
# frontend/tests/fixtures/biblio-validation-cases.yml
les infos sur les services frontend - backend¶
les stats
BACKEND_URL=$(/workspaces/back-office-lmelp/.claude/get-backend-info.sh --url)
curl "$BACKEND_URL/api/stats" | jq
la liste de tous les services
BACKEND_URL=$(/workspaces/back-office-lmelp/.claude/get-backend-info.sh --url)
curl -s "$BACKEND_URL/openapi.json" | jq
# en version reduite
curl -s "$BACKEND_URL/openapi_reduced.json" | jq
cf dans CLAUDE.md tous les usages possibles
Les commandes mkdocs¶
le port par défaut de mkdocs utilisé par mkdocs serve est 8000.
Ce qui est en conflit avec le port API du backoffice-backend.
Donc en mode développement, lancer mkdocs de cette façon (exemple sur le port 8081)
et pour faire un test de génération strict de la doc tel qu'utilisé en CI/CD
Les commandes gh¶
2 types de pager pour gh: scrollable (less) ou normal (cat)
Pour activer le pager en mode normal pour un assistant IA
Créer et checkout branche depuis issue #5
Merger pull request #5, checkout main
# ca merge, squah commit, delete la branche de travail, repasse sur main et fait le pull : propre, carre dans l'axe
gh pr merge 5 --squash --delete-branch
"Failed to add the ECDSA host key ..." - maj du ssh known_host¶
Le devcontainer monte ta config SSH depuis l'hôte en bind-mount. Dans devcontainer.json on a cette ligne :
source=${localEnv:HOME}/.ssh,target=/home/vscode/.ssh,type=bind,consistency=cached,readonly Explication courte :
Le dossier ~/.ssh de l'hôte est monté dans le conteneur (donc les clés privées sont accessibles au conteneur). Le mount est en readonly, donc le conteneur ne peut pas écrire dans known_hosts — d'où l'erreur "Failed to add the ECDSA host key ...".
le prb
(.venv) vscode ➜ /workspaces/back-office-lmelp (main) $ git push
Failed to add the ECDSA host key for IP address '140.82.121.3' to the list of known hosts (/home/vscode/.ssh/known_hosts).
Everything up-to-date
à faire
# ajouter la clé publique de l'IP GitHub sur l'hôte
ssh-keyscan -H 140.82.121.3 >> ~/.ssh/known_hosts
# vérifier que l'entrée a bien été ajoutée
ssh-keygen -F 140.82.121.3
reseau port utilise¶
# depuis le host (sous devcontainer ne rend pas la main)
lsof -i:8000
# depuis devcontainer
netstat -tlnp | grep :8000
fuser -k 8000/tcp 2>/dev/null; sleep 2; netstat -tlnp | grep :8000
voir la todo de claude code¶
Avec ctrl-t pour voir les taches en cours
Creating documentation modifications… (esc to interrupt · ctrl+t to hide todos)
⎿ ☒ Use gh issue view to get issue 31 details
☒ Create feature branch from issue using gh issue develop 31
☒ Checkout to the feature branch locally
☒ Understand the problem described in the issue
☒ Search for relevant files in the codebase
☒ Implement fix using TDD - write failing tests first
☒ Write code to make tests pass
☒ Iterate between code and test execution until complete resolution
☒ Verify all tests, lint, and typecheck pass
☐ Create necessary modifications in user and developer documentation
☐ Commit atomically with descriptive message and push changes
☐ Verify CI/CD state using gh run view
☐ Ask user for global testing and iterate if needed
☐ Update README.md and CLAUDE.md if necessary
☐ Prepare pull request and ask user for validation, then merge using gh
☐ Close todo list when empty
☐ Switch back to main branch locally and get latest changes
☐ Call /stocke-memoire to finish
voir le detail de claude code¶
Avec ctrl-r pour voir le detail des actions
mettre à jour l'env python¶
suite à ajout de lib dans pyproject.toml
pour les paquets de dev (par exemple pillow pour resizer les icones)
mettre à jour l'env nodejs¶
Les packages se declarent dans frontend/package.json
et pour l'installation
Service Biblio¶
il est divisé en plusieurs phases
phase 0 - verif direct sur babelio
BACKEND_URL=$(/workspaces/back-office-lmelp/.claude/get-backend-info.sh --url) && \
curl -X POST "$BACKEND_URL/api/verify-babelio" \
-H "Content-Type: application/json" \
-d @- <<'EOF' | jq
{
"type": "book",
"title": "L'invention de Tristan",
"author": "Adrien Bosque"
}
EOF
phase 1 - fuzzy search (champs titre description d'un episode donné)
BACKEND_URL=$(/workspaces/back-office-lmelp/.claude/get-backend-info.sh --url) && \
curl -X POST "$BACKEND_URL/api/fuzzy-search-episode" \
-H "Content-Type: application/json" \
-d @- <<'EOF' | jq
{
"episode_id": "6865f99ba1418e3d7c63d07a",
"query_title": "L'invention de Tristan",
"query_author": "Adrien Bosque"
}
EOF
phase 2 - babelio search avec juste des auteurs
BACKEND_URL=$(/workspaces/back-office-lmelp/.claude/get-backend-info.sh --url) && \
curl -X POST "$BACKEND_URL/api/verify-babelio" \
-H "Content-Type: application/json" \
-d @- <<'EOF' | jq
{
"type": "author",
"name": "Adrien Bosc"
}
EOF
suppression d'un episode doublon¶
1. Get backend URL automatically¶
BACKEND_URL=$(/workspaces/back-office-lmelp/.claude/get-backend-info.sh --url)
2. Verify the duplicate episode exists¶
curl "$BACKEND_URL/api/episodes/6865f995a1418e3d7c63d076" | jq .titre
3. Delete the duplicate episode (June 29, 2025)¶
curl -X DELETE "$BACKEND_URL/api/episodes/6865f995a1418e3d7c63d076" | jq
4. Verify it's deleted (should return 404)¶
curl "$BACKEND_URL/api/episodes/6865f995a1418e3d7c63d076"
messages d'erreur¶
git push - fatal: Could not read from remote repository.¶
$ git push
ERROR: no healthy upstream
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
j'ai deja eu ce probleme, c'etait un probleme cote github.com
Un site utile pour monitorer les services de github : https://www.githubstatus.com/