ldleman/Leed — pull request #84 by Sbgodin (2013-03-26 20:41:47+00:00)
Title: Import export

J'ai utilisé pendant plusieurs jours cette branche, sans soucis.
@ldleman voudrais-tu bien vérifier/approuver/fusionner ces modifications ? Vu l'impact sur l'affichage, il vaut mieux.

# Fonctionnalités apportées :

* Remontée des doublons à l'importation. Les flux déjà connus sont signalés et restent non modifiés.

* Retour d'erreur à la synchronisation des flux. L'écran de synchronisation affiche un message d'erreur pour chaque flux s'il y a eu un problème.

* La synchronisation peut se faire en ligne de commande. Si on a un accès shell, il n'est plus nécessaire de se dépêtrer avec les accès https, pare-feu, clé d'accès. Une ligne cron typique devient :
`php $PATH/leed/action.php > $PATH/leed/logs/cron.log 2>&1`
On pourrait peut-être prévoir une API dédié à la ligne de commande.

# Changements non fonctionnels :

* Audit du code de synchronisation. J'ai examiné/amendé tout le code lié à la synchronisation, rien de spécial à signaler.

* Bascule commencées des fonctions de chaîne en unicode. Les fonctions mb_* sont à utiliser, et le sont dans les sections que j'ai modifiée. À noter que la méthode truncate utilise les mb_*.

* Suppression de la méthode Functions::stripAccents() car elle ne devrait plus être utile vu le passage en unicode et n'est plus utilisée par le code de l'application.

* Remplacement des die() dans MysqlEntityClass par des exceptions. C'est requis pour gérer les retours d'erreurs pendant la synchronisation.

# Changements à surveiller :

* La méthode truncate ne convertit plus les entités. C'est cohérent selon le principe de moindre modification du texte. C'est gênant de tronquer une entité. Plus d'info dans le #83.