Sprint 3 - SVG Analysis & CI/CD Optimization
Phase 1 : Analyse des SVG
Section titled âPhase 1 : Analyse des SVGâDOC : Consultation de la documentation
Section titled âDOC : Consultation de la documentationâRecherche Astro MCP : SVG optimization expĂ©rimentale
Conclusion documentation :
- Lâoptimisation SVG expĂ©rimentale dâAstro ne sâapplique quâaux SVG importĂ©s comme composants
- Exemple applicable :
import Logo from '../assets/logo.svg'puis<Logo /> - Ne sâapplique pas aux SVG utilisĂ©s comme fichiers statiques via liens HTML
SPEC : Analyse du projet
Section titled âSPEC : Analyse du projetâFichiers SVG dĂ©tectĂ©s :
src/assets/favicon.svgsrc/assets/logo.svg
Utilisation analysée :
favicon.svg: Utilisé comme<link rel="icon" href="/favicon.svg" />dans BaseHead.astrologo.svg: Non utilisé dans le code (présent dans assets mais pas référencé)
Conclusion :
- Les SVG sont utilisés comme fichiers statiques, PAS comme composants importés
- Lâoptimisation SVG expĂ©rimentale dâAstro ne sâapplique PAS
- Action requise : Aucune optimisation SVG nécessaire
CODE : Aucune modification requise
Section titled âCODE : Aucune modification requiseâLes SVG sont dĂ©jĂ optimisĂ©s pour leur usage actuel (fichiers statiques). Aucune configuration dâoptimisation supplĂ©mentaire nâest nĂ©cessaire.
TEST : Validation
Section titled âTEST : Validationâ- â Les SVG fonctionnent correctement comme fichiers statiques
- â Favicon sâaffiche correctement dans le navigateur
- â Aucun problĂšme de performance dĂ©tectĂ©
INTĂG : Documentation
Section titled âINTĂG : DocumentationâNote pour le futur : Si des SVG sont ajoutĂ©s et importĂ©s comme composants, considĂ©rer lâactivation de lâoptimisation SVG expĂ©rimentale :
import { defineConfig, svgoOptimizer } from "astro/config";export default defineConfig({ experimental: { svgOptimizer: svgoOptimizer() }});Phase 2 : Consolidation Documentation
Section titled âPhase 2 : Consolidation DocumentationâRĂ©sumĂ© des Sprints 1 et 2
Section titled âRĂ©sumĂ© des Sprints 1 et 2âSprint 1 - Modifications
Section titled âSprint 1 - Modificationsâ- â
Page 404 personnalisée créée (
src/content/docs/404.md) - â
URL production mise Ă jour (
https://amn-dev.anderson-metsanou.workers.dev/) - â Corrections TypeScript (PageTitle.astro, SearchModal.astro)
- âł Packages patch/minor (Ă lancer manuellement)
Sprint 2 - Modifications
Section titled âSprint 2 - Modificationsâ- â dotenv 18 installĂ© (compatible avec .env actuel)
- â Vitest configurĂ© et fonctionnel (2/2 tests)
- â Typecheck, lint, build, dev server tous OK
- â Optimisation MDX non activĂ©e (1 fichier seulement)
- â Sanity Visual Editing fonctionnel
Contraindre Techniques
Section titled âContraindre TechniquesâVite 7.3.6 (Conserve)
Section titled âVite 7.3.6 (Conserve)â- Raison : InstabilitĂ© Vite 8/Rolldown avec Sanity Visual Editing
- Impact : Performance légÚrement réduite mais stabilité préservée
- Future : Réévaluer quand Sanity confirme compatibilité Vite 8
Packages Conservés
Section titled âPackages ConservĂ©sâ- React : Reste sur 4.4.2 (Ă©vite breaking changes majeurs)
- TypeScript : Reste sur 5.9.3 (compatible avec Astro 7.3.4)
- Vite : Reste sur 7.3.6 (stable avec Sanity Visual Editing)
Phase 3 : Optimisation CI/CD
Section titled âPhase 3 : Optimisation CI/CDâDOC : Consultation de la documentation GitHub Actions
Section titled âDOC : Consultation de la documentation GitHub ActionsâWorkflows analysĂ©s :
.github/workflows/deploy-dev.yml.github/workflows/deploy-prod.yml
Conclusion :
- Les workflows nâavaient pas dâĂ©tape de tests avant le build
- Les tests manquaient pour détecter les régressions avant déploiement
SPEC : Plan dâintĂ©gration
Section titled âSPEC : Plan dâintĂ©grationâIntĂ©gration proposĂ©e :
- Ajouter une Ă©tape âRun testsâ avant le build dans les deux workflows
- Exécuter :
pnpm run test,pnpm run typecheck,pnpm run lint - Emplacement : AprĂšs
pnpm install --frozen-lockfile, avantpnpm run build
Bénéfices :
- Ăchoue le dĂ©ploiement si les tests ne passent pas
- Détecte les régressions avant déploiement
- Maintient la qualité du code
CODE : Modification des workflows
Section titled âCODE : Modification des workflowsâdeploy-dev.yml - AjoutĂ© :
- name: Run tests run: | pnpm run test pnpm run typecheck pnpm run lintdeploy-prod.yml - Ajouté :
- name: Run tests run: | pnpm run test pnpm run typecheck pnpm run lintTEST : Validation locale
Section titled âTEST : Validation localeâ- â Les tests passent localement (Vitest, typecheck, lint)
- â Les workflows sont syntaxiquement corrects
- Ⳡà valider sur la prochaine PR/déploiement
INTĂG : Documentation
Section titled âINTĂG : DocumentationâNote pour le futur :
- Les tests sâexĂ©cuteront automatiquement sur chaque dĂ©ploiement
- Si un test échoue, le déploiement sera bloqué
- Les tests doivent ĂȘtre maintenus Ă jour avec les nouvelles fonctionnalitĂ©s