18
Jan
09

Eviter la race condition

Lorsque l’on développe avec des modules asynchrones, on s’expose au risque de race condition, souvent sans le savoir. J’en ai fait les frais il y a peu alors que je m’amusais joyeusement avec le jQuery et l’ajax. Je me suis dit que cela serait intéressant de détailler ici ce qui s’est passé afin d’éviter aux développeurs de faire face au même problème. Mais qu’est ce qu’une race condition? Une race condition, c’est une condition particulière qui se produit de manière aléatoire (d’où la difficulté à la reconnaître et à la débugger). Son apparition est essentiellement liée à des vitesses différentes de processing entre plusieurs threads qui font que parfois, on tombera dedans et parfois pas.

Lire la suite de l'article "Eviter la race condition"

14
Jan
09

Paint.Net : Dessiner une rosace

Cela faisait un petit bout de temps que je n’avais pas réalisé un tutorial sur paint.net. J’ai reçu une demande pour réaliser un dessin de rosace. J’ai donc décidé de réaliser un tutorial à partir de ce travail car il est très intéressant du point de vue de la manipulation des calques. Le dessin final va être relativement simple (trois cercles) mais on pourrait appliquer le principe à des mélanges de formes beaucoup plus complexes. Place aux différentes étapes : 1/ Partir d’une feuille blanche qu’on vide : CTRL+A pour tout sélectionner puis Suppr pour supprimer le fond blanc.

Lire la suite de l'article "Paint.Net : Dessiner une rosace"

13
Jan
09

Eternel Jean-Paul Belmondo

Ce dimanche, j’ai regardé l’émission de Drucker consacrée à Jean-Paul Belmondo. Quel plaisir de revoir Belmondo, 7 ans après son accident vasculaire cérébral. Toujours la même étincelle dans le regard, toujours la même gueuleextraordinaire, toujours le même sourire solaire. Cet homme est un rock. Le voir aussi flamboyant après ce qu’il a traversé, cela tient du miracle. Belmondo a bercé ma jeunesse avec ses films d’action mais aussi des performances d’acteur : le magnifique, l’as des as, itinéraire d’un enfant gâté… Autant de films cultes tournés à différentes étapes de la vie de Jean-Paul où il a marqué l’histoire du cinéma français.

Lire la suite de l'article "Eternel Jean-Paul Belmondo"

12
Jan
09

La gestion des options

Lorsque vous écrivez un plugin wordpress, vous allez probablement avoir des options à gérer pour adapter le fonctionnement de votre plugin en fonction des désirs de l’utilisateur. Aucun problème, WordPress a tout prévu! En effet, il dispose d’une table dans la base données dédiée aux options du blog et des plugins. Vous pouvez donc tout à fait l’utiliser pour y insérer des options supplémentaires. Là où toute la puissance de WordPress se révèle, c’est qu’il vous fournit une surcouche pour faire tout le travail d’interfaçage avec la base de données grâce à trois fonctions get_option, add_option et update_option. La première permet de récupérer la valeur d’une option, la seconde permet d’ajouter une option et la troisième permet de mettre à jour la valeur d’une option.

Lire la suite de l'article "La gestion des options"

11
Jan
09

Les hooks WordPress

Comme dans tout système, le plugin fonctionne grâce aux hooks qui lui permettent de s’accrocher au coeur du système et d’ajouter ou modifier des fonctionnalités. Il en existe des centaines dans WordPress, très exactement 800 dans la version 2.7. Ce site fournit une base de données des hooks avec leur fonctionnalité exacte. C’est donc une mine d’or pour le développeur de plugins wordpress. On distingue principalement deux types de hooks : les hooks d’action et les hooks de filtrage.

Lire la suite de l'article "Les hooks WordPress"

10
Jan
09

Utiliser des scripts dans son plugin WordPress

Si vous souhaitez utiliser du Javascript ou des librairies externes comme jQuery par exemple, il va falloir les renseigner correctement pour que votre plugin puisse y faire appel dans ses fonctions. Sinon, vous aurez des erreurs dans la console du style « n’est pas un objet » ou « undefined ». Suivant que votre plugin agisse sur la partie admin de WordPress ou dans le front end, l’ajout de scripts se fait de manière différente. Pour la partie admin, il faut ajouter un hook sur le admin_head comme suit : add_action(‘admin_head’, ‘my_plugin_admin_head’); La fonction my_plugin_admin_head sera appellée dans chaque page de l’admin dans le html head et vous pourrez alors y inclure vos scripts. Avec la méthode précédente, la fonction sera appellée dans toutes les pages de l’admin. C’est pratique mais pas forcément très propre.

Lire la suite de l'article "Utiliser des scripts dans son plugin WordPress"

9
Jan
09

Ajouter un menu dans l’interface d’administration de WordPress

WordPress dispose d’une interface d’administration particulièrement bien faite. Pourquoi ne pas s’appuyer dessus pour l’enrichir de menus qui permettront d’accéder aux fonctionnalités de votre plugin? Pour cela, on va utiliser des hooks (crochets). En fait, cela revient à ajouter dans une table un pointeur de fonction vers la fonction qui génèrera votre menu. WordPress saura que lorsqu’on clique sur ce menu, il doit faire appel à telle ou telle fonction. C’est aussi simple que cela.

Lire la suite de l'article "Ajouter un menu dans l’interface d’administration de WordPress"

8
Jan
09

Initialiser un plugin wordpress

La première chose à faire lorsque l’on écrit un plugin, c’est de l’initialiser. C’est le point d’entrée entre wordpress et votre plugin. Pour cela, c’est très simple, il suffit de s’accrocher sur le hook plugins_loaded de cette manière : add_action(‘plugins_loaded’, ‘init_plugin’); La fonction init_plugin contiendra le code que vous souhaitez exécuter à l’initialisation de votre plugin. Cela pourra notamment être l’appel à des fonctions pour ajouter des menus dans l’administration, le chargement de paramètres, etc… Mais attention, il ne faut pas confondre initialisation et activation. L’initialisation du plugin se fait à chaque page (l’action plugins_loaded fait partie de la séquence des actions effectuées à chaque page). En revanche, l’activation ne se fait que lorsque l’on active le plugin dans le menu des extensions.

Lire la suite de l'article "Initialiser un plugin wordpress"

7
Jan
09

Le header du plugin wordpress

Afin de permettre à WordPress de reconnaître votre fichier php comme un plugin wordpress, il faut insérer un header dans votre fichier php. Voici à quoi cela ressemble : <?php /* Plugin Name: Submission optimizer Plugin URI: http://www.lautre-monde.fr Description: Generation of multiple descriptions for optimized directory submission Author: Olivier Version: 1.0 Author URI: http://www.

Lire la suite de l'article "Le header du plugin wordpress"

7
Jan
09

Comment écrire un plugin WordPress?

Lorsque j’ai décidé de me lancer dans l’aventure de l’écriture de plugins pour wordpress, j’ai passé pas mal de temps à écumer les différents blogs à la recherche de détails techniques. Malheureusement, il n’y avait pas ou peu de ressource francophone sur le sujet. Alors vous me direz? Mais pourquoi écrire un plugin WordPress? La raison est simple, WordPress dispose d’une architecture très modulaire bien interfaçable avec les dernières technologies java (notamment le jQuery et l’Ajax) mais aussi avec mySql. Je ne parle pas de la gestion des utilisateurs qui est selon moi très sécurisée et extrêmement bien faite sous WordPress.

Lire la suite de l'article "Comment écrire un plugin WordPress?"

L'autre monde | Thème liquide par Olivier