Il y a 389 articles et 19 utilisateurs inscrits (ce bandeau est défini dans MediaWiki:Sitenotice)
Migration des scripts de pré-traitement (eole2 → eole3)
Aller à la navigation
Aller à la recherche
Migration des scripts de pré-traitement (eole2 → eole3)
[modifier | modifier le wikicode]Objectif
[modifier | modifier le wikicode]Adapter les scripts historiques pour fonctionner sur :
- Ubuntu 24
- Python 3
- Java 17
- stockage ZFS
---
1. Installation des dépendances
[modifier | modifier le wikicode]apt update
apt install -y openjdk-17-jdk-headless python3 imagemagick libvips-tools 2to3
---
2. Migration Python
[modifier | modifier le wikicode]Sauvegarde
[modifier | modifier le wikicode]cp pretraitement_images_plus.py pretraitement_images_plus.py.py2
cp pretraitement_images.py pretraitement_images.py.py2
Conversion
[modifier | modifier le wikicode]2to3 -w pretraitement_images_plus.py
2to3 -w pretraitement_images.py
Validation
[modifier | modifier le wikicode]python3 -m py_compile pretraitement_images_plus.py
python3 -m py_compile pretraitement_images.py
---
3. Mise en place des wrappers
[modifier | modifier le wikicode]Wrapper Java
[modifier | modifier le wikicode]/home/ajlsm/bin/java-pretraitement
Contenu :
#!/usr/bin/env bash
exec /usr/bin/java "$@"
---
Wrapper Python
[modifier | modifier le wikicode]/home/ajlsm/bin/python
Contenu :
#!/usr/bin/env bash
exec /usr/bin/python3 "$@"
---
4. Configuration PATH
[modifier | modifier le wikicode]sudo ln -s /usr/bin/python3 /usr/bin/python
export PATH=/home/ajlsm/bin:/usr/local/bin:/usr/bin:/bin
Cron :
SHELL=/bin/bash
PATH=/home/ajlsm/bin:/usr/local/bin:/usr/bin:/bin
---
5. Migration des chemins (ZFS)
[modifier | modifier le wikicode]Changement majeur
[modifier | modifier le wikicode]Avant (eole2) :
/var/data/<client>-data/pleade/images
Après (eole3) :
/var/data/<client>-data/data/pleade/images
---
6. Tests de fonctionnement
[modifier | modifier le wikicode]Vérification des binaires
[modifier | modifier le wikicode]which java
which python
which convert
which identify
which vips
---
Test Python
[modifier | modifier le wikicode]python pretraitement_images_plus.py --help
---
Test Java
[modifier | modifier le wikicode]java-pretraitement -jar ImagePretraitement.jar
---
7. Exécution complète
[modifier | modifier le wikicode]java-pretraitement -jar ImagePretraitement.jar \
pretraitement_images_plus.py \
'<SOURCE>' \
<DESTINATION> \
'hidef' \
true \
true \
<LOGFILE> \
10
---
8. Validation
[modifier | modifier le wikicode]- Code retour : 0
- Logs générés
- Images produites
---
9. Problèmes connus
[modifier | modifier le wikicode]Images illisibles
[modifier | modifier le wikicode]Erreur :
identify: unable to open image
Cause :
- fichier absent
- mauvais format
- extension incorrecte
---
Faux JPEG
[modifier | modifier le wikicode]Erreur :
Not a JPEG file: starts with 0xd0 0xcf
Cause :
- fichier non image (souvent PDF ou DOC renommé)
---
10. Points d’attention
[modifier | modifier le wikicode]- Ne pas installer :
apt install python-is-python3
- Ne pas utiliser Java 7
- Conserver les scripts Python 2 originaux
---
Conclusion
[modifier | modifier le wikicode]La chaîne complète fonctionne désormais sur eole3 :
- Java 17 ✔
- Python 3 ✔
- ImageMagick ✔
- VIPS ✔
- ZFS ✔