Corriger l’erreur Gravity Form « Call to a member function can_be_used() on bool »

Cet article est plus là pour mon moi du futur, mais ça peut en aider d’autres.

Suite à la mise à jour vers Gravity Form 2.6.2, je me suis retrouvé sur plusieurs sites dont j’ai la maintenance avec une erreur fatale ressemblant à:

[06-May-2022 20:30:52 UTC] PHP Fatal error:  Uncaught Error: Call to a member function can_be_used() on bool in /var/www/my-great-website/wp-content/plugins/gravityforms/common.php:2813
Stack trace:

Je n’ai pas trop creusé pour en connaitre la cause… je ferais ca un peu plus tard… quand un site client est en rade… on corrige vite 😉

Pour corriger cette erreur il m’a suffit d’ajouter

define( 'GF_CACHE_DEBUG', true );

dans le `wp-config.php` puis d’aller resauver les réglages des formulaires (sans rien changer)

Cette erreur arrive lorsque la vérification de licence échoue. Les développeurs de Gravity Forms sont en train d’étudier la question et vont publier prochainement une nouvelle version.

La constante ajoutée permet de valider la licence sans prendre en compte les données en cache.

Dites-moi en commentaire si vous avez eu cette erreur et que cette astuce vous a aidée!

Affichez facilement le fil de votre page Facebook.

J’ai eu un besoin simple ces derniers jours… afficher le fil d’une page Facebook sur un site client. J’ai bien sûr regardé du côté des extensions existantes ce qui était proposé et… il faut bien avouer qu’il y en a une tonne !

Une tonne, c’est bien… mais rien ne correspondait vraiment à mon besoin, car était trop complexe à mettre en place, nécessitait un compte Facebook pour créer une application. Bref ce dont j’avais besoin, c’était simplement ce que propose Facebook sur sa « plugin page ».

Alors bien sûr… j’aurais pu coder mon truc dans mon coin… et je me suis dit… si j’ai le besoin, alors surement que d’autres aussi… fais en donc une extension mon brave Séb !

Une nouvelle extension signée thivinfo.com

C’est une extension très simple, il y a un shortcode code court et un bloc pour le nouvel éditeur (merci à Marie Comet).
Le code court [\simple_wall] attends au moins un paramètre slug qui attend le slug de votre page Facebook…

Exemple : le code court [\simple_wall slug="MotoGP"] (sans le slash qui a été ajouté pour que WP ne l’interprète pas) devrait afficher le fil de la page Facebook dédié à ce sport dont nous sommes champion du monde (comment ça je m’éloigne ?).

Le voici en action :
[simple_wall slug=’MotoGP’]

Le bloc Gutenberg « Simple Wall » lui est disponible dans la liste des blocs et attends également le slug de la page à afficher.

Les 2 autres paramètres optionnels sont la largeur et la hauteur d’affichage.

Les évolutions prévues…

J’utilise plus Twitter (ce qui est assez simple puisque je n’ai pas de compte FB) et je me demande si je ne pourrais pas faire évoluer l’extension pour afficher le fil Twitter également… dites-moi en commentaire si cela vous intéresserait.

Ajouter des icônes personnalisées à vos projets avec ACF et ACF: FontAwesome Field

Si vous avez l’habitude de créer votre propres icônes web, vous devez connaître Icomoon. Pour un projet client utilisant déjà FontAwesome, j’ai eu besoin d’ajouter 2 icônes personnalisées provenant en utilisant le service Icomoon.

Pour cet article, j’ai utilisé Icomoon mais vous devriez pouvoir adapter, vous inspirer de cet article pour insérer n’importe quel icône personnalisé.

Les icônes FontAwesome étaient utilisées sur des éléments de menu grâce à Advanced Custom Fields et Advanced Custom Fields: Font Awesome Field. le but est donc d’ajouter à la liste des icônes FontAwesome, mes 2 ou 3 icônes customs d’icomoon.

Afficher les icones Icomoon dans le champs ACF FontAwesome

Advanced Custom Fields: Font Awesome Field que je nommerai dorénavant ACFFA propose un filtre permettant de venir modifier la liste des icônes:

ACFFA_get_icons
add_filter( 'ACFFA_get_icons', 'cot_test' );
function cot_test( $icons ) {
$icomoon = array(
'cierge' => array(
'name' => 'cierge',
'hex' => '\e90e',
'unicode' => ''
),
'calice' => array(
'name' => 'calice',
'hex' => '\e90f',
'unicode' => ''
),
);
foreach ( $icomoon as $ico ) {
$icons['list']['far'][ 'far ' . $ico['name'] ] = '<i class="icon-' . $ico['name'] . '"></i> ' . ucfirst(
$ico['name'] );
$icons['details']['far']['far ' . $ico['name']]['hex'] = $ico['hex'];
$icons['details']['far']['far ' . $ico['name']]['unicode'] = $ico['unicode'];
}

return $icons;
}

Ici nous filtrons la liste existantes des icônes FA pour y ajouter nos icônes personnalisées. Malheureusement, l’extension de Matt Keys étant développées pour FA, seules les catégories FontAwesome sont disponible à savoir Brand (fab), Regular (far), Style (fas). J’ai décidé d’ajouter mes icônes dans les Regular soit Far. Ceci est purement arbitraire.

Décortiquons le code ci-dessus

array(
'cierge' => array(
'name' => 'cierge',
'hex' => '\e90e',
'unicode' => '&#xe90e;'
),

Ici je déclare les icônes Icomoon que je vais vouloir utiliser:

  • name: le nom de l’icône dans la liste
  • hex: le code hexadécimal fourni par Icomoon
  • unicode: l’unicode de l’icône Icomoon

Ensuite, avec une boucle foreach, je vais alimenter le tableau $icons contenant les icônes FontAwesome

Exemple d&#039;icône personalisé dans le champs ACF

Afficher les icônes en back-office

Pour afficher les icônes en back-office, il va falloir que la feuille CSS Icomoon avec toutes les icônes soient chargées coté back-end.

Pour ça, nous allons ajouter ce code:

add_action( 'admin_print_styles', 'cot_load_icomoon_css' );

Si vous êtes habitués a développer vos thèmes vous connaissez le hook d’action WordPress wp_enqueue_scripts qui permet de charger des feuilles de styles et des scripts en front-end. Sachez qu’il existe aussi un équivalent pour le back-office et il se nomme admin_print_styles.

add_action( 'admin_print_styles', 'cot_load_icomoon_css' );
add_action( 'wp_enqueue_scripts', 'cot_load_icomoon_css', 9, 1 );
function cot_load_icomoon_css(){
wp_enqueue_style( 'font-icomoon', get_template_directory_uri() . '/css/iconmoon.css');
}

Ici je charge donc la feuille CSS en front et en back-office.

J’ai mis une priorité 9 au chargement front afin de passer juste avant le chargement de la feuille de style du thème et de pouvoir par la suite les utiliser dans mon thème. Par défaut un add_action() à une priorité de 10.

Afficher les icônes en front office

En front-office, l’extension ACF FontAwesome retourne un balisage HTML formaté pour FA (normal!). Nous, on veut que dans certains cas, celui de notre icône personnalisée on aille charger une autre police (celle générée par Icomoon).

Icomoon m’a fourni 4 fichiers de polices de caractères ( .eot, .svg, .ttf et .woff) que j’ai placé dans mon projet. Le fichier icomoon.css fait un @font-face afin que les polices soient chargées

Le problème réside dans le fait que l’extension de Matt Keys génère un markup HTML FA et qu’il va falloir « ruser » pour détourner le fonctionnement seulement pour les icônes Icomoon. Et oui, on veut pouvoir continuer à utiliser normalement FontAwesome!

<i class="far cierge" aria-hidden="true"></i>

On retrouve la class far de FA qui va charger la police FontAwesome puis la class cierge générée à partir du nom données dans la liste des extension a insérer.

Pour que le site charge ma police au lieu de celle de FontAwesome, j’ai créé une feuille CSS modifiant le style des ces classes:

.far.cierge:before {
font-family: "ma-police-icomoon";
content: "\e90e";
}

Pour chaque icône personnalisée je demande à WordPress de charger ma-police-icomoon et d’utiliser le contenu ayant le code hex corespondant à mon icône.

Kawi : le thème qui vous veut du bien !

Je vous propose aujourd’hui un article un peu différent puisque que je vais vous présenter un thème… ne vous attendez pas à une review de 4000 lignes… je n’ai pas les talents d’écriture de la marmite!

Dis c’est quoi ton thème ?

Le thème dont je voulais vous parlez n’est autre que celui que vous voyez habiller thivinfo.com: Kawi de Vincent Dubroeucq

Pourquoi Kawi ?

C’est assez simple, je ne suis pas développeur front, je ne voulais pas développer un thème de A à Z sachant que des collègues de la communauté francophone WordPress en avaient déjà développés des bons…

Mon amie Marie Comet m’a simplement fait découvrir le thème de Vincent en me disant:

  • Il est léger
  • respectueux des bonnes pratiques de développement WordPress et de l’accessilbilité (a11y)
  • facile à customiser

Bingo! je pars la dessus.

Un thème enfant ou un starter thème ?

Je me suis alors posé la question, est ce que tu vas t’en servir comme un starter thème ou bien plus classiquement en créant un thème enfant?

Outre la version du répertoire officiel des thèmes WordPress, Vincent propose également son thème sur Github. L’avantage de cette version étant de proposer les sources SASS qui compose la feuille de style. Il s’agit donc d’une version plus orientée pour les développeurs qui voudraient s’en servir de base de travail…

Ok, mais ai je envie de me couper des améliorations que Vincent pourrait apporter a son thème? pas vraiment, j’ai donc opté pour la création d’un thème enfant afin de garder les possibles futures évolutions du thème.

La  version que vous voyez est donc la version enfant du thème disponible gratuite sur le repertoire WordPress.

Pourquoi changer de thème ?

Et pourquoi pas d’ailleurs?!

En premier lieu car le précédent basé sur le thème Humescores de Morten Rand-Hendriksen avait pris de l’embonpoint au fil des ans. Au bout de 4 ans environs, à force de tests, de modifications graphiques, fonctionnelles… le thème était devenu lourd à gérer et à charger.

Et puis l’envie de changer un peu également!

Quelles modifications ont été apportés ?

Finalement très peu car en tant que grand artiste devant l’éternel, j’ai repris quasiment le même style et la même disposition de la page d’accueil!

La différence se trouve plutot sous le capot car le CSS de mon thème enfant est créé grâce à SASS ce qui ma permis de découvrir l’excellent outils Prepros m’évitant une installation d’un outils supplémentaire comme Gulp et ses multiples dépendances jamais a jour quand je veux l’utiliser. A propos de Sass, si vous désirez comprendre rapidement le principe, je vous conseille la vidéo de l’atelier animé par Thierry Pigot de WP Paris

Résultats

Le résultat se résume donc à un site plus rapide a s’afficher, plus accessible aux personnes en situation de handicap ou utilisant du matériel adapté. Pour moi, il s’agit d’un thème plus léger a maintenir et prêt a évoluer selon mes futures idées…

3, 2, 1 Traduisez!

Le 17 avril 2020 aurait du y avoir lieu un WordCamp à Paris. Compte tenu de la situation dû au COVID19, celui ici comme tant d’autres a été annulé.

L’idée d’organiser une journée de rencontre virtuelle à donc germée dans la tête de plusieurs membres de la communauté WordPress Francophone !

On organise donc une demie journée de contribution au projet WordPress ouverte à tous que vous soyez contributeur aguerri ou néophyte.

Participer

Pour participer rien de plus simple, inscrivez vous pour participer à la visioconférence Zoom. La coordination se fera également via le Slack de la communauté francophone et plus particulièrement sur la chaine #wptranslationday, pour obtenir une invitation, c’est par ici

Lire l’annonce officielle

A vendredi !

Installer WordPress en 3 minutes !

On lit partout qu’il faut 5 minutes pour installer WordPress… et c’est FAUX ! On nous a menti! On peut l’installer beaucoup plus rapidement que ca…

La preuve en vidéo!

Installer WordPress multisite en 3 minutes

Ceux d’entre vous ayant déjà installé un multisite savent qu’après avoir installé WordPress, il faut rentrer des constantes dans le wp-config.php pour activer ce mode, se rendre dans le Back-Office, paramétrer le reseau et revenir dans le wp-config.php pour y coller un pavé de constantes ainsi que dans le .htaccess… bref largement plus qu’avec le script que je vous ai concocté!

Comment ca marche?

J’ai créé un script bash qui, lorsque vous le lancer vous pose quelques questions.

Rien de méchant, ce sont les informations que vous rentreriez lors de la routine d’installation d’un WordPress via votre navigateur préféré.

Une fois que les réponses sont enregistrées, le script lance l’installation et le multisite est prêt … en 3 minutes!

Bien sur ce script, pour fonctionner aura besoin de wp-cli.

https://wp-cli.org

Je veux le super script de Séb!

Oui ben il est dispo sur Github 😉

Publier son extension sur le dépot WordPress grâce aux GitHub Actions!

Cet article parlera surement aux développeurs et développeuses d’extension WordPress qui publient sur le dépôt WordPress… et ceux qui n’y publient pas pour ne pas avoir à utiliser SVN.

En effet SVN est en quelque sorte l’ancêtre de GIT et de nos jours rare sont les développeurs qui ne sont pas passer à Git.

GitHub est un service hébergeant des dépôts GIT que les dev affectionnent particulièrement et très utilisé dans le monde Open-Source.

Il y a quelques semaines, GitHub a rendu public les Github actions.

OK mais qu’est ce que c’est Github actions?

En simple, c’est une solution permettant d’automatiser des taches lorsqu’une action intervient sur un dépôt ou une branche d’un dépôt (pull / push…)

C’est là que ça devient intéressant !

Auparavant, pour mon exemple personnel, je versionnais mon code sur GitHub puis je transférais a la main mes fichiers constituant mon extension WordPress sur le SVN de WordPress.org.

Ça fonctionne… mais c’est long et rébarbatif!

Merci Pierre Lannoye !

Pierre est un développeur WordPress français publiant une extension WordPress par jour… ou presque.

Il a créé une action permettant de publier sur le repo WordPress lorsque l’on push sur une branche d’un repo Git, un Tag particulier.

Ce tag sera repris sur le dépôt WordPress afin de publier la nouvelle version de votre travail.

On fait comment?

Je ne sais pas si c’est la manière de faire dans les règles de l’art comme on dit… mais c’est la manière que j’utilise… ce sera surement amélioré avec le temps, l’expérience, toussa toussa.

Dans mon projet, je crée un dossier .github notez le point devant puis un sous-dossier workflows.

Créé dans ce dernier dossier un fichier nommé `main.yml`:

name: Deploy SimpleWall to WordPress.org
on:
  push:
    tags:
      - "*"
jobs:
  tag:
    name: New Release
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@master
      - name: WordPress Plugin Deploy
        uses: Pierre-Lannoy/wordpress-actions/dotorg-plugin-deploy@master
        env:
          GITHUB_TOKEN: ${{ secrets.TOKEN_GH }}
          SLUG: simple-wall
          SVN_PASSWORD: ${{ secrets.SVN_PASSWORD }}
          SVN_USERNAME: ${{ secrets.SVN_USERNAME }}

Committez, puis pushez ce fichier.

Paramétrage coté Github

Rendez-vous sur votre dépôt Github, dans l’onglet « Actions » vous devriez retrouver l’action créée plus tôt.

Marque
Github Actions

Nous avions utilisé une variable SVN_PASSWORD et une SVN_USERNAME correspondant aux identifiant SVN nécessaire pour publier sur le repo WordPress. Il va falloir les transmettre a Github pour qu’il puisse se connecter de façon sécurisée.

Rendez vous dans l’onglet « Settings »

page Web
Github Actions Settings

Cliquez sur « Add a new secret »

Capture d&#039;écran
Github Actions Secret

Dans l’input « Name », saisissez le 1er nom de variable soit « SVN_PASSWORD » et le saisissez le mot de passe de votre compte wp.org dans le textarea « Value ».

Répétez en adaptant pour la variable correspondant à votre mot de passe.

Testez!

Si tout s’est bien passé, la prochaine fois que vous créerez et pusherez un tag Git, votre extension sera automatiquement publiée sur le dépôt Officiel WordPress.

Utiliser Lando pour développer ses projets WordPress en local

Je vous ai déjà parlé rapidement de Lando il y a quelques temps…. c’était plus un cri du coeur d’avoir trouvé une solution simple pour utiliser la technologie Docker.

Qu’est ce que Lando ?

Comme je vous expliquais dans mon article précédent, Lando est une sur-couche permettant d’utiliser facilement la technologie Docker.

Pour faire simple, il faut voir Docker comme un outils modulaire ou chaque brique est le composant de votre serveur Web.
Vous aurez donc besoin par exemple, pour faire tourner un WordPress en local d’une brique Apache, d’une brique PHP et d’une brique Mariadb ou Mysql.
Parmi ces différentes briques, il y a des versions différentes. Par exemple PHP7.0 / PHP7.3 .
Pour développer sainement et éviter les mauvaises surprises lors d’une mise en production, il peut être intéressant d’utiliser lors de nos développements les mêmes versions logiciels que celles utilisées par le serveur qui hébergera le site Web au final. Ainsi on réduit les risques de conflits et erreurs.

Le but de Docker est donc de fournir ces différentes briques et de les faire travailler ensemble… sauf que…

Sauf que, comme je le disais dans mon précédent article, il faut paramétrer tout ca… et avoir des connaissances sysadmin que nous n’avons pas tous… heureusement Lando est arrivé

Installer Lando

Le plus dur dans l’installation de Lando est en fait l’installation de Docker qui est assez simple si vous êtes libre comme moi, c’est à dire sur une distribution Linux. C’est un peu plus compliqué si vous êtes prisonnier d’un système privateur tel Windows ou Mac OS. (Pour une fois qu’on a un truc plus simple sous Ubuntu Linux… )

Bref, Docker tourne nativement sous Linux, il faudra ajouter une machine virtuelle pour installer Docker sur Windows ou Mac OS.

Une fois Docker installé, rendez vous sur le site de Lando pour installer la sur-couche qui va mettre en musique tout ça.

Configurer Lando

Je vous disais plus haut que Lando faisait abstraction de la complexité de paramétrage de Docker.

Toute la configuration de votre serveur de développement va tenir en un fichier texte.

Imaginons que nous voulions créer un site WordPress avec pour url https://mon-super-site.lndo.site.

Il suffit de créer un dossier sur votre machine ou vous avez les droits d’écriture et que vous nommeriez du nom que vous voulez: mon-super-site

Dans ce dossier on va ajouter un fichier .lando.yml qui va contenir toute la configuration du serveur de notre site:

C’est tout! Lando est prêt à fonctionner! et vous prêt à développer!

Décorticons le .lando.yml:

  • Ligne 1: un nom pour votre environnement de développement. Ce nom va servir notament à la construction de l’url de votre projet.
  • Ligne 2: « Recipe » signifie recette en anglais. Lando a mis au point des préconfiguration selon ce que vous aller faire avec. Ici c’est une recette WordPress, elle installera notament wp-cli. Il en existe pour Pantheon, Drupal et bien plus => Lando Recipe
  • Ligne 3: un block config ou vous pouvez spécifiez vos versions logiciel
  • Ligne 7: un block Service ou l’on va lister les services que l’on veut voir fonctionner. ici PhpMyadmin et Mailhog
  • Ligne 16: Composer c’est quand meme pratique quand on travaille dans l’univers PHP.
  • Ligne 19: ce block est facultatif si vous travailler sur un domaine simple. Il peut se révéler très pratique dans le cadre d’un WordPress Multisite en sous-domaine par exemple.
  • Ligne 22: peut etre la partie la plus sympa… effectuer des taches juste après l’import d’une base de donnée… ici on effectue via wp-cli un search & replace pour adapter les url et on désactive l’excellente extension WordPress WP-Rocket car le cache en dev… comment dire 😉

Ce .lando.yml est assez simple et il existe une multitude d’autre configuration et possibilité pour coller au mieux a vos besoin.

Notez que Lando est orienté pour le développement et fortement déconseillé par ses développeur pour une production

Pour lancer une première fois Lando, il convient de faire un `lando rebuild –y`.

A ce moment, il va créer et télécharger ce dont il a besoin. Cette étape peut être longue selon votre connexion web mais elle ne se fera qu’une fois…

Ensuite pour les prochains lancements un `lando start` dans votre terminal positionné dans votre dossier de travail suffira.

Attention la recette WordPress prépare lando techniquement a recevoir WordPress mais n’installe pas WordPress. Vous effectuerez cette étape d’installation comme vous en avez l’habitude ou bien en utilisant ma méthode wp-cli.

J’utilise Local By Flywheel… ca fait pareil!

Hummm chaque solution à ses avantages et ses inconvénients. Lorsque j’ai décidé de tester et finalement d’adopter Lando, Local By Flywheel n’était pas disponible sous Linux. Ce n’est plus le cas depuis l’été 2019.

J’ai testé (trop) rapidement Local By Flywheel et je n’ai pas réussi a faire fonctionner un WP :-/ (notez le trop).

La seule chose que Flywheel apporte pour mon cas est une GUI (Graphical User Interface) alors que Lando… c’est en ligne de commande… mais sincèrement pour faire lando start ou `lando rebuild –y` ? installer une interface qui va forcément utiliser des ressources machine… je n’en ai pas vu l’utilité.

Géocoder une adresse sans utiliser Google Maps

On a été longtemps habitué a utiliser les outils et services de Google pour faire tout un tas de chose… seulement les bonne choses ont une fin et certains de ces services ferment ou deviennent payant.

Dans le cadre du développement de mon extension OpenAgenda pour WordPress, j’ai besoin de trouver la longitude et la latitude d’une adresse d’un évènement.

OpenStreetMap à la rescousse

Il existe heureusement beaucoup de services permettant de remplacer ceux de Google. Parmi eux OpenStreetMap (OSM) pour tout ce qui tourne autour des cartes et la géolocalisation.

Nominatim pour la conversion d’adresse en donnée de localisation.

J’ai donc découvert le service Nominatim.

C’est bien gentils, mais je veux du code!

Si comme moi, vous avez besoin de récupérer la latitude et la longitude d’un point géographique en PHP… pour WordPress, voici ce que je fais:

function get_lat_lng( $address ) {
	$address = rawurlencode( $address );
	$coord   = get_transient( 'geocode_' . $address );
	if ( empty( $coord ) ) {
		$url = 'http://nominatim.openstreetmap.org/?format=json&addressdetails=1&q=' . $address . '&format=json&limit=1';
		$json = wp_remote_get( $url );
        if( 200 === (int) wp_remote_retrieve_response_code( $json ) ){
            $body = wp_remote_retrieve_body( $json );
            $json = json_decode( $body, true );
        }
        $coord['lat'] = $json[0]['lat'];
        $coord['long'] = $json[0]['lon'];
        set_transient( 'geocode_' . $address, $coord, DAY_IN_SECONDS * 90 );
    }

	return $coord;
}

Un peu d’explications:

Ligne 1: on déclare une fonction dans laquelle je passe en parametre une adresse (rue code postal ville).

Ligne 2: j’encode cette adresse pour qu’elle soit intégrable dans une URL.

Ligne 3: je vérifie si un transient avec les coordonnées existe. Nominatim limite l’accès a son PAI… le transient permets donc de stocker les infos en locale et de ne pas faire une requete a chaque affichage… surtout que les coordonnées géographique d’un point ne devrait pas changer trop souvent…

Ligne 14: je crée le transient qui sera valable 90 jours. En gros, votre WordPress ne demandera la géolocalisation qu’une fois tous les 90 jours pour une même adresse.

Entre 2 : si l’adresse n’a jamais été géocodée alors je fais la demande a l’API de Nominatim

Des idées ou amélioration a apporter ? Laissez moi un commentaire!

Thivinfo présente un nouveau service: paroisse-catholique.fr

Aujourd’hui, je souhaite partager un nouveau projet qui pourra rendre de nombreux services je l’espère à certains d’entre vous.

Il était une fois 5p2p

J’ai travaillé un peu plus de 2 ans pour l’association 5 Pains et 2 Poissons qui avait pour but de faciliter le numérique auprès des associations ecclésiastiques.

En tant que développeur WordPress, je produisais des sites web pour des institutions et congrégations religieuses. Cette expérience m’a permis de découvrir un monde qui a besoin de communiquer et de façon efficace… mais qui n’en a pas les moyens.

WordPress au service de l’Église Catholique!

A la fin de cette expérience, l’idée m’est venu de créer un service permettant aux paroisses n’ayant pas trop de revenu d’accéder à un service web de qualité répondant aux standards du web d’aujourd’hui.

Et c’est ainsi qu’est né paroisse-catholique.fr !

Que propose Paroisse-catholique.fr?

Paroisse-catholique.fr propose une solution clé en main qui vous permettra de créer vous même sans connaissance technique le site qui ressemble à votre paroisse.

  • Publiez facilement de l’actualité a destination de vos paroissiens
  • Programmez vos évènements paroissiaux et locaux
  • libérez vous des contraintes, ne gérez que la communication de votre paroisses facilement.
  • Permettez a vos paroissiens de vous contacter facilement
  • Mettez facilement en place des campagnes de dons (denier du culte, donations…)

Quels sont les domaines disponible?

Pour le moment vous pourrez obtenir dans le cadre de votre abonnement un sous-domaine de l’un des domaines suivant:

  • paroisse-catholique.fr
  • paroisse-catholique.org
  • paroisse-catholique.net
  • paroisse-catholique.info
  • paroissial.fr
  • ma-paroisse.org
  • ma-paroisse.fr
  • votre domaine personnalisé…

Installer les WordPress Coding Standards sur PHPStorm facilement

WordPress, comme tous les framework de développement dispose de ses propres règles à suivre pour que chacun des développeurs puissent lire et comprendre facilement le code d’un confrère.

C’est ce qu’on appelle les « Codings Standards » soit en français les standards de codage. Pour WordPress, nous avons les WordPress Codings Standards plus connu sous le joli nom de WPCS!

Ces règles de développement sont lisible ici: Découvrir les WordPress Codings Standards

OK, on a ouate mille page de docs… mais je vais pas lire toutes ces docs tout en développant… t’as pas plus simple?

Et ben vous avez de la chance puisque nous pouvons intégrer ces règles directement dans nos IDE ou éditeurs de texte! Ainsi votre code sera vérifié automatiquement lors de vos développement.

J’utilise quotidiennement PHPStorm de Jetbrains mais sachez que ces règles sont utilisable sur quasiment tous les éditeurs de codes.

Ou trouver les WPCS?

Les WPCS sont disponible sur Github. Je vais vous détailler comment moi je fais, mais vous pouvez lire en anglais qu’il y a plusieurs méthodes. Faites votre choix!

La méthode de Séb pour installer les WPCS

Alors ce n’est pas à proprement dit ma méthode… dans le sens ce n’est pas moi qui l’est mis au point… mais c’est celle que j’utilise et que je vais détailler!

Avant d’installer les WPCS, il faut un installer les PHPCS… et oui, WordPress est développé en PHP et pour faire simple, WPCS rajoute des règles ou modifie un peu les règles des PHP Codings Standards.

Retenez que, comme dans tous l’écosystème WordPress, le but est de rendre accessible et faciliter l’accès au développement.

Installer les PHPCS

 

Personnellement, j’ai une partition sur mon Ubuntu Linux dédiée à mes projets et a coté des projets, j’ai un dossier avec les WPCS et un avec les PHPCS

Les PHPCS sont également disponible sur Github

Cloner le dépôt Github des PHPCS

Rendez vous a l’endroit où vous voulez télécharger les règles puis:

ou

Si vous n’avez pas renseigné de clé SSH sur votre compte GitHub.

Vous devriez normalement avoir maintenant un dossier nommé phpcs.

Cloner le dépôt Github des WPCS

On va réaliser quasiment la meme commande pour cloner le dépot des WPCS cette fois ci:

ou

Je vous rassure, le plus dur est fait…

Paramétrer PHPStorm

Rendez vous dans « File | Settings | Languages & Frameworks | PHP | Quality Tools »

Programme d&#039;ordinateur
Panneau de réglages PHPStorm

En cliquant sur les 3 point à droite de Configuration vous pourrez spécifier le chemin vers les PHPCS. Il faudra naviguer et sélectionner le fichier « phpcs » présent dans le répertoire « phpcs/bin » obtenu grace au clonage précédant.

Capture d&#039;écran

Si tout est OK, en bas de la fenêtre affichera la version de Code Sniffer installée.

Passons à WPCS, car après tout… ce sont pour eux qu’on en est là !

Le chemin vers les réglages est File | Settings | Editor | Inspections

Logiciel
J’aime les flèches!

le but ici est d’arriver au menu « PHP Code Sniffer Validation » afin de cocher « Installed Standard Paths » et de chercher après avoir cliqué sur le dossier à droite le répertoire récédement cloner avec les WPCS.

Si tout se passe bien…en cliquant sur les 2 flèches circulaires, vous devriez avoir le choix de plusieurs WPCS… personnellement, je choisis WordPress-Extra. puis on valide en cliquant sur OK…

Migrer un site d’un multisite vers une installation classique

Présentation du multisite WordPress.

La technique du Multisite permet de faire fonctionner plusieurs site WordPress ensemble au sein d’une seule et même installation.

Cette technique permet de mutualiser le Coeur de WordPress, les thèmes ainsi que les extensions.

En résulte un gain de temps non négligeable lors de la maintenance de vos sites puisque vous ne mettez à jour qu’une seule fois.

En savoir plus:

Extraire un site d’un multisite étape par étape.

Tout d’abord, ce tutoriel ne se veut pas LA méthode mais une méthode qui fonctionne et que j’ai mis en action aujourd’hui dans le cadre de mon poste de développeur WordPress.

Étape -1 – Sauvegarde

Saaaaauuuuuvvvvvveeeeegggggaaaaaarrrrrrdddddeeeeee

Sauvegardez vos fichiers (WP, extensions, thèmes, mu-plugins et base de données Mysql)

Étape 0 – Installation en local

Avoir le multisite en local, ce sera bien plus simple à gérer et en cas d’accident, ca ne génera que vous!

Étape 1 – Mises à jour

La première étape va consister a mettre votre multisite à jour:

  • WordPress
  • Thèmes
  • Extensions
  • Langues

Si cette étape n’est pas fondamentale, je me dis que:

  1. ça ne peut pas faire de mal
  2. ça peut éviter les conflits et les soucis par la suite quand vous importerez thèmes et extension dans votre site WordPress « Classique ».

Étape 2 – Installer WordPress

Installer un WordPress tout beau tout neuf… Pour cela je vous propose de le faire en 3 minutes grâce au script wp-cli que j’ai créé pour vous…

OK j’avoue, je l’ai créé pour moi… et je me suis dit que ça pourrait vous intéresser!

Étape 3 – Transférer les fichiers

Alors maintenant, va commencer un transfert de fichiers. Voilà pourquoi je vous ai demandé en étape 0 de travailler en local. e sera bien plus facile de déplacer des fichiers dans l’explorateur de votre machine qu’à distance via un sFTP ou autre.

Pensez à transférer:

  • Les thèmes (parent et enfants)
  • Les extensions
  • Les « mu-plugins »
  • le dossier « uploads »… mais lui je lui réserve l’étape 4!

Bien sur, sur le multisite peut être que toutes les extensions ou tous les thèmes n’étaient pas utiles pour le site que vous êtes en train d’extraire.

Ne transférez que ce dont vous avez besoin et n’activez rien

Étape 4 – le dossier « Uploads »

Le dossier Upload situé dans `wp-content` contient tous les médias téléversés sur votre site et disponible dans la médiathèque.

Avouez que ce serait ballot de ne pas les retrouver dans votre nouvelle installation.

Le dossier Upload est un peu différent à transférer puisque son architecture de dossiers et de sous-dossier est différent d’une installation classique.

Architecture du dossier Uploads en Multitisite
Architecture du dossier Uploads en Multitisite

Remarquez la différence avec une architecture classique. Dans « uploads », nous avons un dossier « sites » qui n’existe pas dans une installation classique de WordPress.

A l’intérieur de ce dossier « sites » nous avons un dossier nommé par l’id du site dans l’infrastructure multisite.

Ensuite, nous retrouvons le classement classique des médias par WordPress avec un dossier année et un dossier mois.

Retrouvez l’ID du site a extraire du multisite

J’estime que si vous faites cette manipulation alors vous avez les privilèges de super-administrateur.

Cette étape est assez simple, il faut se rendre dans l’administration réseau de votre multisite puis dans le sous-menu « Sites » au bout de la ligne concernant le site à migrer vous trouverez l’ID de celui-ci.

Trouvez l'ID du site à migrer
Trouvez l’ID du site à migrer

L’identifiant récupéré vous pouvez déplacer tout le contenu du dossier ayant l’id comme nom dans wp-content/uploads afin de retrouver l’arborescence classique d’un WP.

Étape 5 – exporter puis importer la base de données

C’est bien beau mais pour le moment, vous avez tout sauf votre contenu…. et dans un site, c’est bien le plus important la base de données.

Pour ce tutoriel, je vais estimer que vous avez le préfixe par défaut « wp_ ».

A l’image des médias, WordPress multisite ajoute l’id du site sur certaines tables.

Il va donc falloir exporter toutes les tables ayant l’ID ainsi que les tables wp_user et wp_usermeta qui elles n’ont pas d’id car dans un multisite, les utilisateurs sont commun à tous les sites.

Personnellement je le fais avec PHPmyAdmin si les tables ne sont pas trop volumineuses… on sélectionne les tables voulues (exemple: celle du site « 4 » wp_4_ ainsi que les 2 tables d’utilisateurs).

Avant d’importer, supprimez les tables wp_user et `wp_usermeta` de l’installation classique afin d’éviter les conflits avec les tables que vous allez importer.

Pour l’import dans le WP classique, utilisez également l’outils dont vous avez l’habitude.

Vous allez vous retrouver avec des tables en doublons: Celles de votre installation classique et celle que vous venez d’importer qui ont le préfixe `wp_4_`. Supprimez les tables en doublons de l’installation classique.

Importez vos tables « multisites »

A cette étape, si vous regardez votre base de données dans PHPmyadmin ou autres, vous devez remarquer des tables en wp_ et d’autres en wp_4_

Dans PhpMyadmin, cochez toutes les tables en `wp_4_` puis en bas de la page dans le menu déroulant sélectionnez « Remplacez le préfixe de table »

Si vous décidez de modifier le préfixe de table, n’oubliez pas de corriger le `wp-config.php` en conséquence.

Document

On y est presque!

Étape 6 – Remplacer les URLs des médias en Base de données.

Pour cela j’utilise le script SRDB d’Interconnectit. Vous trouverez un guide de ce script chez mon ami Grégoire Noyelle.

Ici nous allons modifier les urls vers les medias et donc faire un recherche et remplace qui ressemblerait à ça:

Search: https://example.com/wp-content/uploads/site/4/2019/02/mon-image.jpg

Replace: https://example.com/wp-content/uploads/2019/02/mon-image.jpg

Étape 7 – la base utilisateur

Lors de l’import de la base de données, nous avons importé tous les utilisateurs du multisite… or, il y en a qui n’ont aucun rapport avec le site que vous venez d’extraire.

Je n’ai malheureusement pas encore trouvé une requête sql qui va bien … si vous avez une idée, soumettez la moi en commentaire, c’est avec joie que j’améliorerais ce tutoriel.

Étape 8 – Vérifications

Normalement, votre site classique est une copie exacte de votre site lorsqu’il était dans le multisite.

Selon vos installations, il peut y avoir 2/3 choses à régulariser. Exemple, remplacer des urls vers des images écrites en dur dans des fichiers css créé parle constructeur de page Elementor…

Vous avez peut être transférer des extensions qui n’ont un intérêt que dans le cadre d’un multisite…

Étape 10 – Se reposer!

Ouais y’a pas d’étape 9 car ça fait bien de s’arrêter sur un chiffre rond! une dizaine tout ça!

Normalement vous venez d’extraire sans encombre un site d’un multisite vers un site classique WordPress… vous avez bien mérité une petite mousse, un café ou n’importe qu’elle autre chose qui vous fera plaisir!

Et sinon, il y a la méthode simple! (ajout du 20 avril 2019)

Si comme moi vous êtes adepte de WP-CLI alors ce script vous permettra d’extraire un site du multisite en quelques secondes…

trepmal/blog-extractor

WP-CLI command. Extract single blog from multisite – trepmal/blog-extractor

https://github.com/trepmal/blog-extractor

Présentation de WP GestSup Connector, l’extension qui lie votre site WordPress au helpdesk GestSup

GestSup, qu’est ce que c’est?

Site web de GestSup.

GestSup est une solution de gestion de support auto-hébergée que j’utilise avec certains de mes clients pour prioriser les interventions et les développements réalisés par Thivinfo.

Jusque là j’avais, comme beaucoup, un formulaire de contact qui m’envoyait par mail le contenu saisi dans le formulaire en ligne. Ce mail, je le retranscrivais dans GestSup pour créer un ticket… faire et défaire c’est toujours travailler mais pendant ce temps là je n’étais pas productif pour développer les demandes de mes clients.

J’ai donc décidé de créer une extension WordPress qui génèrerait un formulaire via un code-court à placer sur le site et qui irait créer automatiquement un ticket dans GestSup. J’ai donc créé WP GestSup Connector qui fait exactement ce que je décris plus haut… sauf que…

Sauf que si la personne me contactant via le formulaire n’existe pas dans la base de données GestSup et bien le ticket n’est pas créé, je reçois la demande par mail, je la retranscris dans GestSup… hey mais… je l’ai déjà dit ça ! Ça ne pouvait plus durer et je me suis replongé dans le développement de l’extension.

Elle vérifie si l’adresse de la personne envoyant le formulaire existe dans la base de données GestSup. Si c’est le cas, le ticket est créé… si ce n’est pas le cas, un utilisateur est créé avant de créer le ticket.

Afin d’éviter le spam, WP GestSup Connector intègre Google Recaptcha. C’est optionnel, activable par une case à cocher dans les paramètres de l’extension.

WordPress 5.0 est sorti le 6 décembre 2018 et alors?

Si vous suivez l’actualité liée à WordPress, vous devez être au courant qu’un chantier énorme a été initié il y a plusieurs mois déjà.

Retour en arrière pour ceux qui n’ont pas suivi. Lors du WordCamp Europe 2017 qui s’est tenu  à Paris, Matt Mullenweg avait annoncé que le projet de nouvel éditeur nommé Gutenberg intégrerait le Coeur de WordPress si les 100000 activations étaient atteintes rapidement. Il n’aura fallu que quelques semaines.

Depuis, il y a eu plusieurs versions de WordPress et de Gutenberg en tant qu’extension et il est dorénavant temps de publier WordPress 5.0.

Dit comme ça, cela semble anodin mais le projet Gutenberg est – de la voix de Matt Mullenweg himself – le plus gros chantier entrepris par notre CMS préféré depuis 15 ans et il s’apprête a débouler sur 1/3 du Web, un tiers des sites internet dans le monde… ce n’est pas rien!

Gutenberg divise

WordPress bénéficiait d’une large communauté très soudée et le moins que l’on puisse dire… c’est qu’elle a pris un peu de plomb dans l’aile.

En effet, un tel changement ne peut pas satisfaire toute le monde et chacun voit l’avantage ou l’inconvénient qu’il va en tirer.

Gutenberg divise car bouscule les habitudes et l’humain est feignant, il aime pas être chamboulé… un fork de WordPress a même été créé

Le projet Gutenberg divise la communauté pour des raisons plus ou moins compréhensibles depuis plusieurs semaines toutefois il faut avancer et s’adapter.

WordPress 5.0 et Gutenberg c’est pour maintenant

On en a parlé pendant longtemps, on n’avait pas de date… mais ça c’était avant alors que devons-nous faire? Mettre à jour? tester? Ne rien faire? Partir en courant?

Ce que Thivinfo va faire

Pour mes clients, j’ai installé Classic Editor. Classic Editor est une extension WordPress permettant de désactiver le Nouvel Editeur (nom de Gutenberg dans le Coeur de WP).

Avec Classic Editor, l’expérience utilisateur de mes clients ne va certes pas changer mais leur site sera toujours actif et disposera de WordPress 5.0.

La deuxième étape, pour les clients en maintenance sera de tester sur une instance autre que le serveur de Production le même site sans Classic Editor et voir au cas par cas ce qui fonctionne et ce qui est à corriger, si c’est corrigible etc.

Il y a quelques mois, l’agence Whodunit avait écris un article concernant le passage à WordPress 50 et les différentes possibilités qui s’offre à nous:

Passer de WordPress 5.0 et à Gutenberg – en prenant soin de proposer un accompagnement au changement pour les personnes chargées de l’administration des sites.
Passer de WordPress 5.0 en conservant l’éditeur classique tout en communicant sur la sortie de Gutenberg.
Rester sur la branche 4.9 car le site ne permet pas une mise à jour maîtrisée. Ce cas est à éviter par tous les moyens (on en parlera plus loin), mais dans tous les cas, une communication est faite au client en toute transparence.


Je suis bien sûr à votre disposition si vous avez un site internet sous WordPress et ne savez pas réellement ce que le passage à WP5.0 va impliquer.

En conclusion

Je reste persuadé que le projet Gutenberg (qui va bien plus loin que le simple éditeur) est un formidable projet pour WordPress même s’il a divisé la communauté qui se remettra peut être difficilement de ce passage.

Je reste également persuadé que la communication autour de ce projet  a été mal ou peu pensé. L’erreur la plus grosse selon moi a été… Gutenberg sera intégré dans WP 5.0… 

euh… ok mais pourquoi pas décider de l’intégrer quand il sera prêt plutôt.

Aujourd’hui, en tant que professionnel du web et de WordPress, j’ai un choix a faire et pour le moment… il est fait.. Je vais continuer à proposer à mes clients la solution qui propulse  plus du tiers du web… quitte, selon les projets a faire des adaptations.

ThinkWP, la vidéo est sortie!

Il y a quelques mois, je vous présentais dans ces colonnes le teaser de la video ThinkWP présentant WordPress, son écosystème ainsi que sa commuanuté.

Présenter WordPress à un public ne connaissant pas ou minifiant sa puissance est une des choses qui me tient à cœur et Thivinfo a tenu à sponsoriser la réalisation de cette vidéo. 

Aujourd’hui, Déborah Donnier et Émilie Lebrun, les deux personnes à l’origine de ce projet nous font l’immense plaisir de dévoiler cette vidéo dans un format 32 minutes.

Les chanceux qui étaient au WordCamp Paris 2018 avaient eu la chance d’en voir une version qui a été améliorée lors du dernier WPtech de Lyon

Et si on regardait la vidéo ?

WeThinkWP… 30 minutes pour découvrir WordPress

 Vous désirez en savoir plus? Voici le lien vers le site WeThinkWP

Comment je suis passé à Lando pour développer en utilisant Docker !

Il y a quelques mois j’avais testé Docker pour gérer mes environnements de développement. L’avantage majeur de Docker est de pouvoir développer en local sur les meme bases techniques  du serveur. Avouez que c’est tentant quand on a des sites hébergés chez des prestataires différents ( Même si la plupart pour mon cas sont chez O2Switch ) avec des versions logicielle des PHP, Mysql, Mariadb différentes. L’inconvénient majeur de Docker, a mon humble avis, réside dans la complexité de configuration! Je n’avais jamais réussi a faire fonctionner plusieurs vhost  en meme temps!

Avec Lando, c’est simple!

En discutant avec un collègue sur le Slack WordPress francophone, j’ai découvert Lando. Pour utiliser Lando, il vous faut tout d’abord installer Docker, puis Lando  vient en surcouche. Il va vous faciliter grandement la configuration des différentes images Docker à utiliser pour faire tourner votre environnement.

Des Recettes WordPress!

Lando propose des « Recipe », littéralement des recettes pour les principaux CMS et Frameworks du marché dont bien sur WordPress. Avec la recette WordPress, Lando va créer un envirronement comprenant PHP, et Mariadb pour faire tourner votre site mais également wp-cli ! Bref, en quelques secondes de lancement, vous voilà pret a développer sur votre CMS préféré.

Une configuration simplifiée pour Docker!

Voici un exemple du fichier de configuration .lando.yml que vous devrez avoir a la racine de votre projet pour lancer votre instance Lando!
name: test
recipe: wordpress
config:
  webroot: .
  php: '7.0'
  xdebug: true
  database: mariadb
services:
  pma:
    type: phpmyadmin
    hosts:
      - database
      - old-test
  mailhog:
    type: mailhog
    hogfrom:
    - appserver
  old-test:
    type: mariadb
    portforward: true
    creds:
      user: wordpress
      password: wordpress
      database: old-test
tooling:
  composer:
    service: appserver
Il s’agit d’un simple fichier texte au format .yml qui sera lu par Lando pour qu’il puisse créer votre environnement. Noter un « name », celui ci sera utilisé pour créer vos url locales de développement! ainsi que les services que vous désirez créer et dans quelle version! Ici j’ai choisi un PHP en version 7.0, Mariadb dans sa version stable courante, Phpmyadmin, Mailhog pour « attraper les mails » sortant sans avoir de serveur mail à configurer. On trouve aussi la configuration d’un second serveur de base de données ‘old-test’, l’activation de Xdebug et de Composer! Lando sur Github

WordCamp Nice 2018: ma première participation en tant qu’orateur!

Le 19 octobre 2018 aura lieu un évènement très important sur la cote d’azur… le prochain rendez-vous important pour la communauté WordPress aura lieu à Nice!

Lors de ce Nice WordCamp 2018  aura lieu ma première conférence !

Qu’est ce qu’un WordCamp?

Je ne dévoilerais bien sur pas le contenu de cette conférence de 20 minutes avant mais le programme étant dévoilé et la billetterie ouverte, il est grand temps que vous en connaissiez le titre et le sujet au moins 😉

D’esclavagiste à Développeur WordPress: itinéraire d’une reconversion réussie!

  • Vous exercez une activité et avez envie d’en changer ?
  • Vous n’osez pas sauter le pas ?
  • Vous vous demandez si devenir un professionnel de WordPress est réellement ce que vous voulez?

On se retrouve le 19/10 à Nice pour que je vous raconte ma vie mon expérience ?

Sébastien SERRE Speaker du WordCamp Nice 2018

Les grands aussi utilisent WordPress

Bonjour,

Souvent lorsque je parle de WordPress à mes prospects, ils me rétorquent qu’il s’agit d’une plate-forme de blog et qu’eux veulent un vrai site. La dessus, j’ai beau dire que de grandes compagnies travaillent sur cette plate-forme, sans exemple ce n’est pas convaincant!

C’est alors que ce matin devant mon café, je suis tombé sur cet article de WPBeginner (en)! le titre pourrait être traduit de la façon suivante:

40 Grands noms utilisant WordPress.

Sans lister les 40, on peut noter:

  • BBC America
bbcamerica
  • Sony Music
sonymusic
  • Bata
bata
  • Fortune
fortune
  • New-York Times
nytimes
  • The Rolling Stones
rolling-stones
  • La Maison Blanche
création de sites web

Si ces grands noms, soucieux de leur image utilisent WordPress, pourquoi pas vous? Rencontrons nous!

Comment Contribuer facilement à WordPress

Si vous me lisez, certainement que vous  utilisez régulièrement mon CMS préféré à savoir WordPress. WordPress est un logiciel libre ou Open-Source en anglais. C’est à dire que le code du logiciel est disponible et que vous pouvez le modifier et l’améliorer comme bon vous semble… Il y a quelques limitations tout de même… vous devez entre autre repartager vos améliorations.

Pourquoi contribuer?

Je pense qu’il y a autant de raison de contribuer au projet WordPress qu’il existe de contributeurs… La raison qui revient très souvent lorsqu’on en parle avec d’autres contributeur c’est :
Je contribue à WordPress pour apporter ma pierre à l’édifice et rendre la pareille au CMS et à sa communauté.
Vous aurez probablement votre propre raison, mais faire parti de cette aventure aura une place dans ce choix.

Les différentes façon de  contribuer au projet WordPress.

Lorsqu’on parle de contribution la majeur partie des personnes pensent au code: Contribuer en apportant des améliorations au CMS via du code. Seulement, tout le monde n’est pas développeur et pourtant, nous pouvons tous contribuer! Il existe (pour le moment) 18 pôles de contribution. Vous pouvez les rejoindre  en visitant cette page: https://make.wordpress.org/ qui est le portail central de la contribution WordPress.
les poles de contributions à WordPress
Ces 18 pôles seraient les façons de contribuer officiellement à WordPress mais il existe bien d’autres manière d’apporter sa pierre à l’édifice. JB Audras a commencé une série d’article sur le thème de la contribution au Coeur de WordPress.

Contribuer en publiant

Vous vous sentez l’âme littéraire? Écrire des articles sur votre site internet à propos de WordPress. Que ce soit pour expliquer techniquement une action menée lors d’un développement ou bien expliquer comment vous utilisez telle ou telle extension… c’est Contribuer à WordPress.

Contribuer en organisant ou en participant à des évènements autour de WordPress

Vous vous rendez à un Meetup WordPress? à un WordCamp c’est un début de contribution car vous faites une démarche pour le CMS WordPress. Vous allez en parler, y retourner. Bref vous allez faire vivre la communauté. Bien sur l’étape suivant la participation à un évènement est bien souvent sa particpation en tant qu’organisateur ou bénévole lors de WordCamp. Sachez qu’a chaque WordCamp il y a un appel à bénévoles. Les Bénévoles lors de WordCamp sont les petites mains qui font en sorte que l’évènement soit réussi. Pour le moment en France, il existe 4 WordCamp: Si vous vous sentez l’âme voyageuse, il en existe dans le monde entier! voici les prochains en Europe  et dans le monde Chacun de ses évènements feront des appels et je vous invite à suivre les comptes Twitter de chacun d’entre eux pour rester informé. Vous n’habitez pas près de l’un de ces 4/5 WordCamp? Vous ne vous voyez pas traverser la France pour nous rencontrer ? On est bien triste mais il y a des évènements autour de WordPress un peu partout (à suivre sur l’agenda de WPFR) J’espère que ces quelques lignes qui sont bien loin de relater toutes les formes de contributions possible vous donnerons envie de creuser le sujet 😉 Si la contribution à WordPress vous intéresse mais que vous ne savez pas comment commencer, n’hésitez pas à me laisser  un commentaire, j’essaierais de vous aider au mieux.