Tendances mensuelles

`

Annonces

Accueil  Conception | Python  Migration automatisée d'un site Web (HTML, PHP, CSS, JS...)...

Conception | Python Conception | Python

Migration automatisée d'un site Web (HTML, PHP, CSS, JS...) de l'encodage ISO-8859-1 vers l'Unicode UTF-8 avec Python 3

Publié le 22/09/2016 Un site Web en entier (fichiers html, php, css, javascript...) à migrer de l'encodage Latin 1 / ISO-8859-1 vers l'Unicode UTF-8 car au fil de l'évolution des technologies (PHP 5.4 et versions supérieures, services de partage AddThis...), des incompatibilités surgissent.

Mais comment automatiser celle-ci quand plus de 500 fichiers sont concernés ?

Le langage Python et son package io sont capables en quelques lignes d'automatiser la migration d'un site en entier vers UTF-8, programme python qui est proposé dans cet article. Le package chardet de Python est bien capable de détecter les encodages de fichiers toutefois il est plus fiable d'utiliser la commande file et de donner ses résultats au programme Python en charge de la migration. Dans un environnement Windows de développement, aucun souci pour utiliser la commande file, la plateforme légère MinGW (Minimalist GNU for Windows) propose tous les utilitaires indispensables dont l'utilitaire file.

Après la migration des fichiers, quelques opérations post migration sont nécessaires, comme le remplacement dans les balises meta des pages HTML de l'encodage ISO-8859-1 par UTF-8, ce qui peut être également automatisé par un script shell sous MingW. La modification de l'encodage vers UTF-8 doit éventuellement être réalisée au niveau global pour PHP et les connexions aux bases de données (MySQL dans ce cas pratique).

Migration automatisée d'un site Web (HTML, PHP, CSS, JS...) de l'encodage ISO-8859-1 vers l'Unicode UTF-8 avec Python 3

© 2010, SQLPAC - v 3.1. © Adaptive Framework for PHP version 3.6.0