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
.vics'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
.vicdans 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.txtuvicorn main:app --host 0.0.0.0 --port 8000L'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écifieztruepour 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
.vicvia 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
.vicpour 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
.vicdoivent être placés dans le répertoirestaticpour ê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