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/03/12 12:22]
mistic100
tools:php_o [2012/07/11 14:02] (Version actuelle)
gotcha
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 ======
Ligne 59: Ligne 80:
  
 ==== 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 98: Ligne 126:
  
 ==== Créer un plugin ==== ==== Créer un plugin ====
-<wrap em>En cours de rédaction</wrap> 
- 
 == Organisation des fichiers == == Organisation des fichiers ==
 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éciaux. Voici la liste des fichiers de bases, ils seront détaillés plus bas : 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éciaux. Voici la liste des fichiers de bases, ils seront détaillés plus bas :
Ligne 105: Ligne 131:
   * //config.xml// (requis) : contient la configuration par défaut du plugin, elle sera ajoutée au fichier de configuration principal à l'activation du plugin   * //config.xml// (requis) : contient la configuration par défaut du plugin, elle sera ajoutée au fichier de configuration principal à l'activation du plugin
   * //setup.php// (facultatif) : est inclus sur la page de configuration   * //setup.php// (facultatif) : est inclus sur la page de configuration
-  * //lang// (facultatif) : contient les fichiers spécifiques à votre plugin+  * //language// (facultatif) : contient les fichiers de langue spécifiques à votre plugin
  
 == Fichier de configuration == == Fichier de configuration ==
Ligne 126: Ligne 152:
 <file> <file>
 <plugin> <plugin>
- <name>Nom du plugin</name> + ...
- <mode>Mode de fonctionnement</mode>+
  <mon_param>  <mon_param>
  <sous_param>valeur</sous_param>  <sous_param>valeur</sous_param>
Ligne 135: Ligne 160:
 La valeur de //sous_param// sera accessible dans le plugin via la variable **$CONF['Plugins']['mon_plugin']['mon_param']['sous_param']**. La valeur de //sous_param// sera accessible dans le plugin via la variable **$CONF['Plugins']['mon_plugin']['mon_param']['sous_param']**.
  
 +== Fichier principal ==
 +Le fichier //main.php// constitue le cœur de votre plugin. 
 +  * Vous pouvez accéder à la configuration via la variable **$CONF**, en particulier la configuration de votre plugin via **$CONF['Plugins']['mon_plugin']**
 +  * 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 150: Ligne 228:
 ~~META: ~~META:
 mother = tools mother = tools
-&order = 30+&order = 60
 ~~ ~~
 
Haut de page
tools/php_o.1299932570.txt.gz · Dernière modification: 2011/03/12 12:22 par mistic100
 
 
github twitter newsletter Faire un don Piwigo.org © 2002-2022 · Contact