Archives du mot-clé plugin

Bloguer en plusieurs langues

RSSJe tiens ce blogue en français et en anglais depuis le mois d’octobre passé, je vous fais donc part de mon retour sur expérience du blogage (eh oui, ça se dit!) en deux langues, ce que ça implique et ce que ça peut vous rapporter.

La raison principale pour laquelle on peut se décider à écrire des articles en deux langues est bien simple et inanime : rejoindre un plus large auditoire. Surtout dans notre cas, nous les francophones! Écrire uniquement des articles en français nous « limite » aux visiteurs québécois, belges, suisses, marocains, tunisiens et surtout (voire principalement), français.

Ainsi que 24 autres pays. C’est à dire environ 180 millions de personnes dans le monde entier, certainement moins car ces gens n’ont pas tous Internet, et ne s’intéressent certainement pas tous aux sujets que vous abordez sur votre blogue … voilà qui réduit considérablement l’échantillon.

Tandis que l’anglais, avec « seulement » 300 à 400 millions de locuteurs natifs dans le monde, mais une masse écrasante de gens qui l’ont adopté comme langue secondaire. Je déteste l’anglais, mais force est de reconnaître que c’est LA langue internationale. Indubitablement, bloguer également en anglais vous ouvre sur un potentiel infiniment plus grand. Par exemple, ce blogue reçoit environ autant de visites sur ses pages en anglais que sur celles en français. On peut assez facilement en déduire que si ce blogue n’était qu’en français, je pourrais simplement diviser le traffic par deux…

De plus, si vous vous adonnez aux réseaux sociaux tels que Twitter, ou Facebook, bloguer en anglais vous permettra d’ouvrir votre réseau à de nombreux anglophones. Dans le même ordre d’idée, bloguer en anglais vous aidera à travailler à l’international, si tel est votre désir. En effet, si bloguer peut être un outil puissant pour prouver vos compétences, profitez de votre vitrine internationale (Internet) pour toucher le plus de gens. Même pour vos clients potentiels francophones, vous montrez une ouverture sur le monde ainsi que votre compétence, à plusieurs niveaux : parler de ce qui vous passionne ne vous gêne pas, peu importe la langue.

Cependant, je pense que plusieurs se lancent dans le blogage multilingue les yeux fermés, sans penser à ce que ça implique. Si un blogue demande pas mal de travail au départ, le tenir en deux langues (voire plus), ça signifie doubler littéralement votre charge de travail. Encore faut-il bien se débrouiller en anglais (ou autre langue). Pour ma part, je me débrouille pas si mal, mais comme la plupart du monde je ne saurais pas écrire un classique de littérature en anglais, disons-le comme ça. Ça veut dire que je me bute souvent à trouver le mot qui convient pour exprimer telle ou telle pensée, chose qui, en français, ne m’a évidemment posé aucune embuche. De plus, on se rend vite compte qu’on dispose d’un vocabulaire assez restreint, on réutilise souvent les mêmes mots, faute de synonymes sous la main. Tout ça pour dire qu’en plus de doubler la charge de travail de rédaction, bloguer en deux langues peut en plus vous forcer à ouvrir des bouquins – ce qui n’est pas une mauvaise chose du tout, mais encore du temps de travail supplémentaire.

Ce n’est pas tout. Si vous vous adonnez au référencement de votre blogue, eh bien il faudra également mettre un peu de temps sur vos pages anglophones. Ceci n’est cependant pas dénué d’avantages, puisque posséder du contenu en anglais vous ouvre les portes à diverses plateformes anglophones où vous pouvez joyeusement poser vos backlinks : annuaires anglophones, digg-likes, forums & blogues anglophones en dofollow, etc. Inutile de dire qu’il y a beaucoup plus de marge de manœuvre à ce sujet dans l’univers anglophone que l’univers francophone.

En supplément à cet article, je désire passer en revue quelques solutions CMS pour tenir un blogue multilingue.

Joomla! : Avec le composant Joomfish, vous pouvez traduire toutes vos pages plutôt facilement. Ça fonctionne assez bien, mais si votre référencement dans google vous importe, vous ne serez sans doute pas très contents de ne pas avoir de contrôle sur la réécriture des URL pour chacune des langues : l’originale est utilisée pour toutes les pages traduites, ce qui n’est pas forcément très cool pour le positionnement de celles-ci sur les SERPs. C’est une des raisons majeures pour lesquelles j’ai migré de Joomla! à Drupal.

WordPress : Chez WordPress, ce n’est pas tellement mieux. Certains composants vous permettent de gérer la traduction de certaines pages, mais pour une raison majeure dont je ne me rapelle plus, ce n’est vraiment pas très intéressant. Je sais c’est con, mais j’ai oublié. Le seul moyen que j’ai trouvé pour avoir quelque chose de propre et SEO-Friendly, c’est de créer un clone du blogue et d’y rédiger des articles en anglais, mais ils ne sont pas liés donc c’est pas très efficace…

** EDIT : C’est (désormais?) possible avec le super module WPML! À essayer!

Drupal : Avec le module Internationalization (I18N), vous pouvez créer des pages distinctes pour chaque traduction (et les lier ensemble), tout en contrôlant tous les aspects du référencement (métas, titres, URLs, et j’en passe). C’est vraiment génial mais ça m’a paru très ardu à mettre en place… Je fais des backups souvent car je ne suis pas trop sûr que je retrouverais comment 😉

Pour conclure, je dirais que le blogage multilingue apporte beaucoup de choses bien à votre blogue, mais il faut être prêt à effectuer le travail imposant que cela implique. Comme dans bien des histoires de Web, la pensée magique n’est qu’un mirage! Et vous, qu’en pensez-vous?

Comment soumettre dans les annuaires

Une façon facile d’améliorer votre positionnement est depuis longtemps et reste de soumettre votre site dans des annuaires. Attention cependant à ne pas vous y prendre n’importe comment!

Inscrire son site dans des annuaires devient vite une activité tout-à-fait blazante (pour ne pas dire chiante) et répétitive. C’est en plein pour ça qu’il faut optimiser son temps de travail pour qu’il soit le plus efficace possible, et souffrir pour du résultat, au moins!

Ne pas soumettre son site de façon massive dans les annuaires

Surtout pour un site jeune, Google trouvera plutôt suspect de voir apparaître plusieurs centaines de backlinks d’un seul coup. Ne prenez pas de risque, inscrivez votre site dans maximum 10 annuaires par semaine. D’abord, votre site ne sera pas accepté partout, car certains annuaires sont abandonnés par leur webmaster, ce qui peut être dur à voir avant d’y soumettre. Ensuite, votre inscription est validée aléatoirement, et Google passe aléatoirement sur ces annuaires, donc il reçoit les backlinks de manière diluée, ce qui joue en votre faveur.

Des titres et des descriptions différentes

Une autre erreur serait d’utiliser la même description pour vos 200 inscriptions dans des annuaires; cela expose au problème du contenu dupliqué la page où se trouve vos site dans l’annuaire. Cela peut du moins empêcher les annuaires de se positionner sur vos requêtes; il est souvent intéressant d’avoir ses annuaires positionnés sous soi dans Google, car vous occupez de façon indirecte plus de terrain et nuisez davantage à vos concurrents. De plus, beaucoup de webmasters d’annuaires vont supprimer les inscriptions qui utilisent du contenu déjà indexé (Moi pareil sur Annuaire Design et Annuaire blogs design).

S’inscrire dans des annuaires , vous vous en doutez, demande une grande capacité de rédaction ainsi qu’un bon dictionnaire des synonymes. Personnellement, j’écris une série de descriptions d’environ 255 mots, toutes complètement différentes. Ensuite, j’utilise chaque description pour 5 annuaires dont je ne connais pas la réactivité. On pourrait dire 3, mais bon, c’est tellement chiant que de se creuser la tête à faire de nouvelles descriptions qu’il vaut mieux être sûr qu’elle servira à quelque chose. Si vous savez que tel ou tel annuaire valide toujours, ou est de très bonne qualité, écrivez une description unique juste pour cet annuaire.

Maintenant, pourquoi des titres différents? Pas pour le contenu dupliqué. Plutôt parce que la plupart du temps, le lien vers votre site est placé sur le titre que vous écrivez, ce qui en fait donc une ancre. Dressez une liste de titres-ancres crédibles, et variez-les régulièrement. Tant qu’à se donner autant de peine à s’inscrire dans des annuaires, autant en profiter pour grimper sur certaines requêtes! Évitez cependant de mettre uniquement une liste de mots clés, soyez raisonnable.

Suivre la progression des validations

Ceci est, selon moi, une étape importante dans votre stratégie de référencement. Si vous vous inscrivez hebdomadairement à une dizaine d’annuaires, vous perdrez vite le fil et vous vous buterez souvent à des annuaires où vous êtes déjà inscris. C’est pourquoi il vaut mieux vous créer une liste (Excel ou Google Spreadsheet), une ligne par annuaire, un X si vous avez soumis et un X si l’annuaire vous a accepté.

Cela vous permettra aussi de cibler les annuaires qui sont rapides, et surtout ceux qui ne valident pas. C’est très utile si vous lancez un deuxième site par la suite, vous reprenez cette liste et vous évitez les annuaires qui ne vous ont pas validé avec une description unique et de qualité! Vous aurez également une idée du nombre d’annuaire où vous êtes réellement inscris et validé.

S’inscrire dans plus d’annuaires, plus rapidement?

Évitez toutes les solutions où se trouve le mot « automatiquement »… la seule manière efficace de s’inscrire dans des annuaires est de le faire soi-même manuellement, un par un; ou bien à l’aide d’un outil .

Un outil « semi-automatique » remplira pour vous toutes les cases du formulaire d’inscription, il ne vous restera plus qu’à entrez le captcha (code de vérification d’humain) et envoyer le tout. Ce genre de méthode sauve du temps au niveau de la saisie des informations dans les champs, ce qui est non-négligeable, mais vous devrez quand même vous fendre le cul en quatre pour fournir beaucoup de descriptions uniques de qualité.

Pour ce faire, il existe un excellent logiciel qui se nomme Yooda Submit (francophone, payant, sur PC). Il fonctionne très bien, permet de mettre plusieurs titres et descriptions différentes, et permet de gérer vos inscription comme décrit plus haut.

Si vous cherchez une solution gratuite, il existe aussi le plugin Firefox InFormEnter. Ce plugin ajoute un bouton à côté de chacun des champs du formulaire d’inscription, qui vous donne accès à une liste pour vos titres, descriptions, courriel, noms, etc. C’est moins rapide que Yooda Submit, mais ça accélère grandement la saisie de vos données.

Choisir ses annuaires

Beaucoup d’annuaires sont littéralement de misérables dépotoires de liens, plus ou moins entretenus et sans critère de qualité. Ce genre d’endroit ne vaut pas la peine de prendre le temps de s’y inscrire. Tous les annuaires ne sont pas bons, il en existe tellement que vous pouvez vous permettre de choisir. Par exemple, vous ne devriez pas être obligé de payer ou de placer un lien de retour pour vous inscrire.

Il existe quelques annuaires de grande qualité où il est un peu difficile de pénétrer, mais il faut toujours essayer car un lien sur ces annuaires vaut bien un lien sur 50 annuaires de piètre qualité. Vous trouverez facilement une liste de ces annuaires sur Google.

Les annuaires généralistes, c’est bien, il y en a pleins; mais si vous trouvez un ou plusieurs annuaires dans votre thématique de site Web, il faudra vous y inscrire. Un lien vers votre site, dans un contexte thématique cohérent, vaut plus qu’un lien vers votre site dans un annuaire généraliste.

Un dernier conseil : évitez les annuaires de flux RSS lorsque votre site est bien jeune. Ces annuaires sont plus « importants » que vous aux yeux de Google, et puisqu’ils publient votre contenu (soit votre arme majeure), ils peuvent facilement vous voler votre position sur vos requêtes, voire même vous faire punir pour contenu dupliqué par Google!

De plus, tronquez vos fils RSS pour ne laisser diffuser qu’une petite introduction à l’article, cela vous évitera bien des ennuis sur Google. Notez cependant qu’il est par la suite très intéressant de vous inscrire sur ces annuaires, car ils vous donnent des liens en profondeur, qui se mettent tout seuls à jour lorsque vous écrivez un nouvel article. Si vous n’avez pas de fil RSS sur votre site Web, je vous conseille de lire mon article sur les flux RSS dynamiques.

Pour compléter cet article, je vous conseille de jeter un coup d’oeil à ces annuaires qui valident rapidement. Ces annuaires, de qualité ou pas, sont pratiques pour obtenir des résultats rapidement.

Référencement sur WordPress

Il existe un bon paquet de plugins pour optimiser le référencement d’un site WordPress… mais lesquels choisir?

Après avoir fait quelques essais, je trouve que le plugin WordPress le plus efficace pour le SEO est All in one SEO. Il vous permet de personnaliser les balises <title>, métas description et keywords de chacuns de vos articles, le tout très facilement. Ces personnalisations sont essentielles à un bon référencement.

Il manque à All in one SEO quelques fonctionnalités relatives aux Metas que peut compléter le plugin Meta Robots de Yoast.

Vous avez également accès à une panoplie d’options dans la page de configuration, notamment empêcher l’indexation de pages tags ou catégories, afin de gérer avec précaution les risques de contenu dupliqué.

Je conseillerais aussi SEO Smart Links qui crée automatiquement des liens vers vos pages de catégories et de mots clés, lorsque ces mots se trouvent dans votre contenu. Si vous indexez les pages de catégories et de mots clés, ça peut être une bonne manière de créer beaucoup de liens internes, le tout automatiquement. Ça ne fonctionne pas toujours, dépendamment de la mise en forme du texte, mais bon, faut pas trop en demander non plus…

Une autre astuce, efficace autant pour le référencement auprès des moteurs de recherche que pour vos visiteurs humains : lister vos articles qui traitent de sujets connexes. Et ça, Yet Another Related Posts Plugin vous permet de le faire automatiquement. C’est pas mal pour le SEO; vos liens ont plus de poids puisqu’ils envoient vers des pages ayant une thématique similaire. Enfin, je crois. Sinon, les visiteurs qui lisent votre article seront certainement intéressés par d’autres articles qui traitent d’un sujet semblable.

Connaissez-vous d’autres bons (meilleurs?) plugins WordPress pour optimiser le référencement des articles?

WordPress : Sauvegarde complète

La plupart des plugins WordPress vous permettent de sauvegarder votre base de données automatiquement, mais qu’en est-il de vos fichiers? Heureusement, il existe également un plugin pour ça!

Voici les deux plugins qu’il vous faut pour être à l’abris de la poisse :

Sauvegarder vos fichiers WordPress

Le plugin qui vous permettra de faire un backup de vos fichiers WordPress s’apelle WordPress Backup. Original comme nom, n’est-ce pas? pas étonnant qu’on ne le trouve pas!

WordPress Backup, une fois installé, crée trois fichiers zippés de répertoires du même nom :

  • uploads.zip
  • theme.zip
  • plugins.zip

Vous pouvez configurer le plugin pour programmer ses sauvegardes, exclure des fichiers, etc. C’est un plugin bien simple et qui fonctionne bien!

Sauvegarder votre base de données wordpress

Tant qu’à y être, parlons aussi des plugins de backup de base de données pour WordPress. Il en existe plusieurs, mais l’un des meilleurs (ou des plus simples) est selon moi DBC Backup. Il vous permet de scéduler vos sauvegardes de bases de données, ce qui est fortement conseillé, car la nature humaine est peu disciplinée lorsqu’il est question de faire des sauvegardes manuelles régulières!

Plugin Joomla! pour des espaces insécables dans le contenu

Voici un petit plugin pour Joomla 1.5.x qui permet de remplacer automatiquement les espaces sécables par des espaces insécables dans un article.

Ce plugin s’adresse surtout à ceux qui désirent pousser l’obsession (l’observation) des règles typographiques jusqu’au bout. Selon ces règles, plusieurs caractères ne doivent pas être coupés par un retour de ligne.

Note : Un article est en préparation pour spécifier les différents types de règles typographiques selon les pays (avec sources).

Le plugin place simplement l’entité HTML &nbsp; à la place des espaces sécables pour les caractères concernés. Lors de la rédaction de votre article, vous devez tout de même écrire une espace normale, sans quoi le plugin prendra pour acquis que vous ne désirez pas mettre d’espace du tout.

Notez qu’au Québec, il ne faut pas insérer d’espace avant le point d’exclamation et le point d’interrogation; je les ai quand même inclus au cas où des cousins de la francophonie aimeraient se servir du plugin.

Vous pouvez constater ce plugin en action sur ce blog. Ce n’est rien de très compliqué, mais c’est quand même utile.

Groupes d’utilisateurs personnalisés Joomla! + Community Builder

Il n’existe pas encore de fonctionnalité implémentée dans Joomla pour avoir des groupes d’utilisateurs personnalisés selon votre besoin. Vous êtes obligés de vous en tenir aux groupes par défaut, à moins d’utiliser JaCL (commercial), ce qui n’est pas toujours acceptable, dépendamment du projet.

Si vous utilisez Community Builder, et que vous souhaitez avoir différents groupes d’utilisateurs possédant chacun des onglets (et des champs, donc) propres à eux, il existe une solution.

Il est possible d’attribuer un onglet spécialement à un groupe d’utilisateurs; il suffit de répartir judicieusement les champs de profiles selon les onglets, pour pouvoir afficher ou ne pas afficher un onglet, dépendament du groupe auquel appartient l’utilisateur.

Cet article vous montre comment appliquer un hack manuel à Joomla 1.5.x pour permettre l’utilisation de groupes différents et personnalisés pour Community Builder.

Je préfère vous conseiller dès maintenant de faire des copies de sauvegarde de tous les fichiers que vous allez modifier, car c’est vraiment de la bidouille!

Les versions de Joomla et CB utilisées pour l’exemple sont Joomla! 1.5.9 et Community Builder 1.2 RC4.

Créer des groupes personnalisés dans Joomla

La première étape consiste à créer des groupes personnalisés dans Joomla. Pour le besoin de l’article, disons que nous réalisons un site pour une communauté comprenant deux groupes d’utilisateurs : des employeurs et des personnes qui cherchent un emploi.

Cette unique partie est tirée de la documentation Joomla, réintégrée ici dans le souci de faire un tutoriel vraiment complet (ne suivez cependant pas les instruction sur la page de documentation, elles ne sont plus à jour).

Le bidouillage commence en force ici : il faut modifier la base de données, puis exécuter un script pour la restructurer correctement. Je n’expliquerai ici pas trop comment fonctionne la table qui contient les groupes d’utilisateurs dans Joomla; je me bornerai à expliquer comment la modifier à notre guise.

Accédez à votre base de données (avec l’outil PHPmyAdmin dans mon cas). Trouvez la table des groupes, qui s’apelle « jos_core_acl_aro_groups ». Par défaut, le préfixe de table est « jos », mais vérifiez cette information et remplacez le préfixe « jos » par le vôtre s’il est différent. Dans tous les exemples nous utiliserons « jos » comme préfixe; n’oubliez pas de le changer partout!

Insérer groupes personnalisés

Donc dans PHPmyAdmin, j’accède à la table « jos_core_acl_aro_groups ». Cette table contient tous mes groupes d’utilisateurs. Nous allons donc insérer deux nouveaux groupes : un pour les employés et un pour les employeurs (ou ce qui vous conviendra). Ce qui est important, c’est de correctement spécifier comme parent_id le id du groupe d’utilisateurs parent. Dans notre cas, ce sera simplement Registered (id : 18). Donc nous insérons ces deux groupes, en spécifiant uniquement le parent_id.

Nos groupes sont insérés, mais incorrectement hiérarchisés car cette table utilise un système de hiérarchisation qui repose sur une borne gauche et droite (nombres), qui selon certains calculs permettent de spécifier quel groupe est imbriqué dans quel groupe. Pas de panique : on a un script pour regénérer les bonnes bornes pour nos deux nouveaux groupes.

Créez un fichier nommé rebuild.php, placez-le à la racine de votre site Joomla, en mettant ceci dedans :

parent_id in Joomla this is the value of the parent_id field of the Root record
// 1-> start the left tree at 1
rebuild_tree ( 0 , 1);

function rebuild_tree($parent_id, $left) {

// the right value of this node is the left value + 1
$right = $left+1;

// get all children of this node
$result = mysql_query(‘SELECT id FROM jos_core_acl_aro_groups ‘.
‘WHERE parent_id= »‘.$parent_id.' »;’);
while ($row = mysql_fetch_array($result)) {
// recursive execution of this function for each
// child of this node
// $right is the current right value, which is
// incremented by the rebuild_tree function
$right = rebuild_tree($row[‘id’], $right);
}

// we’ve got the left value, and now that we’ve processed
// the children of this node we also know the right value
mysql_query(‘UPDATE jos_core_acl_aro_groups SET lft=’.$left.’, rgt=’.
$right.’ WHERE id= »‘.$parent_id.' »;’);

// return the right value of this node + 1
return $right+1;
}
?>

…en changeant bien sûr « NOM_DUTILISATEUR », « MOT_DE_PASSE_BD » et « NOM_DE_LA_BD » par le nom d’utilisateur, le mot de passe et le nom de la BD.

Lancez le script dans votre navigateur, en accédant la page rebuild.php. Normalement, vous ne devriez rien remarquer, le script n’écrit aucune confirmation (donc une page blanche). Allez vérifier de quoi ça a l’air dans la base de données si vous comprenez un peu le système de structure hiérarchique des groupes, sinon faites-vous confiance et passez à l’étape suivante.

Configurer bornes correctes pour les groupes

Un indice : normalement vos deux nouveaux groupes devraient maintenant avoir une nouvelle valeur, autre que zéro, pour les colonnes « lft » et « rgt ». Sinon, je crois bien que vous avez dû mal spécifier les informations de connexion à la base de données, ou bien vous avez mal changé les noms des tables dans les requêtes.

Configurer le groupe de l'utilisateur

Un autre bon moyen de vérifier si tout est en ordre serait de vous rendre dans la Gestion des utilisateurs (Administration Joomla), sélectionnez un utilisateur et vérifiez que vous pouvez lui attribuer les groupes personnalisés que vous venez de créer.

Comment distribuer les profils appartenant aux groupes d’utilisateurs correspondants?

Le principe est simple : Il est possible, dans Community Builder, d’attribuer un groupe d’utilisateurs à un onglet.

Pour continuer l’exemple, rendez-vous dans la page composant de Community Builder, cliquez sur Tab Management et créez deux nouveaux onglets :

« Historique d’entreprise » : Attribuez cet onglet au groupe « Employeur », et n’oubliez pas de le publier.

« Expériences d’emploi » : Attribuez cet onglet au groupe « Employé », et n’oubliez pas de le publier.

Chaque groupe d’utilisateur personnalisé possède maintenant un onglet juste pour lui. Comme les onglets ne s’afficheront pas s’ils ne contiennent pas de champs, allez maintenant dans Field Management, et créez pour chacun de ces deux nouveaux onglets un champs (du même nom que l’onglet, on va dire), en n’oubliant pas de les placer chacun d’eux dans l’onglet correspondant.

Il est maintenant temps de s’attaquer à une problématique plutôt désagréable. Nous avons certes créé les deux groupes personnalisés d’utilisateurs, mais il n’existe en réalité dans Joomla que 3 niveaux d’accès : « publique », « enregistré » et « spécial ». Ces niveaux s’embriquent, c’est à dire que l’utilisateur « spécial » possède aussi les droits de l’utilisateur « enregistré ». Ça nous cause un certain problème, car nous souhaitons, dans cet exemple, que chaque utilisateur ait ses propres onglets, sans aucun mélange!

Par exemple, l’employeur possède dans son profil un onglet pour décrire l’historique de son entreprise, mais l’employé n’a pas besoin de cet onglet! Forcément, l’un des deux groupes aura plus de droits que l’autre, il faut donc trouver un moyen de les rendre réellement indépendants l’un de l’autre.

Il existe une solution un peu « broche à foin » : il faut appliquer un hack aux fichiers de Community Builder pour que les onglets soient réellement bien répartis. C’est maintenant que la chirurgie à coeur ouvert commence, n’oubliez pas de faire une copie de sauvegarde du fichier avant toute modification! Les numéros de ligne de code sont donnés pour la version CB 1.2 RC4, si vous possédez une version antérieure, recherchez les mêmes lignes mais leur emplacement peut avoir changé. Il y aura trois remplacements à faire, notez que nous laissons l’ancienne ligne en commenté dans le fichier.

Ouvrez le fichier [VOTRE SITE]/administrator/components/com_comprofiler/comprofiler.class.php

Cherchez cette ligne de code (ligne 3036) :

. « \n AND t.useraccessgroupid IN (« .implode(‘,’,getChildGIDS(userGID( $_CB_framework->myId() ))). ») »;

Remplacez-là par ceci :

// . « \n AND t.useraccessgroupid IN (« .implode(‘,’,getChildGIDS(userGID( $_CB_framework->myId() ))). ») »
. « \n AND (t.useraccessgroupid = « .$user->gid. » OR t.useraccessgroupid = -2) AND t.enabled = 1″

Cherchez cette ligne de code (ligne 3493) :

$sql .= « \n AND t.useraccessgroupid IN ( » . implode(‘,’,getChildGIDS(userGID( $_CB_framework->myId() ))) . « ) »;

Remplacez-là par ceci :

// $sql .= « \n AND t.useraccessgroupid IN ( » . implode(‘,’,getChildGIDS(userGID( $_CB_framework->myId() ))) . « ) »;
$sql .= « \n AND (t.useraccessgroupid = « .$user->gid. » OR t.useraccessgroupid = -2) AND t.enabled = 1″;

Cherchez cette ligne de code (ligne 3550) :

$where[] = ‘t.useraccessgroupid IN (‘ . implode(‘,’,getChildGIDS(userGID( $_CB_framework->myId() ))) . ‘)’;

Remplacez-là par ceci :

//$where[] = ‘t.useraccessgroupid IN (‘ . implode(‘,’,getChildGIDS(userGID( $_CB_framework->myId() ))) . ‘)’;
$where[] = ‘(t.useraccessgroupid = ‘ . $user->gid . ‘ OR t.useraccessgroupid = -2)’;

Ça y’est, votre fichier est correctement patché!

Donc si vous faites un test en créant un utilisateur pour chaque groupe d’utilisateurs, chaque compte utilisateur devrait normalement avoir son onglet personnalisé dans son profil.

Comment répartir les différents utilisateurs dans les bons groupes?

Maintenant que l’affichage de champs personnalisés pour des groupes d’utilisateurs personnalisés fonctionne, il faut s’attaquer à un autre problème : comment faire pour distribuer automatiquement les bons groupes aux bons utilisateurs?

En les laissant choisir!

Fort heureusement pour nous, il existe un plugin pour ça : CB JLS Group Selection, créé par Jorge Luis Savoini. Attention, ce plugin fonctionne uniquement pour Community Builder 1.2 RC3 !

Après avoir téléchargé le plugin, installez-le (au bas de la page Plugin Management du composant Community Builder).

Dans Field Management, créez un nouveau champs appelé précisément « cb_usertype », de type « Drop Down (Single Select) »). Entrez deux valeurs, soit les noms exacts de vos deux groupes, dans notre exemple « employe » et « employeur ».

Cliquez sur le plugin (JLSGroupSelector) dans la liste de la page Plugin Management pour le configurer.

Maintenant qu’il est possible pour tout le monde d’accéder à la configuration du plugin JLS Group Selection, assurez-vous que le plugin est bien publié ET activé (enabled).

Il vous suffit de demander obligatoirement à l’utilisateur de répondre au champ « cb_usertype » à l’enregistrement pour le forcer à choisir son groupe!

Voilà, c’est tout! C’est bien complexe pour quelque chose qui devrait pourtant être très simple…

J’aimerais remercier Jorge Luis Savoini pour l’aide qu’il m’a apporté afin de solutionner le problème dont est sujet cet article, et pour son plugin très utile!