Skip to content

Ajouter un script de génération des icônes - #2456

Merged
StephaneTrebel merged 5 commits into
mainfrom
fix-client-icons
Aug 24, 2026
Merged

Ajouter un script de génération des icônes#2456
StephaneTrebel merged 5 commits into
mainfrom
fix-client-icons

Conversation

@StephaneTrebel

Copy link
Copy Markdown
Collaborator

À propos

vue-dsfr utilise iconify pour gérer les icônes. Cette libraire est à la base faite de manière à récupérer les icônes depuis Internet. Double problème pour nous: les postes du MI ne permettent pas de récupérer ces icônes (blocage au niveau du proxy), et de toute façon cette manière de fonctionner n'est pas compatible avec les environnements totalement cloisonnés (dits "air gapped")

Fort heureusement, vue-dsfr propose un outil et une documentation (disponible ici) qui permet de récupérer et de compiler dans un fichier statique les différentes icônes dont on a besoin

C'est l'objet du script icons du package.json de client.

Mais la maintenance des icônes est assez lourde. Il faut, "de temps en temps" (ou bien il faut penser, quand on utilise de nouvelles icônes) à mettre à jour le fichier scripts/icons.js pour ensuite lancer le script pnpm run icons de manière à regénérer le fichier src/icon-collections.ts. C'est ce dernier fichier qui contient les différents SVG des icônes, utilisables donc sans accès à Internet 🎉

Afin d'éviter d'avoir à manuellement maintenir le fichier src/icons.js, cette MR ajoute un script generate-icon.sh qui va:

  • Créer un fichier temporaire localement (plus besoin de commiter src/icons.js 🚮)
  • Récupérer de src et de dist les icônes utilisées soit par client, soit directement par vue-dsfr les différentes icônes Remix (préfixe ri) utilisées
  • Ajouter la liste de ces icônes au fichier temporaire
  • Appeler le script vue-dsfr-icons qui va générer le fichier final src/icon-collections.ts

Plus résilient, sans import de nouvelles dépendances, et normalement totalement transparent dans nos builds 🙂

Issues liées

Issues numéro: #2198

@StephaneTrebel StephaneTrebel added this to the 9.25.0 milestone Aug 10, 2026
@StephaneTrebel
StephaneTrebel requested a review from a team August 10, 2026 14:30
@StephaneTrebel StephaneTrebel self-assigned this Aug 10, 2026
@StephaneTrebel StephaneTrebel added the bug Something isn't working label Aug 10, 2026
@github-actions github-actions Bot added the built label Aug 11, 2026
@StephaneTrebel

Copy link
Copy Markdown
Collaborator Author

@StephaneTrebel StephaneTrebel added the preview Deploy preview app with Argo-cd label Aug 11, 2026
@github-actions

Copy link
Copy Markdown
Contributor

🤖 Hey !

A preview of the application is available at : https://console-pr-2456.dso.cpin-hp.numerique-interieur.fr

Please be patient, deployment may take a few minutes.

@StephaneTrebel
StephaneTrebel force-pushed the fix-client-icons branch 2 times, most recently from 887edd4 to e6fe7e2 Compare August 11, 2026 13:55
@StephaneTrebel

Copy link
Copy Markdown
Collaborator Author

🤖 Hey !

A preview of the application is available at : https://console-pr-2456.dso.cpin-hp.numerique-interieur.fr

Please be patient, deployment may take a few minutes.

Ok en preview 🎉

@cloud-pi-native-sonarqube

Copy link
Copy Markdown

@StephaneTrebel
StephaneTrebel added this pull request to the merge queue Aug 24, 2026
Merged via the queue into main with commit e5cab81 Aug 24, 2026
34 checks passed
@StephaneTrebel
StephaneTrebel deleted the fix-client-icons branch August 24, 2026 09:14
@StephaneTrebel StephaneTrebel linked an issue Aug 24, 2026 that may be closed by this pull request
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working built preview Deploy preview app with Argo-cd

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[BUG] - Icones manquantes dans le bundle JS

2 participants