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