@jjlmoya/utils-converters 1.25.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 (133) 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/tests/bibliography_wellformed_export.test.ts +46 -0
  12. package/src/tests/category_seo_quality.test.ts +74 -0
  13. package/src/tests/faq_count.test.ts +1 -1
  14. package/src/tests/no_h1_in_components.test.ts +1 -1
  15. package/src/tests/seo_parity.test.ts +2 -2
  16. package/src/tests/seo_wellformed_export.test.ts +65 -0
  17. package/src/tests/tool_validation.test.ts +15 -15
  18. package/src/tool/avifAJpg/i18n/en.ts +164 -164
  19. package/src/tool/avifAJpg/i18n/es.ts +164 -164
  20. package/src/tool/avifAJpg/i18n/fr.ts +164 -164
  21. package/src/tool/avifAJpg/i18n/ja.ts +166 -166
  22. package/src/tool/avifAJpg/i18n/ko.ts +166 -166
  23. package/src/tool/avifAJpg/i18n/zh.ts +166 -166
  24. package/src/tool/avifAJpg/seo.astro +15 -15
  25. package/src/tool/avifAPng/i18n/en.ts +164 -164
  26. package/src/tool/avifAPng/i18n/es.ts +164 -164
  27. package/src/tool/avifAPng/i18n/fr.ts +164 -164
  28. package/src/tool/avifAPng/i18n/ja.ts +166 -166
  29. package/src/tool/avifAPng/i18n/ko.ts +166 -166
  30. package/src/tool/avifAPng/i18n/zh.ts +166 -166
  31. package/src/tool/avifAPng/seo.astro +15 -15
  32. package/src/tool/avifAWebp/i18n/en.ts +164 -164
  33. package/src/tool/avifAWebp/i18n/es.ts +164 -164
  34. package/src/tool/avifAWebp/i18n/fr.ts +164 -164
  35. package/src/tool/avifAWebp/i18n/ja.ts +166 -166
  36. package/src/tool/avifAWebp/i18n/ko.ts +166 -166
  37. package/src/tool/avifAWebp/i18n/zh.ts +166 -166
  38. package/src/tool/avifAWebp/seo.astro +15 -15
  39. package/src/tool/bmpAJpg/i18n/en.ts +164 -164
  40. package/src/tool/bmpAJpg/i18n/es.ts +164 -164
  41. package/src/tool/bmpAJpg/i18n/fr.ts +164 -164
  42. package/src/tool/bmpAJpg/i18n/ja.ts +166 -166
  43. package/src/tool/bmpAJpg/i18n/ko.ts +166 -166
  44. package/src/tool/bmpAJpg/i18n/zh.ts +166 -166
  45. package/src/tool/bmpAJpg/seo.astro +15 -15
  46. package/src/tool/bmpAPng/i18n/en.ts +164 -164
  47. package/src/tool/bmpAPng/i18n/es.ts +164 -164
  48. package/src/tool/bmpAPng/i18n/fr.ts +164 -164
  49. package/src/tool/bmpAPng/i18n/ja.ts +165 -165
  50. package/src/tool/bmpAPng/i18n/ko.ts +165 -165
  51. package/src/tool/bmpAPng/i18n/zh.ts +165 -165
  52. package/src/tool/bmpAPng/seo.astro +15 -15
  53. package/src/tool/bmpAWebp/i18n/en.ts +164 -164
  54. package/src/tool/bmpAWebp/i18n/es.ts +164 -164
  55. package/src/tool/bmpAWebp/i18n/fr.ts +164 -164
  56. package/src/tool/bmpAWebp/i18n/ja.ts +166 -166
  57. package/src/tool/bmpAWebp/i18n/ko.ts +166 -166
  58. package/src/tool/bmpAWebp/i18n/zh.ts +166 -166
  59. package/src/tool/bmpAWebp/seo.astro +15 -15
  60. package/src/tool/gifAJpg/i18n/en.ts +164 -164
  61. package/src/tool/gifAJpg/i18n/es.ts +164 -164
  62. package/src/tool/gifAJpg/i18n/fr.ts +164 -164
  63. package/src/tool/gifAJpg/i18n/ja.ts +166 -166
  64. package/src/tool/gifAJpg/i18n/ko.ts +166 -166
  65. package/src/tool/gifAJpg/i18n/zh.ts +166 -166
  66. package/src/tool/gifAJpg/seo.astro +15 -15
  67. package/src/tool/gifAPng/i18n/en.ts +164 -164
  68. package/src/tool/gifAPng/i18n/es.ts +164 -164
  69. package/src/tool/gifAPng/i18n/fr.ts +164 -164
  70. package/src/tool/gifAPng/i18n/ja.ts +166 -166
  71. package/src/tool/gifAPng/i18n/ko.ts +166 -166
  72. package/src/tool/gifAPng/i18n/zh.ts +166 -166
  73. package/src/tool/gifAPng/seo.astro +15 -15
  74. package/src/tool/gifAWebp/i18n/en.ts +164 -164
  75. package/src/tool/gifAWebp/i18n/es.ts +164 -164
  76. package/src/tool/gifAWebp/i18n/fr.ts +164 -164
  77. package/src/tool/gifAWebp/i18n/ja.ts +166 -166
  78. package/src/tool/gifAWebp/i18n/ko.ts +166 -166
  79. package/src/tool/gifAWebp/i18n/zh.ts +166 -166
  80. package/src/tool/gifAWebp/seo.astro +15 -15
  81. package/src/tool/imagenBase64/i18n/en.ts +154 -154
  82. package/src/tool/imagenBase64/i18n/es.ts +154 -154
  83. package/src/tool/imagenBase64/i18n/fr.ts +154 -154
  84. package/src/tool/imagenBase64/seo.astro +15 -15
  85. package/src/tool/jpgAIco/seo.astro +15 -15
  86. package/src/tool/jpgAPng/i18n/en.ts +164 -164
  87. package/src/tool/jpgAPng/i18n/es.ts +164 -164
  88. package/src/tool/jpgAPng/i18n/fr.ts +164 -164
  89. package/src/tool/jpgAPng/i18n/ja.ts +166 -166
  90. package/src/tool/jpgAPng/i18n/ko.ts +166 -166
  91. package/src/tool/jpgAPng/i18n/zh.ts +166 -166
  92. package/src/tool/jpgAPng/seo.astro +15 -15
  93. package/src/tool/jpgAWebp/i18n/en.ts +164 -164
  94. package/src/tool/jpgAWebp/i18n/es.ts +164 -164
  95. package/src/tool/jpgAWebp/i18n/fr.ts +164 -164
  96. package/src/tool/jpgAWebp/seo.astro +15 -15
  97. package/src/tool/pngAIco/seo.astro +15 -15
  98. package/src/tool/pngAJpg/i18n/de.ts +21 -21
  99. package/src/tool/pngAJpg/i18n/es.ts +177 -177
  100. package/src/tool/pngAJpg/i18n/fr.ts +137 -137
  101. package/src/tool/pngAJpg/i18n/id.ts +89 -89
  102. package/src/tool/pngAJpg/i18n/it.ts +89 -89
  103. package/src/tool/pngAJpg/i18n/ko.ts +177 -177
  104. package/src/tool/pngAJpg/i18n/nl.ts +20 -20
  105. package/src/tool/pngAJpg/i18n/pl.ts +89 -89
  106. package/src/tool/pngAJpg/i18n/pt.ts +89 -89
  107. package/src/tool/pngAJpg/i18n/ru.ts +177 -177
  108. package/src/tool/pngAJpg/i18n/sv.ts +89 -89
  109. package/src/tool/pngAJpg/i18n/tr.ts +89 -89
  110. package/src/tool/pngAJpg/seo.astro +15 -15
  111. package/src/tool/pngAWebp/i18n/en.ts +164 -164
  112. package/src/tool/pngAWebp/i18n/es.ts +164 -164
  113. package/src/tool/pngAWebp/i18n/fr.ts +164 -164
  114. package/src/tool/pngAWebp/seo.astro +15 -15
  115. package/src/tool/svgAJpg/i18n/fr.ts +164 -164
  116. package/src/tool/svgAJpg/seo.astro +15 -15
  117. package/src/tool/svgAPng/i18n/fr.ts +164 -164
  118. package/src/tool/svgAPng/seo.astro +15 -15
  119. package/src/tool/webpAIco/seo.astro +15 -15
  120. package/src/tool/webpAJpg/seo.astro +15 -15
  121. package/src/tool/webpAPng/bibliography.ts +13 -13
  122. package/src/tool/webpAPng/i18n/de.ts +166 -166
  123. package/src/tool/webpAPng/i18n/es.ts +171 -171
  124. package/src/tool/webpAPng/i18n/fr.ts +166 -166
  125. package/src/tool/webpAPng/i18n/id.ts +166 -166
  126. package/src/tool/webpAPng/i18n/it.ts +166 -166
  127. package/src/tool/webpAPng/i18n/nl.ts +166 -166
  128. package/src/tool/webpAPng/i18n/pl.ts +166 -166
  129. package/src/tool/webpAPng/i18n/pt.ts +166 -166
  130. package/src/tool/webpAPng/i18n/ru.ts +166 -166
  131. package/src/tool/webpAPng/i18n/sv.ts +166 -166
  132. package/src/tool/webpAPng/i18n/tr.ts +167 -167
  133. 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 { BmpAPngLocaleContent } from '../index';
5
-
6
- const slug = 'convertisseur-bmp-en-png';
7
- const title = 'Convertisseur BMP vers PNG';
8
- const description =
9
- 'Convertissez des images BMP en PNG sans perte de qualité. Compression moderne sans artefacts. Sans téléchargement. Gratuit et 100% privé.';
10
-
11
- const ui: ImageConverterUI = {
12
- dragText: 'Faites glisser des fichiers BMP...',
13
- convertText: 'Pour les convertir en PNG instantanément',
14
- selectFiles: 'Sélectionner des fichiers',
15
- processedFiles: 'Fichiers traités',
16
- downloadAll: 'Tout télécharger (.zip)',
4
+ import type { BmpAPngLocaleContent } from '../index';
5
+
6
+ const slug = 'convertisseur-bmp-en-png';
7
+ const title = 'Convertisseur BMP vers PNG';
8
+ const description =
9
+ 'Convertissez des images BMP en PNG sans perte de qualité. Compression moderne sans artefacts. Sans téléchargement. Gratuit et 100% privé.';
10
+
11
+ const ui: ImageConverterUI = {
12
+ dragText: 'Faites glisser des fichiers BMP...',
13
+ convertText: 'Pour les convertir en PNG 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: BmpAPngLocaleContent['faq'] = [
23
- {
24
- question: 'Quelle est la principale différence entre BMP et PNG ?',
25
- answer:
26
- 'BMP et PNG sont tous deux des formats sans perte. La différence réside dans l\'optimisation: PNG utilise des algorithmes de compression modernes pour stocker la même image en occupant 5 à 10 fois moins de mémoire que le BMP.',
27
- },
28
- {
29
- question: 'La conversion est-elle vraiment privée ?',
30
- answer:
31
- 'Oui. Tout le traitement photographique est effectué par votre ordinateur. Absolument personne n\'accède à vos fichiers lors du traitement local.',
32
- },
33
- {
34
- question: 'Pourquoi PNG plutôt que JPEG dans ce cas ?',
35
- answer:
36
- 'Si vous avez un fichier BMP, c\'est parce que l\'image a des couleurs précises. Convertir un BMP au standard destructeur JPG altérerait vos couleurs nettes. Le PNG protège cette fidélité.',
37
- },
38
- ];
39
-
40
- const howTo: BmpAPngLocaleContent['howTo'] = [
41
- {
42
- name: 'Chargez votre photo',
43
- text: 'Déplacez tranquillement les fichiers source BMP dans notre zone de dépôt d\'éléments web.',
44
- },
45
- {
46
- name: 'Traduire sans transmission réseau',
47
- text: 'Ressentez en à peine une seconde le traitement propre effectué localement par votre JS HTML5.',
48
- },
49
- {
50
- name: 'Obtenez des PNG purs',
51
- text: 'Téléchargez les répliques PNG individuellement ou via un package compressé.',
52
- },
53
- ];
54
-
55
- const seo: BmpAPngLocaleContent['seo'] = [
56
- {
57
- type: 'title',
58
- text: 'Convertisseur BMP vers PNG: Le Remplacement Sans Perte du Format BMP',
59
- level: 2,
60
- },
61
- {
62
- type: 'paragraph',
63
- html: 'Le BMP est un format non compressé qui occupe d\'énormes quantités d\'espace sans aucun avantage technique par rapport au PNG. Les deux sont des formats sans perte: ils stockent chaque pixel avec une précision absolue. Mais le PNG ajoute une compression sans perte via l\'algorithme Deflate, réduisant la taille du fichier de 3 à 5 fois sans sacrifier un seul bit d\'information visuelle. Le PNG est, en substance, ce que le BMP a toujours voulu être.',
64
- },
65
- {
66
- type: 'title',
67
- text: 'BMP vs PNG: même qualité, taille de fichier radicalement différente',
68
- level: 3,
69
- },
70
- {
71
- type: 'paragraph',
72
- html: 'La différence fondamentale entre BMP et PNG ne réside pas dans la qualité de l\'image - les deux sont sans perte - mais dans l\'efficacité de stockage. Le BMP stocke les pixels bruts: sans compression, sans optimisation, sans considération pour l\'espace. Le PNG analyse les motifs de pixels répétés et les code de manière compacte grâce à Deflate, le même algorithme utilisé par ZIP.',
73
- },
74
- {
75
- type: 'paragraph',
76
- html: 'En plus d\'une compression supérieure, le PNG ajoute une fonctionnalité que le BMP n\'a jamais eue: le canal alpha complet pour la transparence. Captures d\'écran, graphiques d\'interface, logos, diagrammes techniques - tous ces types d\'images bénéficient énormément de la conversion en PNG, qui préserve chaque valeur de couleur exacte tout en réduisant le poids du fichier à une fraction de l\'original.',
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: 'Services qui traitent vos fichiers BMP sur des serveurs tiers.',
89
- icon: 'mdi:cloud-upload',
90
- pointIcon: 'mdi:close-circle-outline',
91
- points: [
92
- 'Vos images de travail transitent sur internet',
93
- 'Temps d\'attente proportionnel à la taille du BMP',
94
- 'Limites de taille dans les plans gratuits',
95
- 'Risque d\'analyse ou de rétention 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 BMP est traité localement, ne quitte jamais votre appareil',
105
- 'Conversion instantanée en quelques millisecondes',
106
- 'Aucune limite de taille ni de nombre de fichiers',
107
- 'Confidentialité totale: 0 octet envoyé à l\'extérieur',
108
- ],
109
- },
110
- ],
111
- },
112
- {
113
- type: 'title',
114
- text: 'Comment fonctionne la conversion locale BMP vers PNG',
115
- level: 3,
116
- },
117
- {
118
- type: 'paragraph',
119
- html: 'Le processus utilise l\'API Canvas HTML5. Le fichier BMP est lu avec l\'API <code>FileReader</code> du navigateur et décodé comme un Blob en mémoire. Ce Blob est dessiné sur un canvas HTML5 invisible. Ensuite, la méthode <code>toDataURL(\'image/png\')</code> applique l\'algorithme de compression PNG natif du navigateur et génère le fichier résultant.',
120
- },
121
- {
122
- type: 'paragraph',
123
- html: 'Contrairement à la conversion JPG, la conversion PNG est complètement sans perte: chaque valeur de couleur du BMP original est préservée exactement dans le PNG résultant. Aucun artefact, aucun lissage des bords, aucune perte d\'information. Le fichier final est visuellement identique au BMP mais occupe 3 à 5 fois moins d\'espace disque.',
124
- },
125
- {
126
- type: 'tip',
127
- title: 'Le PNG est le standard moderne là où le BMP était utilisé',
128
- html: 'Si vous travaillez avec des logiciels anciens qui exportent en BMP (machines industrielles, systèmes de contrôle, logiciels de diagnostic médical), convertir en PNG est la meilleure décision. Le PNG est compatible avec toutes les applications modernes, maintient une fidélité de couleur parfaite et occupe jusqu\'à 5 fois moins d\'espace. C\'est la migration la plus simple et la plus sûre possible.',
129
- },
130
- {
131
- type: 'title',
132
- text: 'Cas d\'usage et compatibilité du PNG résultant',
133
- level: 3,
134
- },
135
- {
136
- type: 'list',
137
- icon: 'mdi:check-circle',
138
- items: [
139
- 'Captures d\'écran et graphiques d\'interface avec couleurs exactes préservées.',
140
- 'Images de documentation technique et diagrammes logiciels.',
141
- 'Exportations de CAO, systèmes industriels et logiciels legacy.',
142
- 'Logos et éléments d\'identité visuelle avec support de transparence ajouté.',
143
- 'Compatible avec Adobe Photoshop, GIMP, Figma et tous les éditeurs modernes.',
144
- ],
145
- },
146
- {
147
- type: 'title',
148
- text: 'Conclusion: le PNG est ce que le BMP aurait toujours dû être',
149
- level: 3,
150
- },
151
- {
152
- type: 'paragraph',
153
- html: 'Convertir BMP en PNG est la modernisation la plus naturelle d\'un fichier image: même qualité sans perte, plus grande compatibilité, support de transparence et 3 à 5 fois moins de poids. Notre outil effectue cette conversion en millisecondes, directement dans votre navigateur, sans envoyer aucun fichier vers aucun serveur.',
154
- },
155
- ];
156
-
18
+ bibliographyTitle: 'Références Bibliographiques',
19
+ faqTitle: 'Questions Fréquentes',
20
+ };
21
+
22
+ const faq: BmpAPngLocaleContent['faq'] = [
23
+ {
24
+ question: 'Quelle est la principale différence entre BMP et PNG ?',
25
+ answer:
26
+ 'BMP et PNG sont tous deux des formats sans perte. La différence réside dans l\'optimisation: PNG utilise des algorithmes de compression modernes pour stocker la même image en occupant 5 à 10 fois moins de mémoire que le BMP.',
27
+ },
28
+ {
29
+ question: 'La conversion est-elle vraiment privée ?',
30
+ answer:
31
+ 'Oui. Tout le traitement photographique est effectué par votre ordinateur. Absolument personne n\'accède à vos fichiers lors du traitement local.',
32
+ },
33
+ {
34
+ question: 'Pourquoi PNG plutôt que JPEG dans ce cas ?',
35
+ answer:
36
+ 'Si vous avez un fichier BMP, c\'est parce que l\'image a des couleurs précises. Convertir un BMP au standard destructeur JPG altérerait vos couleurs nettes. Le PNG protège cette fidélité.',
37
+ },
38
+ ];
39
+
40
+ const howTo: BmpAPngLocaleContent['howTo'] = [
41
+ {
42
+ name: 'Chargez votre photo',
43
+ text: 'Déplacez tranquillement les fichiers source BMP dans notre zone de dépôt d\'éléments web.',
44
+ },
45
+ {
46
+ name: 'Traduire sans transmission réseau',
47
+ text: 'Ressentez en à peine une seconde le traitement propre effectué localement par votre JS HTML5.',
48
+ },
49
+ {
50
+ name: 'Obtenez des PNG purs',
51
+ text: 'Téléchargez les répliques PNG individuellement ou via un package compressé.',
52
+ },
53
+ ];
54
+
55
+ const seo: BmpAPngLocaleContent['seo'] = [
56
+ {
57
+ type: 'title',
58
+ text: 'Convertisseur BMP vers PNG: Le Remplacement Sans Perte du Format BMP',
59
+ level: 2,
60
+ },
61
+ {
62
+ type: 'paragraph',
63
+ html: 'Le BMP est un format non compressé qui occupe d\'énormes quantités d\'espace sans aucun avantage technique par rapport au PNG. Les deux sont des formats sans perte: ils stockent chaque pixel avec une précision absolue. Mais le PNG ajoute une compression sans perte via l\'algorithme Deflate, réduisant la taille du fichier de 3 à 5 fois sans sacrifier un seul bit d\'information visuelle. Le PNG est, en substance, ce que le BMP a toujours voulu être.',
64
+ },
65
+ {
66
+ type: 'title',
67
+ text: 'BMP vs PNG: même qualité, taille de fichier radicalement différente',
68
+ level: 3,
69
+ },
70
+ {
71
+ type: 'paragraph',
72
+ html: 'La différence fondamentale entre BMP et PNG ne réside pas dans la qualité de l\'image - les deux sont sans perte - mais dans l\'efficacité de stockage. Le BMP stocke les pixels bruts: sans compression, sans optimisation, sans considération pour l\'espace. Le PNG analyse les motifs de pixels répétés et les code de manière compacte grâce à Deflate, le même algorithme utilisé par ZIP.',
73
+ },
74
+ {
75
+ type: 'paragraph',
76
+ html: 'En plus d\'une compression supérieure, le PNG ajoute une fonctionnalité que le BMP n\'a jamais eue: le canal alpha complet pour la transparence. Captures d\'écran, graphiques d\'interface, logos, diagrammes techniques - tous ces types d\'images bénéficient énormément de la conversion en PNG, qui préserve chaque valeur de couleur exacte tout en réduisant le poids du fichier à une fraction de l\'original.',
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: 'Services qui traitent vos fichiers BMP sur des serveurs tiers.',
89
+ icon: 'mdi:cloud-upload',
90
+ pointIcon: 'mdi:close-circle-outline',
91
+ points: [
92
+ 'Vos images de travail transitent sur internet',
93
+ 'Temps d\'attente proportionnel à la taille du BMP',
94
+ 'Limites de taille dans les plans gratuits',
95
+ 'Risque d\'analyse ou de rétention 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 BMP est traité localement, ne quitte jamais votre appareil',
105
+ 'Conversion instantanée en quelques millisecondes',
106
+ 'Aucune limite de taille ni de nombre de fichiers',
107
+ 'Confidentialité totale: 0 octet envoyé à l\'extérieur',
108
+ ],
109
+ },
110
+ ],
111
+ },
112
+ {
113
+ type: 'title',
114
+ text: 'Comment fonctionne la conversion locale BMP vers PNG',
115
+ level: 3,
116
+ },
117
+ {
118
+ type: 'paragraph',
119
+ html: 'Le processus utilise l\'API Canvas HTML5. Le fichier BMP est lu avec l\'API <code>FileReader</code> du navigateur et décodé comme un Blob en mémoire. Ce Blob est dessiné sur un canvas HTML5 invisible. Ensuite, la méthode <code>toDataURL(\'image/png\')</code> applique l\'algorithme de compression PNG natif du navigateur et génère le fichier résultant.',
120
+ },
121
+ {
122
+ type: 'paragraph',
123
+ html: 'Contrairement à la conversion JPG, la conversion PNG est complètement sans perte: chaque valeur de couleur du BMP original est préservée exactement dans le PNG résultant. Aucun artefact, aucun lissage des bords, aucune perte d\'information. Le fichier final est visuellement identique au BMP mais occupe 3 à 5 fois moins d\'espace disque.',
124
+ },
125
+ {
126
+ type: 'tip',
127
+ title: 'Le PNG est le standard moderne là où le BMP était utilisé',
128
+ html: 'Si vous travaillez avec des logiciels anciens qui exportent en BMP (machines industrielles, systèmes de contrôle, logiciels de diagnostic médical), convertir en PNG est la meilleure décision. Le PNG est compatible avec toutes les applications modernes, maintient une fidélité de couleur parfaite et occupe jusqu\'à 5 fois moins d\'espace. C\'est la migration la plus simple et la plus sûre possible.',
129
+ },
130
+ {
131
+ type: 'title',
132
+ text: 'Cas d\'usage et compatibilité du PNG résultant',
133
+ level: 3,
134
+ },
135
+ {
136
+ type: 'list',
137
+ icon: 'mdi:check-circle',
138
+ items: [
139
+ 'Captures d\'écran et graphiques d\'interface avec couleurs exactes préservées.',
140
+ 'Images de documentation technique et diagrammes logiciels.',
141
+ 'Exportations de CAO, systèmes industriels et logiciels legacy.',
142
+ 'Logos et éléments d\'identité visuelle avec support de transparence ajouté.',
143
+ 'Compatible avec Adobe Photoshop, GIMP, Figma et tous les éditeurs modernes.',
144
+ ],
145
+ },
146
+ {
147
+ type: 'title',
148
+ text: 'Conclusion: le PNG est ce que le BMP aurait toujours dû être',
149
+ level: 3,
150
+ },
151
+ {
152
+ type: 'paragraph',
153
+ html: 'Convertir BMP en PNG est la modernisation la plus naturelle d\'un fichier image: même qualité sans perte, plus grande compatibilité, support de transparence et 3 à 5 fois moins de poids. Notre outil effectue cette conversion en millisecondes, directement dans votre navigateur, sans envoyer aucun fichier vers aucun serveur.',
154
+ },
155
+ ];
157
156
 
158
- export const content: BmpAPngLocaleContent = {
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: BmpAPngLocaleContent = {
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
+ };