@jjlmoya/utils-converters 1.24.0 → 1.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/package.json +2 -2
  2. package/src/category/i18n/de.ts +1 -1
  3. package/src/category/i18n/en.ts +1 -1
  4. package/src/category/i18n/fr.ts +1 -1
  5. package/src/category/i18n/id.ts +1 -1
  6. package/src/category/i18n/it.ts +1 -1
  7. package/src/category/i18n/nl.ts +1 -1
  8. package/src/category/i18n/pl.ts +1 -1
  9. package/src/category/i18n/pt.ts +1 -1
  10. package/src/category/i18n/sv.ts +1 -1
  11. package/src/entries.ts +6 -0
  12. package/src/tests/bibliography_wellformed_export.test.ts +46 -0
  13. package/src/tests/category_seo_quality.test.ts +74 -0
  14. package/src/tests/faq_count.test.ts +1 -1
  15. package/src/tests/no_h1_in_components.test.ts +1 -1
  16. package/src/tests/seo_parity.test.ts +2 -2
  17. package/src/tests/seo_wellformed_export.test.ts +65 -0
  18. package/src/tests/tool_validation.test.ts +15 -15
  19. package/src/tool/avifAJpg/i18n/en.ts +164 -164
  20. package/src/tool/avifAJpg/i18n/es.ts +164 -164
  21. package/src/tool/avifAJpg/i18n/fr.ts +164 -164
  22. package/src/tool/avifAJpg/i18n/ja.ts +166 -166
  23. package/src/tool/avifAJpg/i18n/ko.ts +166 -166
  24. package/src/tool/avifAJpg/i18n/zh.ts +166 -166
  25. package/src/tool/avifAJpg/seo.astro +15 -15
  26. package/src/tool/avifAPng/i18n/en.ts +164 -164
  27. package/src/tool/avifAPng/i18n/es.ts +164 -164
  28. package/src/tool/avifAPng/i18n/fr.ts +164 -164
  29. package/src/tool/avifAPng/i18n/ja.ts +166 -166
  30. package/src/tool/avifAPng/i18n/ko.ts +166 -166
  31. package/src/tool/avifAPng/i18n/zh.ts +166 -166
  32. package/src/tool/avifAPng/seo.astro +15 -15
  33. package/src/tool/avifAWebp/i18n/en.ts +164 -164
  34. package/src/tool/avifAWebp/i18n/es.ts +164 -164
  35. package/src/tool/avifAWebp/i18n/fr.ts +164 -164
  36. package/src/tool/avifAWebp/i18n/ja.ts +166 -166
  37. package/src/tool/avifAWebp/i18n/ko.ts +166 -166
  38. package/src/tool/avifAWebp/i18n/zh.ts +166 -166
  39. package/src/tool/avifAWebp/seo.astro +15 -15
  40. package/src/tool/bmpAJpg/i18n/en.ts +164 -164
  41. package/src/tool/bmpAJpg/i18n/es.ts +164 -164
  42. package/src/tool/bmpAJpg/i18n/fr.ts +164 -164
  43. package/src/tool/bmpAJpg/i18n/ja.ts +166 -166
  44. package/src/tool/bmpAJpg/i18n/ko.ts +166 -166
  45. package/src/tool/bmpAJpg/i18n/zh.ts +166 -166
  46. package/src/tool/bmpAJpg/seo.astro +15 -15
  47. package/src/tool/bmpAPng/i18n/en.ts +164 -164
  48. package/src/tool/bmpAPng/i18n/es.ts +164 -164
  49. package/src/tool/bmpAPng/i18n/fr.ts +164 -164
  50. package/src/tool/bmpAPng/i18n/ja.ts +165 -165
  51. package/src/tool/bmpAPng/i18n/ko.ts +165 -165
  52. package/src/tool/bmpAPng/i18n/zh.ts +165 -165
  53. package/src/tool/bmpAPng/seo.astro +15 -15
  54. package/src/tool/bmpAWebp/i18n/en.ts +164 -164
  55. package/src/tool/bmpAWebp/i18n/es.ts +164 -164
  56. package/src/tool/bmpAWebp/i18n/fr.ts +164 -164
  57. package/src/tool/bmpAWebp/i18n/ja.ts +166 -166
  58. package/src/tool/bmpAWebp/i18n/ko.ts +166 -166
  59. package/src/tool/bmpAWebp/i18n/zh.ts +166 -166
  60. package/src/tool/bmpAWebp/seo.astro +15 -15
  61. package/src/tool/gifAJpg/i18n/en.ts +164 -164
  62. package/src/tool/gifAJpg/i18n/es.ts +164 -164
  63. package/src/tool/gifAJpg/i18n/fr.ts +164 -164
  64. package/src/tool/gifAJpg/i18n/ja.ts +166 -166
  65. package/src/tool/gifAJpg/i18n/ko.ts +166 -166
  66. package/src/tool/gifAJpg/i18n/zh.ts +166 -166
  67. package/src/tool/gifAJpg/seo.astro +15 -15
  68. package/src/tool/gifAPng/i18n/en.ts +164 -164
  69. package/src/tool/gifAPng/i18n/es.ts +164 -164
  70. package/src/tool/gifAPng/i18n/fr.ts +164 -164
  71. package/src/tool/gifAPng/i18n/ja.ts +166 -166
  72. package/src/tool/gifAPng/i18n/ko.ts +166 -166
  73. package/src/tool/gifAPng/i18n/zh.ts +166 -166
  74. package/src/tool/gifAPng/seo.astro +15 -15
  75. package/src/tool/gifAWebp/i18n/en.ts +164 -164
  76. package/src/tool/gifAWebp/i18n/es.ts +164 -164
  77. package/src/tool/gifAWebp/i18n/fr.ts +164 -164
  78. package/src/tool/gifAWebp/i18n/ja.ts +166 -166
  79. package/src/tool/gifAWebp/i18n/ko.ts +166 -166
  80. package/src/tool/gifAWebp/i18n/zh.ts +166 -166
  81. package/src/tool/gifAWebp/seo.astro +15 -15
  82. package/src/tool/imagenBase64/i18n/en.ts +154 -154
  83. package/src/tool/imagenBase64/i18n/es.ts +154 -154
  84. package/src/tool/imagenBase64/i18n/fr.ts +154 -154
  85. package/src/tool/imagenBase64/seo.astro +15 -15
  86. package/src/tool/jpgAIco/seo.astro +15 -15
  87. package/src/tool/jpgAPng/i18n/en.ts +164 -164
  88. package/src/tool/jpgAPng/i18n/es.ts +164 -164
  89. package/src/tool/jpgAPng/i18n/fr.ts +164 -164
  90. package/src/tool/jpgAPng/i18n/ja.ts +166 -166
  91. package/src/tool/jpgAPng/i18n/ko.ts +166 -166
  92. package/src/tool/jpgAPng/i18n/zh.ts +166 -166
  93. package/src/tool/jpgAPng/seo.astro +15 -15
  94. package/src/tool/jpgAWebp/i18n/en.ts +164 -164
  95. package/src/tool/jpgAWebp/i18n/es.ts +164 -164
  96. package/src/tool/jpgAWebp/i18n/fr.ts +164 -164
  97. package/src/tool/jpgAWebp/seo.astro +15 -15
  98. package/src/tool/pngAIco/seo.astro +15 -15
  99. package/src/tool/pngAJpg/i18n/de.ts +21 -21
  100. package/src/tool/pngAJpg/i18n/es.ts +177 -177
  101. package/src/tool/pngAJpg/i18n/fr.ts +137 -137
  102. package/src/tool/pngAJpg/i18n/id.ts +89 -89
  103. package/src/tool/pngAJpg/i18n/it.ts +89 -89
  104. package/src/tool/pngAJpg/i18n/ko.ts +177 -177
  105. package/src/tool/pngAJpg/i18n/nl.ts +20 -20
  106. package/src/tool/pngAJpg/i18n/pl.ts +89 -89
  107. package/src/tool/pngAJpg/i18n/pt.ts +89 -89
  108. package/src/tool/pngAJpg/i18n/ru.ts +177 -177
  109. package/src/tool/pngAJpg/i18n/sv.ts +89 -89
  110. package/src/tool/pngAJpg/i18n/tr.ts +89 -89
  111. package/src/tool/pngAJpg/seo.astro +15 -15
  112. package/src/tool/pngAWebp/i18n/en.ts +164 -164
  113. package/src/tool/pngAWebp/i18n/es.ts +164 -164
  114. package/src/tool/pngAWebp/i18n/fr.ts +164 -164
  115. package/src/tool/pngAWebp/seo.astro +15 -15
  116. package/src/tool/svgAJpg/i18n/fr.ts +164 -164
  117. package/src/tool/svgAJpg/seo.astro +15 -15
  118. package/src/tool/svgAPng/i18n/fr.ts +164 -164
  119. package/src/tool/svgAPng/seo.astro +15 -15
  120. package/src/tool/webpAIco/seo.astro +15 -15
  121. package/src/tool/webpAJpg/seo.astro +15 -15
  122. package/src/tool/webpAPng/bibliography.ts +13 -13
  123. package/src/tool/webpAPng/i18n/de.ts +166 -166
  124. package/src/tool/webpAPng/i18n/es.ts +171 -171
  125. package/src/tool/webpAPng/i18n/fr.ts +166 -166
  126. package/src/tool/webpAPng/i18n/id.ts +166 -166
  127. package/src/tool/webpAPng/i18n/it.ts +166 -166
  128. package/src/tool/webpAPng/i18n/nl.ts +166 -166
  129. package/src/tool/webpAPng/i18n/pl.ts +166 -166
  130. package/src/tool/webpAPng/i18n/pt.ts +166 -166
  131. package/src/tool/webpAPng/i18n/ru.ts +166 -166
  132. package/src/tool/webpAPng/i18n/sv.ts +166 -166
  133. package/src/tool/webpAPng/i18n/tr.ts +167 -167
  134. package/src/tool/webpAPng/seo.astro +15 -15
@@ -1,168 +1,168 @@
1
1
  import { bibliography } from '../bibliography';
2
- import type { ImageConverterUI } from '../../../shared/ImageConverter.astro';
2
+ import type { ImageConverterUI } from '../../../shared/ImageConverter.astro';
3
3
  import { generateSchemas } from '../../../shared/logic/schemas';
4
- import type { GifAWebpLocaleContent } from '../index';
5
-
6
- const slug = 'convertisseur-gif-en-webp';
7
- const title = 'Convertir GIF en WebP Statique';
8
- const description =
9
- 'Convertissez des GIF animés en WebP statique. Préserve la transparence. Sans serveur. Traitement local dans votre navigateur. Gratuit.';
10
-
11
- const ui: ImageConverterUI = {
12
- dragText: 'Faites glisser des fichiers GIF...',
13
- convertText: 'Pour les convertir en WebP instantanément',
14
- selectFiles: 'Sélectionner des fichiers',
15
- processedFiles: 'Fichiers traités',
16
- downloadAll: 'Tout télécharger (.zip)',
4
+ import type { GifAWebpLocaleContent } from '../index';
5
+
6
+ const slug = 'convertisseur-gif-en-webp';
7
+ const title = 'Convertir GIF en WebP Statique';
8
+ const description =
9
+ 'Convertissez des GIF animés en WebP statique. Préserve la transparence. Sans serveur. Traitement local dans votre navigateur. Gratuit.';
10
+
11
+ const ui: ImageConverterUI = {
12
+ dragText: 'Faites glisser des fichiers GIF...',
13
+ convertText: 'Pour les convertir en WebP instantanément',
14
+ selectFiles: 'Sélectionner des fichiers',
15
+ processedFiles: 'Fichiers traités',
16
+ downloadAll: 'Tout télécharger (.zip)',
17
17
  pending: 'En attente',
18
- bibliographyTitle: 'Références Bibliographiques',
19
- faqTitle: 'Questions Fréquentes',
20
- };
21
-
22
- const faq: GifAWebpLocaleContent['faq'] = [
23
- {
24
- question: 'Pourquoi figer un fichier animé au format statique moderne WebP ?',
25
- answer:
26
- 'WebP est le standard de compression de Google ; il est remarquablement léger et conserve la transparence proprement. Passer de GIF à WebP élimine l\'animation lourde et réalise un gain abyssal en vitesse web.',
27
- },
28
- {
29
- question: 'L\'avatar original restera-t-il transparent ?',
30
- answer:
31
- 'Oui, contrairement au JPEG, le conteneur WebP respecte le canal Alpha complexe. Toutes ses silhouettes resteront parfaites comme elles l\'étaient nativement.',
32
- },
33
- {
34
- question: 'Où les fichiers seront-ils téléchargés ?',
35
- answer:
36
- 'Il n\'y a pas de téléchargement. Le traitement est effectué entièrement par le Javascript du navigateur sur votre PC, avec zéro envoi distant.',
37
- },
38
- ];
39
-
40
- const howTo: GifAWebpLocaleContent['howTo'] = [
41
- {
42
- name: 'Lancez une avalanche animée',
43
- text: 'Déplacez et déposez des dizaines de mèmes dans la zone délimitée sans connexion distante.',
44
- },
45
- {
46
- name: 'Contemplez le grand changement invisible',
47
- text: 'Regardez un indicateur progressif changer à chaque milliseconde pendant que le décodeur de canvas local génère la sortie.',
48
- },
49
- {
50
- name: 'Compressez ou sauvegardez votre arsenal résultant propre',
51
- text: 'Prenez les fichiers extraits individuellement ou appuyez sur Télécharger Zip pour tout emballer.',
52
- },
53
- ];
54
-
55
- const seo: GifAWebpLocaleContent['seo'] = [
56
- {
57
- type: 'title',
58
- text: 'Convertisseur GIF vers WebP: Le Remplacement Moderne des Animations Lourdes',
59
- level: 2,
60
- },
61
- {
62
- type: 'paragraph',
63
- html: 'Les GIF animés sont les dinosaures du contenu web moderne: ils consomment une bande passante disproportionnée, dégradent le PageSpeed de toute page et sont responsables d\'un pourcentage significatif du poids total sur des milliers de sites web. Un GIF animé typique de 5 Mo peut devenir une animation WebP de moins de 1 Mo avec la même qualité visuelle. WebP est le successeur moderne que Google a spécifiquement conçu pour remplacer le GIF sur le web.',
64
- },
65
- {
66
- type: 'title',
67
- text: 'GIF vs WebP: l\'écart entre le passé et le présent du web',
68
- level: 3,
69
- },
70
- {
71
- type: 'paragraph',
72
- html: 'Le GIF est un format de 1987 qui n\'a pas été conçu à l\'origine pour les animations - cette fonctionnalité est arrivée comme un hack ultérieur. Sa palette de 256 couleurs, sa compression inefficace et son incapacité à gérer l\'audio en font un format obsolète. WebP, développé par Google en 2010, offre une compression supérieure avec et sans perte, un support d\'animation natif et un canal alpha complet.',
73
- },
74
- {
75
- type: 'paragraph',
76
- html: 'Pour un développeur web, remplacer les GIF par des WebP sur les pages peut représenter une amélioration de 10 à 30 points dans le score PageSpeed de Google. Moins de poids de page signifie de meilleurs Core Web Vitals, un meilleur référencement SEO et des coûts de bande passante réduits sur les serveurs. Ce n\'est pas seulement une amélioration esthétique - c\'est une décision d\'architecture technique.',
77
- },
78
- {
79
- type: 'title',
80
- text: 'Comparaison d\'Architecture: Local vs Cloud',
81
- level: 3,
82
- },
83
- {
84
- type: 'comparative',
85
- items: [
86
- {
87
- title: 'Convertisseurs Cloud',
88
- description: 'Plateformes qui traitent vos GIF sur des serveurs distants.',
89
- icon: 'mdi:cloud-upload',
90
- pointIcon: 'mdi:close-circle-outline',
91
- points: [
92
- 'Vos animations transitent sur internet vers des serveurs tiers',
93
- 'Temps d\'attente dû à la latence réseau',
94
- 'Limites de taille (les grands GIF sont souvent rejetés)',
95
- 'Risque de rétention et d\'analyse de vos fichiers',
96
- ],
97
- },
98
- {
99
- title: 'Notre Architecture Locale',
100
- description: 'Traitement direct sur votre matériel via la technologie Vanilla JS.',
101
- icon: 'mdi:laptop-mac',
102
- highlight: true,
103
- points: [
104
- 'Le GIF ne quitte jamais votre appareil',
105
- 'Conversion instantanée sans attente réseau',
106
- 'Aucune limite de taille: traitez des GIF de tout poids',
107
- 'Confidentialité totale: 0 octet envoyé à l\'extérieur',
108
- ],
109
- },
110
- ],
111
- },
112
- {
113
- type: 'title',
114
- text: 'Comment fonctionne la conversion locale GIF vers WebP',
115
- level: 3,
116
- },
117
- {
118
- type: 'paragraph',
119
- html: 'La conversion locale utilise l\'API Canvas HTML5. Le GIF est chargé comme un élément Image natif du navigateur. En le dessinant sur un canvas, le moteur graphique capture la première image de l\'animation avec toutes ses informations de transparence. La méthode <code>toDataURL(\'image/webp\')</code> exporte l\'image en WebP directement dans la RAM.',
120
- },
121
- {
122
- type: 'paragraph',
123
- html: 'Le WebP supporte le canal alpha complet, donc les transparences du GIF sont préservées dans le WebP résultant sans avoir besoin d\'ajouter un fond. Les algorithmes de compression WebP sont significativement plus efficaces que ceux du GIF ou du PNG, ce qui explique la réduction drastique de la taille du fichier final.',
124
- },
125
- {
126
- type: 'tip',
127
- title: 'Amélioration PageSpeed garantie',
128
- html: 'Un GIF animé de 5 Mo peut devenir un WebP de moins de 1 Mo. Si vous avez des GIF sur les pages de votre site, les remplacer par des WebP peut immédiatement améliorer votre Largest Contentful Paint (LCP) et votre Total Blocking Time (TBT), impactant directement le référencement SEO.',
129
- },
130
- {
131
- type: 'title',
132
- text: 'Cas d\'usage et compatibilité du WebP résultant',
133
- level: 3,
134
- },
135
- {
136
- type: 'list',
137
- icon: 'mdi:check-circle',
138
- items: [
139
- 'Remplacement des GIF sur les pages web pour améliorer le PageSpeed.',
140
- 'Avatars et stickers optimisés pour Discord, Slack et les plateformes modernes.',
141
- 'Bannières et visuels pour les campagnes de marketing digital.',
142
- 'Animations dans les applications web progressives (PWA).',
143
- 'Compatible avec Chrome, Edge, Firefox, Safari 14+ et tous les navigateurs modernes.',
144
- ],
145
- },
146
- {
147
- type: 'title',
148
- text: 'Conclusion: migrez vos GIF vers le XXIe siècle',
149
- level: 3,
150
- },
151
- {
152
- type: 'paragraph',
153
- html: 'Chaque GIF sur votre site web est une opportunité d\'optimisation manquée. Notre outil convertit les GIF en WebP instantanément, en toute confidentialité et sans limites, directement dans votre navigateur. Le résultat: des fichiers jusqu\'à 5 fois plus petits, une transparence parfaite et une compatibilité avec tous les navigateurs modernes.',
154
- },
155
- ];
156
-
18
+ bibliographyTitle: 'Références Bibliographiques',
19
+ faqTitle: 'Questions Fréquentes',
20
+ };
21
+
22
+ const faq: GifAWebpLocaleContent['faq'] = [
23
+ {
24
+ question: 'Pourquoi figer un fichier animé au format statique moderne WebP ?',
25
+ answer:
26
+ 'WebP est le standard de compression de Google ; il est remarquablement léger et conserve la transparence proprement. Passer de GIF à WebP élimine l\'animation lourde et réalise un gain abyssal en vitesse web.',
27
+ },
28
+ {
29
+ question: 'L\'avatar original restera-t-il transparent ?',
30
+ answer:
31
+ 'Oui, contrairement au JPEG, le conteneur WebP respecte le canal Alpha complexe. Toutes ses silhouettes resteront parfaites comme elles l\'étaient nativement.',
32
+ },
33
+ {
34
+ question: 'Où les fichiers seront-ils téléchargés ?',
35
+ answer:
36
+ 'Il n\'y a pas de téléchargement. Le traitement est effectué entièrement par le Javascript du navigateur sur votre PC, avec zéro envoi distant.',
37
+ },
38
+ ];
39
+
40
+ const howTo: GifAWebpLocaleContent['howTo'] = [
41
+ {
42
+ name: 'Lancez une avalanche animée',
43
+ text: 'Déplacez et déposez des dizaines de mèmes dans la zone délimitée sans connexion distante.',
44
+ },
45
+ {
46
+ name: 'Contemplez le grand changement invisible',
47
+ text: 'Regardez un indicateur progressif changer à chaque milliseconde pendant que le décodeur de canvas local génère la sortie.',
48
+ },
49
+ {
50
+ name: 'Compressez ou sauvegardez votre arsenal résultant propre',
51
+ text: 'Prenez les fichiers extraits individuellement ou appuyez sur Télécharger Zip pour tout emballer.',
52
+ },
53
+ ];
54
+
55
+ const seo: GifAWebpLocaleContent['seo'] = [
56
+ {
57
+ type: 'title',
58
+ text: 'Convertisseur GIF vers WebP: Le Remplacement Moderne des Animations Lourdes',
59
+ level: 2,
60
+ },
61
+ {
62
+ type: 'paragraph',
63
+ html: 'Les GIF animés sont les dinosaures du contenu web moderne: ils consomment une bande passante disproportionnée, dégradent le PageSpeed de toute page et sont responsables d\'un pourcentage significatif du poids total sur des milliers de sites web. Un GIF animé typique de 5 Mo peut devenir une animation WebP de moins de 1 Mo avec la même qualité visuelle. WebP est le successeur moderne que Google a spécifiquement conçu pour remplacer le GIF sur le web.',
64
+ },
65
+ {
66
+ type: 'title',
67
+ text: 'GIF vs WebP: l\'écart entre le passé et le présent du web',
68
+ level: 3,
69
+ },
70
+ {
71
+ type: 'paragraph',
72
+ html: 'Le GIF est un format de 1987 qui n\'a pas été conçu à l\'origine pour les animations - cette fonctionnalité est arrivée comme un hack ultérieur. Sa palette de 256 couleurs, sa compression inefficace et son incapacité à gérer l\'audio en font un format obsolète. WebP, développé par Google en 2010, offre une compression supérieure avec et sans perte, un support d\'animation natif et un canal alpha complet.',
73
+ },
74
+ {
75
+ type: 'paragraph',
76
+ html: 'Pour un développeur web, remplacer les GIF par des WebP sur les pages peut représenter une amélioration de 10 à 30 points dans le score PageSpeed de Google. Moins de poids de page signifie de meilleurs Core Web Vitals, un meilleur référencement SEO et des coûts de bande passante réduits sur les serveurs. Ce n\'est pas seulement une amélioration esthétique - c\'est une décision d\'architecture technique.',
77
+ },
78
+ {
79
+ type: 'title',
80
+ text: 'Comparaison d\'Architecture: Local vs Cloud',
81
+ level: 3,
82
+ },
83
+ {
84
+ type: 'comparative',
85
+ items: [
86
+ {
87
+ title: 'Convertisseurs Cloud',
88
+ description: 'Plateformes qui traitent vos GIF sur des serveurs distants.',
89
+ icon: 'mdi:cloud-upload',
90
+ pointIcon: 'mdi:close-circle-outline',
91
+ points: [
92
+ 'Vos animations transitent sur internet vers des serveurs tiers',
93
+ 'Temps d\'attente dû à la latence réseau',
94
+ 'Limites de taille (les grands GIF sont souvent rejetés)',
95
+ 'Risque de rétention et d\'analyse de vos fichiers',
96
+ ],
97
+ },
98
+ {
99
+ title: 'Notre Architecture Locale',
100
+ description: 'Traitement direct sur votre matériel via la technologie Vanilla JS.',
101
+ icon: 'mdi:laptop-mac',
102
+ highlight: true,
103
+ points: [
104
+ 'Le GIF ne quitte jamais votre appareil',
105
+ 'Conversion instantanée sans attente réseau',
106
+ 'Aucune limite de taille: traitez des GIF de tout poids',
107
+ 'Confidentialité totale: 0 octet envoyé à l\'extérieur',
108
+ ],
109
+ },
110
+ ],
111
+ },
112
+ {
113
+ type: 'title',
114
+ text: 'Comment fonctionne la conversion locale GIF vers WebP',
115
+ level: 3,
116
+ },
117
+ {
118
+ type: 'paragraph',
119
+ html: 'La conversion locale utilise l\'API Canvas HTML5. Le GIF est chargé comme un élément Image natif du navigateur. En le dessinant sur un canvas, le moteur graphique capture la première image de l\'animation avec toutes ses informations de transparence. La méthode <code>toDataURL(\'image/webp\')</code> exporte l\'image en WebP directement dans la RAM.',
120
+ },
121
+ {
122
+ type: 'paragraph',
123
+ html: 'Le WebP supporte le canal alpha complet, donc les transparences du GIF sont préservées dans le WebP résultant sans avoir besoin d\'ajouter un fond. Les algorithmes de compression WebP sont significativement plus efficaces que ceux du GIF ou du PNG, ce qui explique la réduction drastique de la taille du fichier final.',
124
+ },
125
+ {
126
+ type: 'tip',
127
+ title: 'Amélioration PageSpeed garantie',
128
+ html: 'Un GIF animé de 5 Mo peut devenir un WebP de moins de 1 Mo. Si vous avez des GIF sur les pages de votre site, les remplacer par des WebP peut immédiatement améliorer votre Largest Contentful Paint (LCP) et votre Total Blocking Time (TBT), impactant directement le référencement SEO.',
129
+ },
130
+ {
131
+ type: 'title',
132
+ text: 'Cas d\'usage et compatibilité du WebP résultant',
133
+ level: 3,
134
+ },
135
+ {
136
+ type: 'list',
137
+ icon: 'mdi:check-circle',
138
+ items: [
139
+ 'Remplacement des GIF sur les pages web pour améliorer le PageSpeed.',
140
+ 'Avatars et stickers optimisés pour Discord, Slack et les plateformes modernes.',
141
+ 'Bannières et visuels pour les campagnes de marketing digital.',
142
+ 'Animations dans les applications web progressives (PWA).',
143
+ 'Compatible avec Chrome, Edge, Firefox, Safari 14+ et tous les navigateurs modernes.',
144
+ ],
145
+ },
146
+ {
147
+ type: 'title',
148
+ text: 'Conclusion: migrez vos GIF vers le XXIe siècle',
149
+ level: 3,
150
+ },
151
+ {
152
+ type: 'paragraph',
153
+ html: 'Chaque GIF sur votre site web est une opportunité d\'optimisation manquée. Notre outil convertit les GIF en WebP instantanément, en toute confidentialité et sans limites, directement dans votre navigateur. Le résultat: des fichiers jusqu\'à 5 fois plus petits, une transparence parfaite et une compatibilité avec tous les navigateurs modernes.',
154
+ },
155
+ ];
157
156
 
158
- export const content: GifAWebpLocaleContent = {
159
- slug,
160
- title,
161
- description,
162
- ui,
163
- seo,
164
- faq,
165
- bibliography,
166
- howTo,
167
- schemas: generateSchemas({ title, description, inLanguage: 'fr', faq, howTo }),
168
- };
157
+
158
+ export const content: GifAWebpLocaleContent = {
159
+ slug,
160
+ title,
161
+ description,
162
+ ui,
163
+ seo,
164
+ faq,
165
+ bibliography,
166
+ howTo,
167
+ schemas: generateSchemas({ title, description, inLanguage: 'fr', faq, howTo }),
168
+ };