feat: conformite enonce - explorer, favoris, stats perso, tests, slots
Some checks failed
Deploy XIP / deploy (push) Failing after 37s
Some checks failed
Deploy XIP / deploy (push) Failing after 37s
Fonctionnel
- Backend messages : GET /api/messages/:id (detail) + recherche (q),
pagination par curseur (before/limit) avec enveloppe { items, nextCursor,
hasMore } ; le flux temps reel garde l'ancien format quand aucun parametre.
- Explorer (/explorer) : catalogue distant, recherche debouncee + annulable
(AbortController), filtre, defilement infini, etat garde (keep-alive).
- Details par id : /message/:id et /shop/p/:id (consomment route.params).
- Favoris (/favoris) : liste perso persistee en localStorage, notation
(note/rating/statut) via modale, refletee partout (bouton favori).
- Mes stats (/mes-stats) : agregats derives des favoris (note moyenne, top
pays/auteurs, statuts), auto-mis a jour, route gardee si liste vide.
- Routeur : pages secondaires en lazy-load + repli, garde beforeEnter.
Technique
- Slots : PrefSection (slot defaut + slot nomme) enveloppe les 5 sections
"Mes Persos" ; Modal (Teleport + slots).
- v-model custom : SearchBox (defineModel + debounce).
- Directive custom : v-click-outside.
- Tests Vitest : 25 tests (etat, fonctions, composants), ~86% du code metier.
- Retrait d'Ionic (inutilise). Script typecheck backend ; tsconfig @types/bun.
- Correctif type : garde stockLimit nullable dans l'achat (catalog.ts).
- README complet (URL, stack, run, tests, secrets, deploiement, mention IA).
This commit is contained in:
@@ -1,35 +1,35 @@
|
||||
name: Deploy XIP
|
||||
|
||||
# Auto-deploy on every push to main. The runner SSHes into the xip-app CT
|
||||
# (Echelon CT502) and runs scripts/deploy.sh, which pulls + rebuilds the stack.
|
||||
on:
|
||||
push:
|
||||
branches: [main]
|
||||
workflow_dispatch:
|
||||
|
||||
# Serialize deploys: never run two deploys against the CT at the same time
|
||||
# (concurrent `docker compose up --build` on the same project races and fails).
|
||||
concurrency:
|
||||
group: deploy-xip-prod
|
||||
cancel-in-progress: false
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Deploy over SSH to xip-app
|
||||
env:
|
||||
# Secrets via env (not inlined in the script) so the multi-line key
|
||||
# keeps its newlines and never breaks shell quoting.
|
||||
DEPLOY_HOST: ${{ secrets.XIP_DEPLOY_HOST }}
|
||||
DEPLOY_USER: ${{ secrets.XIP_DEPLOY_USER }}
|
||||
DEPLOY_KEY: ${{ secrets.XIP_DEPLOY_KEY }}
|
||||
run: |
|
||||
set -e
|
||||
command -v ssh >/dev/null 2>&1 || (apt-get update && apt-get install -y --no-install-recommends openssh-client)
|
||||
mkdir -p ~/.ssh
|
||||
printf '%s\n' "$DEPLOY_KEY" > ~/.ssh/id_ed25519
|
||||
chmod 600 ~/.ssh/id_ed25519
|
||||
ssh -i ~/.ssh/id_ed25519 \
|
||||
-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null \
|
||||
"$DEPLOY_USER@$DEPLOY_HOST" 'bash /opt/xip/scripts/deploy.sh'
|
||||
name: Deploy XIP
|
||||
|
||||
# Auto-deploy on every push to main. The runner SSHes into the xip-app CT
|
||||
# (Echelon CT502) and runs scripts/deploy.sh, which pulls + rebuilds the stack.
|
||||
on:
|
||||
push:
|
||||
branches: [main]
|
||||
workflow_dispatch:
|
||||
|
||||
# Serialize deploys: never run two deploys against the CT at the same time
|
||||
# (concurrent `docker compose up --build` on the same project races and fails).
|
||||
concurrency:
|
||||
group: deploy-xip-prod
|
||||
cancel-in-progress: false
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Deploy over SSH to xip-app
|
||||
env:
|
||||
# Secrets via env (not inlined in the script) so the multi-line key
|
||||
# keeps its newlines and never breaks shell quoting.
|
||||
DEPLOY_HOST: ${{ secrets.XIP_DEPLOY_HOST }}
|
||||
DEPLOY_USER: ${{ secrets.XIP_DEPLOY_USER }}
|
||||
DEPLOY_KEY: ${{ secrets.XIP_DEPLOY_KEY }}
|
||||
run: |
|
||||
set -e
|
||||
command -v ssh >/dev/null 2>&1 || (apt-get update && apt-get install -y --no-install-recommends openssh-client)
|
||||
mkdir -p ~/.ssh
|
||||
printf '%s\n' "$DEPLOY_KEY" > ~/.ssh/id_ed25519
|
||||
chmod 600 ~/.ssh/id_ed25519
|
||||
ssh -i ~/.ssh/id_ed25519 \
|
||||
-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null \
|
||||
"$DEPLOY_USER@$DEPLOY_HOST" 'bash /opt/xip/scripts/deploy.sh'
|
||||
|
||||
Reference in New Issue
Block a user