Archive

Articles taggués ‘Développement’

WPtouch en français – mise à jour 1.9.9.3

La traduction pour la version de WPtouch 1.9.9.3 est disponible en téléchargeant le fichier de traduction.

Catégories:Wordpress Etiquettes:

WPML 1.7.1

La mise à jour de WPML 1.7.1 est en ligne … et corrige enfin la gestion de la fonction bloginfo(‘home’) : du coup mon article indiquant comment « patcher » WPML et modifier son thème pour gérer le multi-linguisme au niveau du moteur de recherche devient obsolète ! Plus besoin de modifier quoi que ce soit, tout fonctionne du premier coup.

Catégories:Wordpress Etiquettes:

Mise à jour de WPtouch 1.9.8.3

La version 1.9.8.3 de WPtouch vient de sortir… mais il ne s’agit que de corrections de bugs : aucune nouvelle chaine de caractères dans cette version. Vous pouvez donc utiliser le fichier de traduction de la version 1.9.8.1 sans aucune modification.

Catégories:Wordpress Etiquettes:

WPtouch en français – Mise à jour 1.9.8.1

La traduction pour la version de WPtouch 1.9.8.1 est disponible en téléchargeant le fichier de traduction.

Il reste quelques phrases qui ne sont pas prévues pour être gérées en multi-lingue… par exemple le « Search… » qui apparaît si vous cliquez sur le bouton « Rechercher » dans WPtouch. Pour corriger cela, il suffit de modifier le fichier wp-content/plugins/wptouch/themes/default/header.php pour remplacer la ligne

<input type="text" value="Search..."
onfocus="if (this.value == "Search...")
{this.value = ''}" name="s" id="s" />

par

<input type="text" value="<?php _e('Search...', "wptouch"); ?>"
onfocus="if (this.value == "<?php _e('Search...', "wptouch"); ?>")
{this.value = ''}" name="s" id="s" />

Si vous voyez d’autres endroits qui ne sont pas traduits, merci de m’en faire part !

De plus, si vous gérer plusieurs langues sur votre site, je vous suggère de modifier le fichier wp-content/plugins/wptouch/themes/core/core-functions.php pour remplacer la requête SQL ci-dessous dans la fonction bnc_get_ordered_cat_list() :

$sql = "select * from " . $table_prefix .
          "term_taxonomy inner join " . $table_prefix .
          "terms on " . $table_prefix .
          "term_taxonomy.term_id = " . $table_prefix .
          "terms.term_id where taxonomy =
          'category' order by count desc";

par

$sql = "SELECT " . $table_prefix . "terms.term_id, count,
           CASE WHEN INSTR( name, '@' ) >0 THEN
           TRIM( LEFT( name, INSTR( name, '@' ) -1 ) ) ELSE
           TRIM( name ) END AS name FROM " . $table_prefix .
           "icl_translations INNER JOIN " . $table_prefix .
           "term_taxonomy ON " . $table_prefix .
           "term_taxonomy.term_taxonomy_id = " . $table_prefix .
           "icl_translations.element_id INNER JOIN " .
           $table_prefix . "terms ON " . $table_prefix .
           "term_taxonomy.term_id = " . $table_prefix .
           "terms.term_id WHERE element_type = 'category'
           AND taxonomy = 'category' AND
           language_code = '" . get_bloginfo('short_language') .
           "' ORDER BY count DESC";

Ainsi le menu WPtouch « Catégorie » affichera uniquement le catégorie de la langue en cours…

Catégories:Wordpress Etiquettes:

WPtouch en français : admin

A la demande générale… voici la suite de la traduction de ce plugin : les pages d’administrations du plugin.

Vous pouvez télécharger un fichier de langue globale qui contient la traduction du frontoffice et du backoffice dans un fichier unique.

Pour l’intégration dans WPtouch il suffit d’ajouter dans le fichier wptouch.php sous la ligne
define( 'WPTOUCH_PROWL_APPNAME', 'WPtouch');

/** l10n */
function wptouch_plugin_localization(){
  load_plugin_textdomain('wptouch', false, 'wptouch/locale');
}
add_action ('init', 'wptouch_plugin_localization');

Rappel : ces fichiers sont prévus pour la version 1.9.9.8 de WPtouch.

Edit : cette page est maintenant obsolète : il suffit maintenant de suivre les instructions de la page principale WPtouch de mon site.

Catégories:Wordpress Etiquettes:

Chromium se fait passer pour iPhone Safari

Pour tester une WebApp iPhone sous Linux on ne dispose malheureusement pas de Safari…
On peut installer la version pour Windows avec Wine, ou plus simplement utiliser Safari dans une machine virtuelle sous Windows avec VMWare Server ou VirtualBox…
On peut aussi utiliser un navigateur natif pour linux qui utilise tout comme Safari le moteur Webkit : Epiphany ou Chromium. Reste plus qu’à changer le user-agent pour faire croire qu’on utilise réellement Safari sur un iPhone. Et là on trouve les solutions les plus folkloriques en cherchant sur Google (certains proposent de modifier le binaire Chromium avec un éditeur hexadécimal… une bombe H pour écraser une mouche) alors qu’il suffit juste de lancer chromium avec le parametre –user-agent comme ceci :

chromium-browser --user-agent="Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_1_2 like Mac OS X; fr-fr) AppleWebKit/528.18 (KHTML, like Gecko) Version/4.0 Mobile/7D11 Safari/528.16"

Catégories:iPhone Etiquettes:

WPtouch en français – Mise à jour 1.9.5

La traduction pour la version de WPtouch 1.9.5 est disponible en téléchargeant le fichier de traduction.

Catégories:Wordpress Etiquettes:,

Sécuriser votre blog sous WordPress

Un petit truc pour sécuriser vos sites sous WordPress (utilisable avec d’autres CMS d’ailleurs) : il suffit d’ajouter un fichier .htaccess dans votre dossier admin : pour WordPress c’est donc dans wp-admin

Exemple .htaccess

AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName "Access Control"
AuthType Basic
<LIMIT GET>
order deny,allow
deny from all
# whitelist home IP address
allow from mon.ip.per.so
# whitelist work IP address
allow from mon.ip.au.travail
</LIMIT>

Et bien sûr vous modifiez ce fichier pour mettre vos propres adresses IP…

Catégories:Wordpress Etiquettes:,

Créer un paquet debian .deb à partir des sources

Il arrive parfois qu’on veuille créer son propre paquet .deb à partir du dépot des sources (par exemple quand on souhaite utiliser une version très récente et pour laquelle la version binaire installable n’existe pas encore…)

C’est très simple si on fait tout dans l’ordre :-)

  1. Télécharger les fichiers sources de votre programme (pour notre exemple il s’agira de drupal6 même s’il existe bien un paquet binaire installable…)
    1. drupal6_6.14-1.orig.tar.gz
    2. drupal6_6.14-1.diff.gz
    3. drupal6_6.14-1.dsc
  2. Décompresser le drupal6_6.14.orig.tar.gz
  3. Décompresser le drupal6_6.14.diff.gz
  4. Vous aurez probablement besoin d’installer quelques outils si c’est votre première construction de paquet :
    1. sudo apt-get install dpatch
    2. sudo apt-get install fakeroot
  5. Lancer la commande : patch -p1 < xxx.diff
  6. Déplacer le dossier debian créé à l’étape précédente dans le dossier créé à l’étape 2 (celui qui contient les sources du *.orig.tar.gz, pour cet exemple il s’agit de drupal-6.14) : mv debian drupal-6.14
  7. Déplacer vous dans le sources : cd drupal-6.14
  8. Vous devrez probablement rendre le script debian/rules executable… : chmod +x debian/rules
  9. Lancer la commande : dpkg-buildpackage -rfakeroot -uc -b
  10. C’est terminé ! Il ne reste plus qu’à installer votre paquet fraichement compilé. Pour notre exemple ça donnera donc :
    1. cd ..
    2. sudo dpkg -i drupal6-6.14_all.deb

Vous connaissez maintenant la marche à suivre…

Catégories:OS Etiquettes:,

WPML multi-linguisme et moteur de recherche…

Si vous utilisez WordPress et le plugin WPML pour gérer un site en multi-langue vous avez surement constaté que l’utilisation du moteur de recherche de WordPress affichera alors la liste des résultats pour la langue par défaut… et pas pour la langue actuellement utilisée par votre visiteur.

Pour améliorer cela voici un petit patch… Ce n’est pas très clean mais ça fonctionne (je vous laisse optimiser cela pour utiliser, par exemple, une surcharge de fonction plutôt qu’une modification directe des fichiers standards de WordPress (qui seront écrasés lors d’une mise à jour…)

Modification du fichier wp-includes/general-template.php au niveau de la fonction get_bloginfo

case 'short_language':
  $output = get_locale();
  $short_language = explode("_", $output);
  $output = $short_language[0];
break;

Et ensuite au niveau de votre thème (par exemple iNove dans le fichier wp-content/themes/inove/templates/header.php) :

il suffit de modifier le formulaire comme ceci :

<form action="<?php bloginfo('home'); ?>/<?php bloginfo('short_language'); ?>/"
      method="get">

Amusez vous bien avec WordPress et WPML !

ps : au passage vous pouvez aussi modifier les liens title/home pour ne pas changer de langue quand on clic sur le logo

<h1 id="title">
  <a href="<?php bloginfo('url'); ?>/<?php bloginfo('short_language'); ?>/">
    <?php bloginfo('name'); ?>
  </a>
</h1>

et pour le fil d’ariane…

<a title="<?php _e('Home', 'inove'); ?>"
   href="<?php echo get_settings('home'); ?>/<?php bloginfo('short_language'); ?>/">
  <?php _e('Home', 'inove'); ?>
</a>

L’idée de départ vient de la lecture de cette conversation…

Catégories:Wordpress Etiquettes:,