Différences

Cette page vous donne les différences entre la révision choisie et la version actuelle de la page.

Lien vers cette vue

tools:php_o [2011/02/18 16:42]
mistic100
tools:php_o [2012/07/11 14:02] (Version actuelle)
gotcha
Ligne 33: Ligne 33:
  
 ==== Pré-requis ==== ==== Pré-requis ====
-  * Avoir au moins lu la page [[pwg21:apprendre:outils:apprendre:facile:photos_web]].+  * Avoir au moins lu la page [[pwg21:apprendre:facile:photos_web]].
   * Savoir envoyer ses photos via FTP.   * Savoir envoyer ses photos via FTP.
-  * Comprendre le mécanisme de [[pwg21:apprendre:outils:apprendre:facile:preparer_synchroniser]].+  * Comprendre le mécanisme de [[pwg21:apprendre:facile:preparation]].
  
 ==== Installation ==== ==== Installation ====
Ligne 42: Ligne 42:
 Pour installer PO copiez simplement le contenu dans ou sous-dossier du dossier //www//, //htdocs// ou assimilé de votre serveur local. Pour installer PO copiez simplement le contenu dans ou sous-dossier du dossier //www//, //htdocs// ou assimilé de votre serveur local.
 Rendez-vous ensuite à l'adresse [[http://localhost|localhost/nom_du_sousdossier]] (après avoir lancé le serveur local) puis passez à la configuration. Rendez-vous ensuite à l'adresse [[http://localhost|localhost/nom_du_sousdossier]] (après avoir lancé le serveur local) puis passez à la configuration.
 +
 +**Utilisateurs de systèmes Unix:**
 +Il faut installer le [[http://www.xnview.com/fr/download_nc.html|package qui vous convient]] et remplacer la ligne 273 du fichier //include/functions.php// de PO par :
 +<file>exec('nconvert '. $param .' 2>&1', $out);</file>
 +
 +**Utilisateurs de MacOS:**
 +Il faut télécharger la [[http://www.xnview.com/fr/download_nc.html|version pour MacOS]], à placer dans le dossier //include// et remplacer la ligne 273 du fichier //include/functions.php// de PO par :
 +<file>exec('include/' . './nconvert '. $param .' 2>&1', $out);</file>
 +(merci à ngoc).
  
 ==== Configuration ==== ==== Configuration ====
Ligne 49: Ligne 58:
  
 Ce formulaire est clair je ne pense qu'il soit nécessaire de détailler, mais n'hésitez pas à poser vos question sur le forum. Ce formulaire est clair je ne pense qu'il soit nécessaire de détailler, mais n'hésitez pas à poser vos question sur le forum.
 +
 +==== Utilisation ====
 +Pour utiliser PO il vous suffit de placer vos fichiers et/ou dossiers dans le dossier de sortie que vous avez indiqué dans la configuration, et de cliquer sur **Exécuter** sur la page principale, les fichiers traités seront bien sur dans le dossier de sortie.
 +
 +__Note :__ Les dossiers de travail peuvent sans problème se trouver ailleurs que dans le dossier de PO, et même sur un autre disque, veillez simplement à entrer dans références absolues dans la configuration.
 +
 +==== Performances ====
 +PO est globalement aussi rapide que Batch Optimisateur, tout deux fonctionnant avec NConvert, qui prend en charge la majeur partie du processus.
 +
 +Par exemple sur un Intel Core 2 Quad Q9650 (3GHZ) avec 4Go de mémoire vive et sous WAMP je traite une trentaine d'images en moins d'une minute.
 +Et 4847 fichiers en exactement 5903 secondes (1h38) ^_^
 +
  
 ====== Plugins ====== ====== Plugins ======
-PHP Optimisateur permet d'ajouter des plugins pour étendre ses fonctionnalités, chaque plugins peut se lancer avant traitement des images (mais après renommage si la fonction est activée, pendant le traitement (le plugin est appelé à chaque image) ou à la fin du traitement.+PHP Optimisateur permet d'ajouter des plugins pour étendre ses fonctionnalités, chaque plugins peut se lancer avant traitement des images (mais après renommage si la fonction est activée), pendant le traitement (le plugin est appelé à chaque image) ou à la fin du traitement.
  
 ==== Configuration ==== ==== Configuration ====
Ligne 57: Ligne 78:
   * Les plugins marqués **//Nouveau !//** ne sont pas encore installés, il faut valider la configuration pour ce faire.   * Les plugins marqués **//Nouveau !//** ne sont pas encore installés, il faut valider la configuration pour ce faire.
   * Les plugins marqués **//Manquant !//** sont installés mais inexistants, ils seront supprimés si vous validez la configuration en laissant cochée la case de suppression.   * Les plugins marqués **//Manquant !//** sont installés mais inexistants, ils seront supprimés si vous validez la configuration en laissant cochée la case de suppression.
- 
-==== Créer un plugin ==== 
-<wrap em>Section à compléter !</wrap> 
  
 ==== Les plugins pré-installés ==== ==== Les plugins pré-installés ====
-PHP Optimisateur est fourni avec plugins :+PHP Optimisateur est fourni avec plugins : 
 + 
 +== Charlies' Content == 
 +Ceci est pour ceux qui mettent autre chose que des images sur leur site. 
 +Le plugin utilise FFmpeg pour générer une miniature pour un certains nombre de formats vidéos. Les autres types de fichiers sont simplement copiés, à vous de gérer les mmimetypes dans votre thème. 
 + 
 +<wrap alert>A cause du poids du fichier, ffmpeg.exe n'est pas fournit avec PO. Veuillez le télécharger sur le [[http://www.ffmpeg.org/download.html|site officiel]] et le déposer dans le dossier **include** de PO.</wrap> 
  
 == CreateFoldersAlpha === == CreateFoldersAlpha ===
Ligne 100: Ligne 125:
  
  
-====== Changelog ====== +==== Créer un plugin ==== 
-=== Version 1.3.a === +== Organisation des fichiers == 
-Une version développée en urgence après avoir remarqué de gros problèmes d'appel de nconvert.exe (dossier incorrect). +Chaque plugin se présente sous la forme d'un sous dossier dans le dossier //plugins//, le nom de ce sous-dossier est utilisé comme identifiant du plugin, donc évitez les caractères spéciauxVoici la liste des fichiers de bases, ils seront détaillés plus bas : 
-  * change la gestion des langues (fonctionne maintenant comme piwigo+  * //main.php// (requis: c'est le fichier principal du plugin, qui est inclus dans le processus principal, il peut bien sur appeler d'autres fichiers 
-  * corrige le fichier anglais +  * //config.xml// (requis) : contient la configuration par défaut du plugin, elle sera ajoutée au fichier de configuration principal à l'activation du plugin 
-  * ajoute le Letton (merci à Aivars Baldone+  * //setup.php// (facultatif: est inclus sur la page de configuration 
-  * corrige plusieurs problèmes de dossiers +  * //language// (facultatif) : contient les fichiers de langue spécifiques à votre plugin 
-  * débogue des plugins + 
-  * ajoute la détection par ratio pour ConvertPan+== Fichier de configuration == 
 +Voici l'architecture basique du fichier de configuration. Les paramètre //name// et //mode// sont obligatoires. 
 +<file> 
 +<plugin> 
 + <name>Nom du plugin</name> 
 + <mode>Mode de fonctionnement</mode> 
 +</plugin> 
 +</file> 
 + 
 +Le mode définit à quel endroit du processus est inclut le fichier //main.php// du plugin, les modes sont au nombre de quatre : 
 +  * **Before** : le plugin sera inclut une seule fois au début du traitement, juste après le renommage des fichiers sources (si activé
 +  * **Process** : le plugin sera inclut à chaque image traitée 
 +  * **ProcessHigh** : identique à //Process//, mais réservé au traitements qui doivent impérativement se dérouler avant les autres plugins potentiels, utiliser de préférence le mode //Process// 
 +  * **After** : le plugin sera inclut à la toute fin du processus, juste avant l'affichage des résultats.
  
-=== Version 1.3 === 
-  * Correction de bugs 
-  * La plupart des types de fichiers sont supportés (testé avec jpg, png et gif) 
-  * Réécriture de la gestion des plugins 
-  * Nouvelle apparence 
-  * Problèmes connus : pas de version HD créée pour les gif, le raccourci peut être détecté comme un malware 
  
-=== Version 1.2 === +//Note :// Vous pouvez ajouter autant de paramètres que vous le voulez
-  * Nouveau plugin : CreateCustomThumbs permet de créer des miniatures de taille fixe, et de mettre un cadre autour de celles-ci +<file> 
-  * On peut maintenant désinstaller un plugin facilement +<plugin> 
-  * Ajout d’une option pour gérer le dossier de sortie non vide (effacer, continuer, bloquer)+ ... 
 + <mon_param> 
 + <sous_param>valeur</sous_param> 
 + </mon_param> 
 +</plugin> 
 +</file> 
 +La valeur de //sous_param// sera accessible dans le plugin via la variable **$CONF['Plugins']['mon_plugin']['mon_param']['sous_param']**.
  
-=== Version 1.1 === +== Fichier principal == 
-  * Configuration via formulaire +Le fichier //main.php// constitue le cœur de votre plugin.  
-  * Installation semi-automatique des plugins +  * Vous pouvez accéder à la configuration via la variable **$CONF**, en particulier la configuration de votre plugin via **$CONF['Plugins']['mon_plugin']** 
-  * Gestion des langues (ajout de l’anglais)+  * Si vous êtes en mode //Process// ou //ProcessHigh// plusieurs autres variables sont disponibles : 
 +    * **$FilesSource[$i]** contient la le chemin complet vers le fichier __source__ en cours de traitement 
 +    * **$file['folder_src']** contient le dossier __source__ du fichier en cours 
 +    * **$file['folder_out']** contient le dossier __de sortie__ du fichier en cours 
 +    * **$file['name']** contient le nom du fichier en cours sans extension 
 +    * **$file['ext']** contient l'extension du fichier en cours 
 +    * **$FileInfos** contient des informations sur le fichier en cours (Width, Height, entre autres) 
 +  * Toujours en mode //Process// vous pouvez bloquer la génération des images (par exemple si votre le plugin le fait d'une autre manière), pour cela vous devez assigner les variables **$BlockNormal**, **$BlockThumbnail** ou **$BlockHigh** 
 +  * Enfin le programme //nConvert// est disponibles dans le dossier //include// ainsi que sa documentation. Appellez la fonction **nconvert**(string $parametre) pour l'utiliser.
  
 +== Fichier setup.php ==
 +La page de configuration de PO tente d'inclure ce fichier pour chaque plugin, il permet d'ajouter des champs aux formulaire de configuration.
  
 +La structure de base est la suivante :
 +<file>
 +switch ($PLUGIN_ACTION) {
 + // Affichage simple de la configuration
 + case 'read_config':
 + /* ... */
 + break;
 +
 + // Actions avant enregistrement
 + case 'save_config':
 + /* ... */
 + break;
 +
 + // Formulaire d'édition
 + case 'edit_config':
 + /* ... */
 + break;
 +}
 +</file>
  
 +La variable **$PLUGIN_ACTION** correspond à l'endroit ou est inclut le fichier, sur la page principale, pendant l'enregistrement de la configuration ou sur la formulaire. Consultez les plugins existants pour voir comment l'utiliser.
  
 +== Langues ==
 +Votre plugin peut avoir besoin d'afficher du texte, en particulier sur la page de configuration, pour pouvoir afficher les textes en plusieurs langues utilisez le dossier //lang// dans le dossier de votre plugin.
 +Il doit contenir des fichier php nommé ainsi : //[identifiants de la langue].php//. Regardez dans le dossier principal des langues pour connaitre les identifiants de langue.
 +Chaque chaine de texte doit être inscrite dans la variable tabulaire **$Lang** avec un identifiant unique. 
  
 +Exemple :
 +<file>
 +<?php
 +$Lang['tag_size.legend'] = "Write '0' to unactive features";
 +$Lang['tag_size.formats'] = "Formats";
 +$Lang['tag_size.sizes'] = "Resolutions";
 +?>
 +</file>
  
 +Enfin pour utiliser vos textes vous devez commencer par charger le fichier de langue avec la fonction //load_plugin_lang('mon_plugin');//, puis afficher le texte avec //l10n('mon_identifiant_de_texte')//
 ====== Pour aller plus loin... ====== ====== Pour aller plus loin... ======
  
Ligne 147: Ligne 228:
 ~~META: ~~META:
 mother = tools mother = tools
-&order = 30+&order = 60
 ~~ ~~
 
Haut de page
tools/php_o.txt · Dernière modification: 2012/07/11 14:02 par gotcha
 
 
github twitter newsletter Faire un don Piwigo.org © 2002-2022 · Contact