PHP OPTIMISATEUR v1.2
Programme original BATCH OPTIMISATEUR v5.0 par Julien ‘Gotcha’ Moreau

I.	Changelog

Version 1.2 :
•	Nouveau plugin : CreateCustomThumbs permet de créer des miniatures de taille fixe, et de mettre un cadre autour de celles-ci.
•	On peut maintenant désinstaller un plugin facilement
•	Ajout d’une option pour gérer le dossier de sortie non vide (effacer, continuer, bloquer)

Version 1.1 :
•	Configuration via formulaire
•	Installation semi-automatique des plugins
•	Gestion des langues (ajout de l’anglais)

II.	Présentation

PHP Optimisateur est une application personnelle, qui répond avant tout à mes besoins. Il peut parfaitement convenir à d'autres que moi.
PHP Optimisateur utilise le programme Nconvert pour compresser les fichiers et exécuter d’autres taches sur les images.

Les atouts sont… les mêmes que Batch Optimisateur !
•	Le fichier config.php contenant les variables, est aisément modifiable.
•	Aucune connaissance en programmation n'est requise.
•	Possibilité d’incruster un texte du genre © Votre_Copyright avec de nombreux paramètres.
•	Les images générées peuvent être personnalisées en taille et en qualité de compression.
•	Choix de l’emploi d’un répertoire pwg_high pour les images HD.
•	Choix sur le redimensionnement ou non des images HD.
•	Choix du préfixe pour le nom des vignettes.
•	Correction des noms de fichiers/dossiers (correction des caractères spéciaux).
•	Efface les méta-données pour les vignettes (gain de poids).
•	Conserve les méta-données pour toutes les autres vues.
•	Gestion des erreurs en cas de mauvais répertoires renseignés.
•	Gestion des erreurs en cas de mauvais paramétrage.
•	Ajout possible de fichiers index.php dans tous les répertoires pour éviter le listing.
•	Choix de la résolution (dpi) pour les images haute-définition.
•	La possibilité d’utiliser des plugins en début, fin de traitement et même pendant (4 plugins fournis par défaut).
•	Fonctionnement réduit à une seule intervention de la part de l’utilisateur.

Les plus par rapport à Batch Optimisateur :
•	Création de plugins plus aisée et plus complète, PHP oblige.
•	Copyright sur fond transparent, possibilité de choisir le couleur, la police, la taille et la position, de l’activer ou non sur les images HD et/ou normales.

III.	Installation

Pour utiliser PHP Optimisateur il vous faut un serveur Apache+PHP installé et lancé sur votre ordinateur (utilisation en ligne déconseillée à cause de la puissance nécessaire, et de plus non testée). Vous pouvez utiliser un pack tout-en-un tel que WAMP ou XAMPP.

Copiez ensuite le contenu du zip dans le dossier ‘www’, ‘htdocs’ ou assimilé du programme.

Pour lancer le script vous n’avez qu’à vous rendre à l’adresse suivante http://localhost et cliquer sur le dossier correspondant à PHP Optimisateur.

Pour configurer le programme cliquez simplement sur le lien correspondant sur la page principale du programme. 

Note : sur la page de configuration, les plugins suivis de la mention New ! ne sont pas encore installés, validez le formulaire pour les installer.

Finalement placez vos fichier dans le dossier source (par défaut ./in/) et lancez le script.

IV.	Les plugins

Il y a trois types de plugins différents :
•	PluginsBefore : ces plugins sont lancés avant la création des différentes images par le programme mais après le processus de renomage (si activé). Ils sont utilisés pour agir sur les fichiers avant traitement se trouvant dans le répertoire source.

•	PluginsProcess : ces plugins sont lancés pendant le processus de créations des images, plus précisément à chaque itération donc à chaque fichier. Il y a deux variables utilisables en plus de la configuration :
•	$matches[1] = contient le dossier de sortie du fichier en cours (./in/Album01 par exemple)
•		$matches[2] = contient le nom du fichier en cours (photo010.jpg par exemple)
De plus les plugins peuvent interrompre les trois processus habituels de créations des images en déclarant à true les variables $BlockNormal, $BlockThumbnail et $BlockHigh, permettant ainsi de faire un traitement personnalisé.

•	PluginsAfter : ces plugins sont lancés en toute fin d’opération, après la création des fichiers. Ils sont utilisés pour agir sur les fichiers dans le répertoire de sortie (ou d’entrée si vous voulez réorganiser et conserver les sources).

Un plugin doit être constitué d’au moins un fichier .php et un fichier .xml placés dans le dossier plugins. Le fichier .xml contient la configuration par défaut du plugin, qui sera ajoutée au fichier de configuration principal une fois activé.

Voici un exemple de fichier de configuration :
<create_folders_alpha>
	<mode>PluginsBefore</mode>
	<active>true</active>
</create_folders_alpha>

La node principale doit avoir pour nom le nom exact du fichier du plugin. Les enfants mode en active sont obligatoires pour spécifier le type de plugin et l’état initial. Vous pouvez aussi ajouter dans ce fichier d’autres enfants pour la configuration du plugin.
Exemple :
<front2back_support>
	<mode>PluginsProcess</mode>
	<active>true</active>
	<NAMEverso>_verso</NAMEverso>
	<MOVEverso>true</MOVEverso>
</front2back_support>

Pour supprimer un plugin il faut supprimer les fichiers correspondants du dossier plugins et re-valider la configuration du programme.

V.	Plugins fournis

PHP Optimisateur est fournis avec quelques plugins de mon cru :
•	CreateFoldersAlpha : Comme son nom de l’indique peut-être pas très bien ce plugin est chargé de créer une arborescence alphabétique dans le dossier source. Explication par l’exemple.
Si j’ai dans mon répertoire source ces trois fichiers :
•	John_56.jpg
•	raphy_12.jpg
•	Mistic_102_PhotoKontest.jpg
J’aurais dans le répertoire de sortie :
•	J/John/John_56.jpg
•	R/raphy/raphy_12.jpg
•	M/Mistic/Mistic_102_PhotoKontest.jpg

Le caractère ‘_’ est utilisé comme délimiteur ; ne fonctionne qu’avec les fichiers directement dans le répertoire source (par d’arborescence préexistante).

•	Watermark : Ce plugin est une évolution de la fonction copyright de base, il permet de remplacer le texte par une image de votre choix.
•	waterFILE = nom de votre image (à placer dans le répertoire d’installation du programme)
•	waterALPHA = opacité de l’image
•	Le plugin utilise aussi les paramètres copyONhd, copyONnormal et copyPOS

•	ConvertPan : Ce plugin permet de préparer les panoramas différemment des images normales. Ne touche pas à la version HD
•	Réglage de la hauteur de l’image normale (DIMpanorama) pour une utilisation confortable de plugins Piwigo tels que paMOOramics
•	Recadrage de la miniature (RatioPanThumb) pour de ne pas avoir de miniatures minuscules sur la galerie.
•	Détection des panoramas grâce à un suffixe dans les noms de fichiers (NAMEpanorama)

•	Front2Back Support : Ce plugin est destiné aux utilisateurs du plugin Piwigo Front2Back qui permet d’avoir des versions alternatives pour les images.
•	Détection des images alternatives par suffixe (NAMEverso)
•	Déplacement de l’image taille normale dans le dossier ‘thumbnail/verso’ et suppression du suffixe
•	Déplacement de l’image HD dans le dossier ‘pwg_high/verso’ et suppression du suffixe
•	Pas de miniature
•	Déplacement du fichier original dans un dossier ‘verso’ (sur paramètre MOVEverso)

•	CreateCustomThumbs : Ce plugin effectue quelques traitements sur les miniatures 
•	Le  paramètre de hauteur DIMthumbnailV permet de créer des miniatures de taille fixe (le mettre à 0 pour désactiver la fonction)
•	Le paramètre FRAMEparams définit les deux composantes de la bordure sous la forme couleur 1:taille1;couleur2 :taille2; (les couleurs doivent être sous forme hexadécimale, mettre à 0 le paramètre pour désactiver la fonction)
•	Ce plugin a l’ascendant sur ConvertPan pour les miniatures

VI.	Remerciements

Batch Optimisateur Julien ‘Gotcha’ Moreau
Nconvert Gougelet Pierre-Emmanuel

© CREATIVE COMMONS 3.0 2010 - Damien ‘Mistic’ Sorel.