Cette application est un service FastAPI conçu pour convertir des images PNG, en particulier des captures d'écran pleine page, en un format personnalisé .vic
. Ce format offre des avantages uniques en termes de redimensionnement adaptatif et d'intégration dans des iframes avec un défilement vertical fluide.
Les fichiers .vic
sont conçus pour résoudre des problèmes courants rencontrés avec les captures d'écran pleine page :
- Les captures d'écran longues sont redimensionnées pour s'adapter aux tailles d'écran standards.
- Les images deviennent illisibles sans zoom car elles rétrécissent excessivement.
- Redimensionnement Adaptatif :
- Les images
.vic
s'adaptent automatiquement à la largeur des écrans ou des iframes, que ce soit sur mobile, tablette ou ordinateur.
- Les images
- Défilement Intégré :
- Un défilement vertical (scroll) est ajouté pour afficher l'ensemble de la capture d'écran, quelle que soit sa hauteur.
- Dimensions Flexibles :
- Les dimensions peuvent être contrôlées via une iframe.
-
Conversion PNG → VIC
- Convertit des images PNG, en particulier des captures d'écran, au format
.vic
. - Redimensionne automatiquement les images pour s'adapter aux écrans ou aux iframes.
- Convertit des images PNG, en particulier des captures d'écran, au format
-
Extraction de Métadonnées
- Extrait des détails tels que les dimensions originales, le type de fichier (capture d'écran ou image classique), et d'autres informations.
-
Prévisualisation des Fichiers VIC
- Diffuse le PNG intégré dans les fichiers
.vic
.
- Diffuse le PNG intégré dans les fichiers
-
Génération d'Iframes
- Génère une iframe pour intégrer facilement les fichiers
.vic
dans des pages web.
- Génère une iframe pour intégrer facilement les fichiers
-
Conversion à partir d'une URL Publique
- Télécharge une image depuis son URL (par exemple, une image Google) et la convertit en
.vic
.
- Télécharge une image depuis son URL (par exemple, une image Google) et la convertit en
git clone <repository-url>
cd <repository-directory>
Assurez-vous que Python 3.8+ est installé, puis exécutez :
pip install -r requirements.txt
uvicorn main:app --host 0.0.0.0 --port 8000
L'application sera accessible à l'adresse : http://<votre-ip>:8000
Accédez au point de terminaison /convert
en utilisant un outil comme Postman ou l'interface Swagger UI disponible à http://<votre-ip>:8000/docs
.
- Paramètres :
file
: Une image PNG.for_iframe
(optionnel) : Spécifieztrue
pour optimiser le fichier pour une iframe.
L'API renverra un fichier .vic
prêt à être téléchargé.
Accédez à /metadata
pour extraire les métadonnées d'un fichier .vic
.
- Étapes :
- Téléchargez un fichier
.vic
via POST. - Recevez les métadonnées telles que :
- Dimensions originales et ajustées.
- Type de fichier (image classique ou capture d'écran).
- Ratio d'aspect.
- Format de l'image.
- Téléchargez un fichier
Accédez à /preview
pour afficher l'image intégrée dans un fichier .vic
.
- Étapes :
- Téléchargez un fichier
.vic
pour recevoir l'image PNG intégrée.
- Téléchargez un fichier
Accédez à /generate-iframe
et fournissez l'URL publique d'un fichier .vic
pour générer une iframe HTML.
- Exemple de Requête :
http://<votre-ip>:8000/generate-iframe?file_url=http://<votre-ip>:8000/static/sample.vic
- Exemple de Réponse :
<iframe src="http://<votre-ip>:8000/static/vic-viewer.html?file=http://<votre-ip>:8000/static/sample.vic" width="560" height="315" frameborder="0" allowfullscreen></iframe>
Accédez à /fetch-vic
et fournissez l'URL d'une image publique (par exemple, une image Google).
- Exemple de Requête :
http://<votre-ip>:8000/fetch-vic?file_url=<image-url>
- L'image sera téléchargée et convertie en
.vic
.
Une interface riche pour afficher les fichiers .vic
et leurs métadonnées.
- Accessible à :
http://<votre-ip>:8000/static/visionneuse.html
Une interface minimaliste conçue pour les iframes.
- Accessible à :
http://<votre-ip>:8000/static/vic-viewer.html?file=<file-url>
Pour intégrer une image .vic
dans un site web :
<iframe
src="http://<votre-ip>:8000/static/vic-viewer.html?file=http://<votre-ip>:8000/static/sample.vic"
width="560"
height="315"
frameborder="0"
allowfullscreen>
</iframe>
- Les fichiers
.vic
doivent être placés dans le répertoirestatic
pour être correctement servis.
- Si vous intégrez l'iframe sur un autre site, configurez les en-têtes CORS en conséquence.
FastAPI/
├── __pycache__/ # Cache Python pour le projet
├── static/ # Fichiers statiques pour le projet
│ ├── index.html # Page d'accueil HTML
│ ├── output.vic # Exemple de fichier .vic
│ └── vic-viewer.html # Visionneuse HTML pour les fichiers .vic
├── .env # Fichier de configuration d'environnement
├── .gitignore # Exclusions Git
├── compare_sizes.py # Script pour comparer les tailles des fichiers
├── convert_to_my_format.py # Script CLI pour convertir les fichiers en .vic
├── linode.vic.tar.gz # Exemple de fichier .vic compressé
├── main.py # Application principale pour FastAPI ou FastAPI
├── output.vic.tar.gz # Fichier .vic compressé généré
├── Procfile # Spécifications de déploiement FastAPI
├── read_my_format.py # Script pour lire et valider les fichiers .vic
├── README.fr.md # Documentation en français
├── README.md # Documentation en anglais
├── requirements.txt # Dépendances Python
├── runtime.txt # Version de Python pour FastAPI
├── test1.vic # Fichier .vic de test
├── test1.vic.tar.gz # Version compressée du fichier de test
└── visionneuse.html # Visionneuse riche pour afficher les fichiers .vic