@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.
- package/package.json +2 -2
- package/src/category/i18n/de.ts +1 -1
- package/src/category/i18n/en.ts +1 -1
- package/src/category/i18n/fr.ts +1 -1
- package/src/category/i18n/id.ts +1 -1
- package/src/category/i18n/it.ts +1 -1
- package/src/category/i18n/nl.ts +1 -1
- package/src/category/i18n/pl.ts +1 -1
- package/src/category/i18n/pt.ts +1 -1
- package/src/category/i18n/sv.ts +1 -1
- package/src/entries.ts +6 -0
- package/src/tests/bibliography_wellformed_export.test.ts +46 -0
- package/src/tests/category_seo_quality.test.ts +74 -0
- package/src/tests/faq_count.test.ts +1 -1
- package/src/tests/no_h1_in_components.test.ts +1 -1
- package/src/tests/seo_parity.test.ts +2 -2
- package/src/tests/seo_wellformed_export.test.ts +65 -0
- package/src/tests/tool_validation.test.ts +15 -15
- package/src/tool/avifAJpg/i18n/en.ts +164 -164
- package/src/tool/avifAJpg/i18n/es.ts +164 -164
- package/src/tool/avifAJpg/i18n/fr.ts +164 -164
- package/src/tool/avifAJpg/i18n/ja.ts +166 -166
- package/src/tool/avifAJpg/i18n/ko.ts +166 -166
- package/src/tool/avifAJpg/i18n/zh.ts +166 -166
- package/src/tool/avifAJpg/seo.astro +15 -15
- package/src/tool/avifAPng/i18n/en.ts +164 -164
- package/src/tool/avifAPng/i18n/es.ts +164 -164
- package/src/tool/avifAPng/i18n/fr.ts +164 -164
- package/src/tool/avifAPng/i18n/ja.ts +166 -166
- package/src/tool/avifAPng/i18n/ko.ts +166 -166
- package/src/tool/avifAPng/i18n/zh.ts +166 -166
- package/src/tool/avifAPng/seo.astro +15 -15
- package/src/tool/avifAWebp/i18n/en.ts +164 -164
- package/src/tool/avifAWebp/i18n/es.ts +164 -164
- package/src/tool/avifAWebp/i18n/fr.ts +164 -164
- package/src/tool/avifAWebp/i18n/ja.ts +166 -166
- package/src/tool/avifAWebp/i18n/ko.ts +166 -166
- package/src/tool/avifAWebp/i18n/zh.ts +166 -166
- package/src/tool/avifAWebp/seo.astro +15 -15
- package/src/tool/bmpAJpg/i18n/en.ts +164 -164
- package/src/tool/bmpAJpg/i18n/es.ts +164 -164
- package/src/tool/bmpAJpg/i18n/fr.ts +164 -164
- package/src/tool/bmpAJpg/i18n/ja.ts +166 -166
- package/src/tool/bmpAJpg/i18n/ko.ts +166 -166
- package/src/tool/bmpAJpg/i18n/zh.ts +166 -166
- package/src/tool/bmpAJpg/seo.astro +15 -15
- package/src/tool/bmpAPng/i18n/en.ts +164 -164
- package/src/tool/bmpAPng/i18n/es.ts +164 -164
- package/src/tool/bmpAPng/i18n/fr.ts +164 -164
- package/src/tool/bmpAPng/i18n/ja.ts +165 -165
- package/src/tool/bmpAPng/i18n/ko.ts +165 -165
- package/src/tool/bmpAPng/i18n/zh.ts +165 -165
- package/src/tool/bmpAPng/seo.astro +15 -15
- package/src/tool/bmpAWebp/i18n/en.ts +164 -164
- package/src/tool/bmpAWebp/i18n/es.ts +164 -164
- package/src/tool/bmpAWebp/i18n/fr.ts +164 -164
- package/src/tool/bmpAWebp/i18n/ja.ts +166 -166
- package/src/tool/bmpAWebp/i18n/ko.ts +166 -166
- package/src/tool/bmpAWebp/i18n/zh.ts +166 -166
- package/src/tool/bmpAWebp/seo.astro +15 -15
- package/src/tool/gifAJpg/i18n/en.ts +164 -164
- package/src/tool/gifAJpg/i18n/es.ts +164 -164
- package/src/tool/gifAJpg/i18n/fr.ts +164 -164
- package/src/tool/gifAJpg/i18n/ja.ts +166 -166
- package/src/tool/gifAJpg/i18n/ko.ts +166 -166
- package/src/tool/gifAJpg/i18n/zh.ts +166 -166
- package/src/tool/gifAJpg/seo.astro +15 -15
- package/src/tool/gifAPng/i18n/en.ts +164 -164
- package/src/tool/gifAPng/i18n/es.ts +164 -164
- package/src/tool/gifAPng/i18n/fr.ts +164 -164
- package/src/tool/gifAPng/i18n/ja.ts +166 -166
- package/src/tool/gifAPng/i18n/ko.ts +166 -166
- package/src/tool/gifAPng/i18n/zh.ts +166 -166
- package/src/tool/gifAPng/seo.astro +15 -15
- package/src/tool/gifAWebp/i18n/en.ts +164 -164
- package/src/tool/gifAWebp/i18n/es.ts +164 -164
- package/src/tool/gifAWebp/i18n/fr.ts +164 -164
- package/src/tool/gifAWebp/i18n/ja.ts +166 -166
- package/src/tool/gifAWebp/i18n/ko.ts +166 -166
- package/src/tool/gifAWebp/i18n/zh.ts +166 -166
- package/src/tool/gifAWebp/seo.astro +15 -15
- package/src/tool/imagenBase64/i18n/en.ts +154 -154
- package/src/tool/imagenBase64/i18n/es.ts +154 -154
- package/src/tool/imagenBase64/i18n/fr.ts +154 -154
- package/src/tool/imagenBase64/seo.astro +15 -15
- package/src/tool/jpgAIco/seo.astro +15 -15
- package/src/tool/jpgAPng/i18n/en.ts +164 -164
- package/src/tool/jpgAPng/i18n/es.ts +164 -164
- package/src/tool/jpgAPng/i18n/fr.ts +164 -164
- package/src/tool/jpgAPng/i18n/ja.ts +166 -166
- package/src/tool/jpgAPng/i18n/ko.ts +166 -166
- package/src/tool/jpgAPng/i18n/zh.ts +166 -166
- package/src/tool/jpgAPng/seo.astro +15 -15
- package/src/tool/jpgAWebp/i18n/en.ts +164 -164
- package/src/tool/jpgAWebp/i18n/es.ts +164 -164
- package/src/tool/jpgAWebp/i18n/fr.ts +164 -164
- package/src/tool/jpgAWebp/seo.astro +15 -15
- package/src/tool/pngAIco/seo.astro +15 -15
- package/src/tool/pngAJpg/i18n/de.ts +21 -21
- package/src/tool/pngAJpg/i18n/es.ts +177 -177
- package/src/tool/pngAJpg/i18n/fr.ts +137 -137
- package/src/tool/pngAJpg/i18n/id.ts +89 -89
- package/src/tool/pngAJpg/i18n/it.ts +89 -89
- package/src/tool/pngAJpg/i18n/ko.ts +177 -177
- package/src/tool/pngAJpg/i18n/nl.ts +20 -20
- package/src/tool/pngAJpg/i18n/pl.ts +89 -89
- package/src/tool/pngAJpg/i18n/pt.ts +89 -89
- package/src/tool/pngAJpg/i18n/ru.ts +177 -177
- package/src/tool/pngAJpg/i18n/sv.ts +89 -89
- package/src/tool/pngAJpg/i18n/tr.ts +89 -89
- package/src/tool/pngAJpg/seo.astro +15 -15
- package/src/tool/pngAWebp/i18n/en.ts +164 -164
- package/src/tool/pngAWebp/i18n/es.ts +164 -164
- package/src/tool/pngAWebp/i18n/fr.ts +164 -164
- package/src/tool/pngAWebp/seo.astro +15 -15
- package/src/tool/svgAJpg/i18n/fr.ts +164 -164
- package/src/tool/svgAJpg/seo.astro +15 -15
- package/src/tool/svgAPng/i18n/fr.ts +164 -164
- package/src/tool/svgAPng/seo.astro +15 -15
- package/src/tool/webpAIco/seo.astro +15 -15
- package/src/tool/webpAJpg/seo.astro +15 -15
- package/src/tool/webpAPng/bibliography.ts +13 -13
- package/src/tool/webpAPng/i18n/de.ts +166 -166
- package/src/tool/webpAPng/i18n/es.ts +171 -171
- package/src/tool/webpAPng/i18n/fr.ts +166 -166
- package/src/tool/webpAPng/i18n/id.ts +166 -166
- package/src/tool/webpAPng/i18n/it.ts +166 -166
- package/src/tool/webpAPng/i18n/nl.ts +166 -166
- package/src/tool/webpAPng/i18n/pl.ts +166 -166
- package/src/tool/webpAPng/i18n/pt.ts +166 -166
- package/src/tool/webpAPng/i18n/ru.ts +166 -166
- package/src/tool/webpAPng/i18n/sv.ts +166 -166
- package/src/tool/webpAPng/i18n/tr.ts +167 -167
- 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 { GifAJpgLocaleContent } from '../index';
|
|
5
|
-
|
|
6
|
-
const slug = 'convertisseur-gif-en-jpg';
|
|
7
|
-
const title = 'Convertir GIF en JPG en Ligne';
|
|
8
|
-
const description =
|
|
9
|
-
'Extrayez la première image de vos GIF et convertissez en JPG. Sans serveur. Traitement local dans votre navigateur. Gratuit et illimité.';
|
|
10
|
-
|
|
11
|
-
const ui: ImageConverterUI = {
|
|
12
|
-
dragText: 'Faites glisser des fichiers GIF...',
|
|
13
|
-
convertText: 'Pour les convertir en JPG instantanément',
|
|
14
|
-
selectFiles: 'Sélectionner des fichiers',
|
|
15
|
-
processedFiles: 'Fichiers traités',
|
|
16
|
-
downloadAll: 'Tout télécharger (.zip)',
|
|
4
|
+
import type { GifAJpgLocaleContent } from '../index';
|
|
5
|
+
|
|
6
|
+
const slug = 'convertisseur-gif-en-jpg';
|
|
7
|
+
const title = 'Convertir GIF en JPG en Ligne';
|
|
8
|
+
const description =
|
|
9
|
+
'Extrayez la première image de vos GIF et convertissez en JPG. Sans serveur. Traitement local dans votre navigateur. Gratuit et illimité.';
|
|
10
|
+
|
|
11
|
+
const ui: ImageConverterUI = {
|
|
12
|
+
dragText: 'Faites glisser des fichiers GIF...',
|
|
13
|
+
convertText: 'Pour les convertir en JPG 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: GifAJpgLocaleContent['faq'] = [
|
|
23
|
-
{
|
|
24
|
-
question: 'Que se passe-t-il avec les animations lors de la conversion en JPG ?',
|
|
25
|
-
answer:
|
|
26
|
-
'Le JPG est strictement statique et ne supporte pas plusieurs images. Notre convertisseur extrait uniquement la première image ou trame apparaissant dans la séquence GIF.',
|
|
27
|
-
},
|
|
28
|
-
{
|
|
29
|
-
question: 'Vais-je perdre des effets spéciaux ou des fonds transparents ?',
|
|
30
|
-
answer:
|
|
31
|
-
'Oui, c\'est le comportement naturel du standard JPG. Si vous téléchargez un GIF avec fond transparent, nous insérons automatiquement une couche blanche sous-jacente solide pour éviter des couleurs corrompues.',
|
|
32
|
-
},
|
|
33
|
-
{
|
|
34
|
-
question: 'Puis-je extraire des photos JPG d\'un GIF sans que le site sauvegarde mon contenu ?',
|
|
35
|
-
answer:
|
|
36
|
-
'Absolument oui. L\'outil est une application web basée sur le Canvas HTML5. Tout le décodage est exécuté par le processeur de votre propre appareil physique.',
|
|
37
|
-
},
|
|
38
|
-
];
|
|
39
|
-
|
|
40
|
-
const howTo: GifAJpgLocaleContent['howTo'] = [
|
|
41
|
-
{
|
|
42
|
-
name: 'Faites glisser vos fichiers GIF animés',
|
|
43
|
-
text: 'Placez ou faites glisser depuis votre dossier ce GIF dans notre boîte de traitement.',
|
|
44
|
-
},
|
|
45
|
-
{
|
|
46
|
-
name: 'Extraction propre de la première image',
|
|
47
|
-
text: 'En fractions de temps, l\'animation est extraite créant le JPG blanc solide sans contacter de serveurs.',
|
|
48
|
-
},
|
|
49
|
-
{
|
|
50
|
-
name: 'Téléchargez-les en lot ZIP',
|
|
51
|
-
text: 'Téléchargez via les boutons ou en utilisant le Zip si vous avez traité un grand nombre de fichiers.',
|
|
52
|
-
},
|
|
53
|
-
];
|
|
54
|
-
|
|
55
|
-
const seo: GifAJpgLocaleContent['seo'] = [
|
|
56
|
-
{
|
|
57
|
-
type: 'title',
|
|
58
|
-
text: 'Convertisseur GIF vers JPG: Extrayez des Fotogrammes en Images Haute Qualité',
|
|
59
|
-
level: 2,
|
|
60
|
-
},
|
|
61
|
-
{
|
|
62
|
-
type: 'paragraph',
|
|
63
|
-
html: 'Les GIF animés dominent les animations courtes sur le web depuis des décennies. Mais leur nature animée les rend totalement inutilisables comme miniatures, aperçus pour les réseaux sociaux ou images pour des documents. Lorsque vous avez besoin d\'extraire une image précise d\'un GIF et de la transformer en image statique haute qualité, la conversion en JPG est la solution la plus pratique et universellement compatible.',
|
|
64
|
-
},
|
|
65
|
-
{
|
|
66
|
-
type: 'title',
|
|
67
|
-
text: 'GIF vs JPG: deux formats aux objectifs opposés',
|
|
68
|
-
level: 3,
|
|
69
|
-
},
|
|
70
|
-
{
|
|
71
|
-
type: 'paragraph',
|
|
72
|
-
html: 'Le GIF (Graphics Interchange Format) a été conçu en 1987 avec une limitation sévère qui persiste encore aujourd\'hui: il ne peut représenter que 256 couleurs par image. Cette contrainte technique n\'avait pas d\'importance pour les animations simples à palettes réduites, mais elle en fait un format visuellement pauvre pour la photographie réelle. Le JPG, en revanche, peut restituer des millions de couleurs grâce à des algorithmes de compression perceptuelle avancés.',
|
|
73
|
-
},
|
|
74
|
-
{
|
|
75
|
-
type: 'paragraph',
|
|
76
|
-
html: 'Extraire une image d\'un GIF et la sauvegarder en JPG offre de nombreuses applications pratiques: générer des miniatures pour les lecteurs vidéo, créer des aperçus pour les systèmes de gestion de contenu, obtenir des images statiques pour des présentations, ou simplement archiver un moment visuel d\'une animation complexe. Le JPG résultant sera bien plus léger que le GIF original et universellement compatible.',
|
|
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: 'Outils qui envoient vos fichiers vers un serveur distant pour les traiter.',
|
|
89
|
-
icon: 'mdi:cloud-upload',
|
|
90
|
-
pointIcon: 'mdi:close-circle-outline',
|
|
91
|
-
points: [
|
|
92
|
-
'Vos GIF transitent sur internet vers des serveurs tiers',
|
|
93
|
-
'Latence réseau à l\'envoi et au téléchargement',
|
|
94
|
-
'Limites de taille et de fichiers par session',
|
|
95
|
-
'Risque de rétention de données sur des serveurs externes',
|
|
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
|
-
'Vitesse instantanée sans attente réseau',
|
|
106
|
-
'Aucune limite de taille ni de quota de fichiers',
|
|
107
|
-
'Confidentialité totale: 0 octet envoyé à l\'extérieur',
|
|
108
|
-
],
|
|
109
|
-
},
|
|
110
|
-
],
|
|
111
|
-
},
|
|
112
|
-
{
|
|
113
|
-
type: 'title',
|
|
114
|
-
text: 'Comment fonctionne l\'extraction technique d\'image',
|
|
115
|
-
level: 3,
|
|
116
|
-
},
|
|
117
|
-
{
|
|
118
|
-
type: 'paragraph',
|
|
119
|
-
html: 'La conversion locale s\'appuie sur l\'API Canvas HTML5. Lorsque vous chargez un GIF, le navigateur le décode en mémoire sous forme d\'élément Image natif. En le rendant sur un canvas invisible, le moteur graphique du navigateur capture automatiquement la première image de la séquence d\'animation.',
|
|
120
|
-
},
|
|
121
|
-
{
|
|
122
|
-
type: 'paragraph',
|
|
123
|
-
html: 'Comme le JPG ne supporte pas la transparence, notre algorithme applique un fond blanc solide avant l\'exportation. La méthode <code>toDataURL(\'image/jpeg\')</code> du canvas génère le flux d\'octets JPG directement dans la RAM de votre ordinateur, sans aucune connexion réseau. Le fichier résultant est immédiatement téléchargé sur votre appareil.',
|
|
124
|
-
},
|
|
125
|
-
{
|
|
126
|
-
type: 'tip',
|
|
127
|
-
title: 'Palette de couleurs limitée du GIF',
|
|
128
|
-
html: 'Le GIF ne peut contenir que 256 couleurs par image. Le JPG extrait héritera de cette palette réduite du fichier original: si le GIF contenait des dégradés ou des photographies, il peut apparaître avec une certaine postérisation. Pour de meilleurs résultats, utilisez des GIF avec des couleurs simples ou des illustrations.',
|
|
129
|
-
},
|
|
130
|
-
{
|
|
131
|
-
type: 'title',
|
|
132
|
-
text: 'Cas d\'usage et compatibilité du JPG résultant',
|
|
133
|
-
level: 3,
|
|
134
|
-
},
|
|
135
|
-
{
|
|
136
|
-
type: 'list',
|
|
137
|
-
icon: 'mdi:check-circle',
|
|
138
|
-
items: [
|
|
139
|
-
'Miniatures et aperçus pour plateformes vidéo et CMS.',
|
|
140
|
-
'Images de couverture pour publications sur les réseaux sociaux.',
|
|
141
|
-
'Insertion dans des documents Word, PowerPoint ou PDF.',
|
|
142
|
-
'Fichiers de présentation et supports marketing.',
|
|
143
|
-
'Compatibilité universelle avec les visionneuses sur Windows, macOS et mobile.',
|
|
144
|
-
],
|
|
145
|
-
},
|
|
146
|
-
{
|
|
147
|
-
type: 'title',
|
|
148
|
-
text: 'Conclusion: l\'image qui vaut plus que l\'animation',
|
|
149
|
-
level: 3,
|
|
150
|
-
},
|
|
151
|
-
{
|
|
152
|
-
type: 'paragraph',
|
|
153
|
-
html: 'Un GIF animé de 2 Mo peut produire un JPG de la première image de seulement 50 à 200 Ko selon la résolution. Notre outil effectue cette conversion instantanément, en toute confidentialité et sans limites, directement dans votre navigateur. Sans serveurs, sans comptes, sans attente.',
|
|
154
|
-
},
|
|
155
|
-
];
|
|
156
|
-
|
|
18
|
+
bibliographyTitle: 'Références Bibliographiques',
|
|
19
|
+
faqTitle: 'Questions Fréquentes',
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
const faq: GifAJpgLocaleContent['faq'] = [
|
|
23
|
+
{
|
|
24
|
+
question: 'Que se passe-t-il avec les animations lors de la conversion en JPG ?',
|
|
25
|
+
answer:
|
|
26
|
+
'Le JPG est strictement statique et ne supporte pas plusieurs images. Notre convertisseur extrait uniquement la première image ou trame apparaissant dans la séquence GIF.',
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
question: 'Vais-je perdre des effets spéciaux ou des fonds transparents ?',
|
|
30
|
+
answer:
|
|
31
|
+
'Oui, c\'est le comportement naturel du standard JPG. Si vous téléchargez un GIF avec fond transparent, nous insérons automatiquement une couche blanche sous-jacente solide pour éviter des couleurs corrompues.',
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
question: 'Puis-je extraire des photos JPG d\'un GIF sans que le site sauvegarde mon contenu ?',
|
|
35
|
+
answer:
|
|
36
|
+
'Absolument oui. L\'outil est une application web basée sur le Canvas HTML5. Tout le décodage est exécuté par le processeur de votre propre appareil physique.',
|
|
37
|
+
},
|
|
38
|
+
];
|
|
39
|
+
|
|
40
|
+
const howTo: GifAJpgLocaleContent['howTo'] = [
|
|
41
|
+
{
|
|
42
|
+
name: 'Faites glisser vos fichiers GIF animés',
|
|
43
|
+
text: 'Placez ou faites glisser depuis votre dossier ce GIF dans notre boîte de traitement.',
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
name: 'Extraction propre de la première image',
|
|
47
|
+
text: 'En fractions de temps, l\'animation est extraite créant le JPG blanc solide sans contacter de serveurs.',
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
name: 'Téléchargez-les en lot ZIP',
|
|
51
|
+
text: 'Téléchargez via les boutons ou en utilisant le Zip si vous avez traité un grand nombre de fichiers.',
|
|
52
|
+
},
|
|
53
|
+
];
|
|
54
|
+
|
|
55
|
+
const seo: GifAJpgLocaleContent['seo'] = [
|
|
56
|
+
{
|
|
57
|
+
type: 'title',
|
|
58
|
+
text: 'Convertisseur GIF vers JPG: Extrayez des Fotogrammes en Images Haute Qualité',
|
|
59
|
+
level: 2,
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
type: 'paragraph',
|
|
63
|
+
html: 'Les GIF animés dominent les animations courtes sur le web depuis des décennies. Mais leur nature animée les rend totalement inutilisables comme miniatures, aperçus pour les réseaux sociaux ou images pour des documents. Lorsque vous avez besoin d\'extraire une image précise d\'un GIF et de la transformer en image statique haute qualité, la conversion en JPG est la solution la plus pratique et universellement compatible.',
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
type: 'title',
|
|
67
|
+
text: 'GIF vs JPG: deux formats aux objectifs opposés',
|
|
68
|
+
level: 3,
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
type: 'paragraph',
|
|
72
|
+
html: 'Le GIF (Graphics Interchange Format) a été conçu en 1987 avec une limitation sévère qui persiste encore aujourd\'hui: il ne peut représenter que 256 couleurs par image. Cette contrainte technique n\'avait pas d\'importance pour les animations simples à palettes réduites, mais elle en fait un format visuellement pauvre pour la photographie réelle. Le JPG, en revanche, peut restituer des millions de couleurs grâce à des algorithmes de compression perceptuelle avancés.',
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
type: 'paragraph',
|
|
76
|
+
html: 'Extraire une image d\'un GIF et la sauvegarder en JPG offre de nombreuses applications pratiques: générer des miniatures pour les lecteurs vidéo, créer des aperçus pour les systèmes de gestion de contenu, obtenir des images statiques pour des présentations, ou simplement archiver un moment visuel d\'une animation complexe. Le JPG résultant sera bien plus léger que le GIF original et universellement compatible.',
|
|
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: 'Outils qui envoient vos fichiers vers un serveur distant pour les traiter.',
|
|
89
|
+
icon: 'mdi:cloud-upload',
|
|
90
|
+
pointIcon: 'mdi:close-circle-outline',
|
|
91
|
+
points: [
|
|
92
|
+
'Vos GIF transitent sur internet vers des serveurs tiers',
|
|
93
|
+
'Latence réseau à l\'envoi et au téléchargement',
|
|
94
|
+
'Limites de taille et de fichiers par session',
|
|
95
|
+
'Risque de rétention de données sur des serveurs externes',
|
|
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
|
+
'Vitesse instantanée sans attente réseau',
|
|
106
|
+
'Aucune limite de taille ni de quota de fichiers',
|
|
107
|
+
'Confidentialité totale: 0 octet envoyé à l\'extérieur',
|
|
108
|
+
],
|
|
109
|
+
},
|
|
110
|
+
],
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
type: 'title',
|
|
114
|
+
text: 'Comment fonctionne l\'extraction technique d\'image',
|
|
115
|
+
level: 3,
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
type: 'paragraph',
|
|
119
|
+
html: 'La conversion locale s\'appuie sur l\'API Canvas HTML5. Lorsque vous chargez un GIF, le navigateur le décode en mémoire sous forme d\'élément Image natif. En le rendant sur un canvas invisible, le moteur graphique du navigateur capture automatiquement la première image de la séquence d\'animation.',
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
type: 'paragraph',
|
|
123
|
+
html: 'Comme le JPG ne supporte pas la transparence, notre algorithme applique un fond blanc solide avant l\'exportation. La méthode <code>toDataURL(\'image/jpeg\')</code> du canvas génère le flux d\'octets JPG directement dans la RAM de votre ordinateur, sans aucune connexion réseau. Le fichier résultant est immédiatement téléchargé sur votre appareil.',
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
type: 'tip',
|
|
127
|
+
title: 'Palette de couleurs limitée du GIF',
|
|
128
|
+
html: 'Le GIF ne peut contenir que 256 couleurs par image. Le JPG extrait héritera de cette palette réduite du fichier original: si le GIF contenait des dégradés ou des photographies, il peut apparaître avec une certaine postérisation. Pour de meilleurs résultats, utilisez des GIF avec des couleurs simples ou des illustrations.',
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
type: 'title',
|
|
132
|
+
text: 'Cas d\'usage et compatibilité du JPG résultant',
|
|
133
|
+
level: 3,
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
type: 'list',
|
|
137
|
+
icon: 'mdi:check-circle',
|
|
138
|
+
items: [
|
|
139
|
+
'Miniatures et aperçus pour plateformes vidéo et CMS.',
|
|
140
|
+
'Images de couverture pour publications sur les réseaux sociaux.',
|
|
141
|
+
'Insertion dans des documents Word, PowerPoint ou PDF.',
|
|
142
|
+
'Fichiers de présentation et supports marketing.',
|
|
143
|
+
'Compatibilité universelle avec les visionneuses sur Windows, macOS et mobile.',
|
|
144
|
+
],
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
type: 'title',
|
|
148
|
+
text: 'Conclusion: l\'image qui vaut plus que l\'animation',
|
|
149
|
+
level: 3,
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
type: 'paragraph',
|
|
153
|
+
html: 'Un GIF animé de 2 Mo peut produire un JPG de la première image de seulement 50 à 200 Ko selon la résolution. Notre outil effectue cette conversion instantanément, en toute confidentialité et sans limites, directement dans votre navigateur. Sans serveurs, sans comptes, sans attente.',
|
|
154
|
+
},
|
|
155
|
+
];
|
|
157
156
|
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
}
|
|
157
|
+
|
|
158
|
+
export const content: GifAJpgLocaleContent = {
|
|
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
|
+
};
|