Infos

Fil RSSÉquipe Infoglobe

Archives

Flexform et itemsProcFunc

Mehdi Guermazi | CMS/SGC,Développement,Web | Mardi, 21 juin 2011

Ces derniers temps, l’équipe Infoglobe a été assez active sur le blogue. C’est le T3CON à San Francisco qui nous a inspiré tous. Nos articles, bien qu’intéressants, n’étaient pas très techniques. Cependant, notre blogue s’adresse aussi aux programmeurs et aux utilisateurs invétérés de notre SGC favori TYPO3.

C’est la raison pour laquelle j’ai décidé aujourd’hui, de vous parler d’une astuce que j’ai appris il y a de cela quelques mois. Les logiciels libres c’est avant tout un partage de connaissances!

Flexform et itemsProcFunc

Récemment, j’ai dû développer une extension qui liste des enregistrements provenant du DAM (Digital Assets Management). Très simple me diriez-vous? C’est vrai lorsque nous sommes seul à gérer un site. La plupart du temps, les sites web et les intranets que nous développons pour nos clients sont beaucoup plus complexes que ça. Ils impliquent un grand nombre d’intervenants (utilisateurs back-end BE) et un grand nombre de rôles et de permissions (groupes back-end BE). Le choix des enregistrements dans le formulaire back-end créé grâce à un « flexform » dépend donc des permissions accordées à l’utilisateur BE courant et aux groupes auxquels ce dernier appartient.

Supposons par exemple que notre utilisateur BE appartienne à un groupe BE qui a pour « filemount » un dossier bien précis. Il ne faudrait pas dans ce cas, lui afficher des enregistrements du DAM qui ne sont pas inclus dans ce dossier.

Exemple :

Un champ de type select dans un flexform

Un champ de type select dans un flexform

 

<config>
  <type>select</type>
  <foreign_table>table</foreign_table>
  <foreign_table_where>
      AND table.champ_1 = x  AND table.champ_2 = y
      AND table.deleted = 0 AND table.hidden = 0
      ORDER BY table.champ_3 ASC
  </foreign_table_where>
</config>

Dans un flexform, nous pouvons utiliser un « select » avec un « foreign_table » et faire des requêtes simples avec « foreign_table_where » comme dans l’exemple ci-haut. Par contre, la tâche devient plus ardue lorsqu’on arrive au point où il faut jouer dans plusieurs tables de la base de données et chercher dans des relations stockées dans un champ grâce à des indentifiants séparés par des virgules.  Heureusement que TYPO3 est assez flexible pour nous permettre de tout configurer selon nos besoins. Dans le « flexform » nous pouvons utiliser « itemsProcFunc », qui nous permet d’aller chercher les items de notre « select » dans une userfunc.

Dans la classe user_maclass, il suffit d’avoir une fonction addElements qui nous permettra de faire les requêtes les plus complexes possibles. Cette fonction peut recevoir deux variables par référence : &$config et &$ref. La première contient toute la configuration du champ du flexform en question. On pourra alors accéder à la valeur du paramètre « exemple » dans $config['config']['exemple']. Nous pouvons aussi modifier les valeurs dynamiquement, seulement en les attribuant à la variable : $config['items'] = array_merge($config['items'],$optionList);.

Flexform :

 <config>
  <type>select</type>
  <itemsProcFunc>user_maclass->addElement</itemsProcFunc>
  <exemple>valeur</exemple>
</config>

class PHP :

 class user_maclass {        
   function addElement(&$config) {
      $optionList = $this->getList($config);
      if(is_array($optionList)){	    
         $config['items'] = array_merge($config['items'],$optionList);
      }	    
   }
}

Attention – la class class.user_maclass.php doit être incluse par le fichier ext_tables.php de la façon suivante :

include_once(t3lib_extMgm::extPath($_EXTKEY).'class.user_maclass.php');

Pour accéder aux données de l’utilisateur BE courant, nous avons la variable globale $BE_USER.

Exemple :

global $BE_USER;

if(!$BE_USER->isAdmin()){        
   //Récuperer les usergroup de l'utilisateur actuel    
   $ug = $BE_USER->user['usergroup'];    
   $arrug = explode(',',$ug);
}

On pourra toujours affirmer que TYPO3 est difficile à apprendre, du moins, pour les développeurs et non pas pour l’utilisateur final. Mais personne ne peut nier la force et la flexibilité de ce SGC.

T3CON11SF jour 2 : « Continuous Delivery » par Jez Humble

Mehdi Guermazi | T3CON,Web | Lundi, 13 juin 2011

Après une première journée très réussie au T3CON11SF, nous sommes passés aux choses sérieuses. Aujourd’hui, beaucoup de gens ont rejoint la conférence. C’est impressionnant de voir autant de personnes intéressées par le SGC TYPO3 et qui prennent la peine de faire un long voyage pour approfondir leurs connaissances et contribuer à la promotion de ce produit.

Jez Humble et Mehdi Guermazi au T3CON11SF

Lors du 2e matin au T3CON, nous commençons la journée avec la présentation de Jez Humble, qui nous parle de la méthode Agile et des processus de mises a jour des développements logiciel. Jez est l’auteur du livre « Continuous Delivery » (plus d’information sur http://continuousdelivery.com/).

L’idée principale de la présentation repose sur l’importance d’augmenter le nombre de mises à jour et de réduire au maximum le nombre de fonctionnalités ajoutées. Selon lui, il ne faut surtout pas développer de fonctionnalités qui ne seront pas utilisées. Lorsqu’on augmente le nombre de mises à jour, on reçoit plus de « feed-back » des clients, ce qui assure une meilleure orientation pour les futures améliorations du logiciel. Dans le même ordre d’idée, Jez a recommandé d’éviter les branches dans un logiciel de gestion de version décentralisée dans le cas ou les « merge » ne sont pas fréquents.

Pour conclure, notre présentateur nous a rappelé que le plus important, dans le processus de développement d’applications, c’est toujours les personnes impliquées. Il faut donc fréquemment organiser des réunions de suivi pour tenir les participants au courant des étapes du projet.

Trois nouvelles extensions TYPO3

pboivin | CMS/SGC,Web | Mardi, 19 avril 2011

En premier lieu, je tiens à vous informer que le blogue est toujours actif. Toute l’équipe d’Infoglobe est en période de livraison pour différents mandats. En conséquence : un peu moins de temps à consacrer au blogue.TYPO3

Personnellement, j’ai publié trois nouvelles extensions qui ont été déposées sur le répertoire des extensions de la communauté TYPO3.

Voilà une petite description de chacune d’entre elles :

Tout d’abord, suite au billet de Yannick Pavard sur la disponibilité d’une nouvelle langue dans TYPO3, le français-Canadien (http://blogue.infoglobe.ca/2010/12/21/traduction-quebecoise-de-typo3/), nous avons développé une extension qui permet d’avoir une langue alternative dans l’interface administrative de TYPO3. Effectivement, il est maintenant possible avec cette extension d’avoir comme langue primaire le français-Canadien, puis comme langue secondaire le français. Ainsi si un terme de l’interface n’est pas disponible en français-Canadien, le terme en français sera utilisé et finalement si le terme n’est pas disponible en français, le terme par défaut de TYPO3 (c’est-à-dire en anglais) sera utilisé. Cette configuration peut s’appliquer pour chaque utilisateur, exactement comme la préférence de langue par défaut de TYPO3. Non seulement l’extension est utile pour les Québécois, mais aussi certains pays d’Europe ou d’Amérique du Sud qui ont plusieurs langues officielles autres que l’anglais.
Pour l’extension c’est ici : ig_alternate_lang

Ensuite, une deuxième extension publiée concerne l’accessibilité des sites. L’extension permet d’ajouter très facilement les options de grossissement et de réduction des polices de caractères dans la page. Il suffit d’installer l’extension et de la mettre quelque part dans notre Typoscript et elle est fonctionnelle automatiquement. L’extension se rappelle, à l’aide des cookies, des préférences de grossissement de l’utilisateur. Il est possible d’utiliser l’extension de deux façons différentes :
- Un seul bouton qui effectue le grossissement et la réduction des polices (deux états possibles)
- Deux boutons, un qui grossit, un qui rétrécit (autant d’états possibles souhaités)

Voici deux exemples d’utilisation l’extension : http://www.santelaurentides.qc.ca/, http://www.dsp.santemontreal.qc.ca/
Pour l’extension c’est ici : ig_control_fontsize

Finalement, la troisième extension publiée permet d’afficher un résumé de la météo provenant du site d’environnement Canada. Évidemment, l’extension est seulement utile pour les sites Canadien. Il est possible de spécifier n’importe quelle ville Canadienne à afficher. De plus, lors du clique sur la température actuelle l’extension affiche les prévisions sur un nombre de jours configurable.
Pour l’extension c’est ici : ig_meteo

Une clé « qc » pour la traduction québécoise de TYPO3 !

ypavard | CMS/SGC | Mercredi, 12 janvier 2011

Voici une bonne nouvelle pour l’année 2011. Le SGC TYPO3 est maintenant disponible avec une nouvelle langue : Le français Canadien ! et la clé qui représente cette langue dans TYPO3 se nomme « qc ».

Cet aboutissement a été réalisé grâce à Stanislas Rolland, un des membres du « core » de TYPO3 bien connu pour son implication dans l’éditeur de texte de TYPO3 (Rtehtmlarea) et aussi québécois de souche soit dit en passant. Après avoir  proposé cette nouvelle clé « qc » à son équipe, celle-ci a été acceptée très rapidement.

Pour ceux qui veulent profiter de cette traduction, il faudra attendre la prochaine version de TYPO3, la version 4.5 qui est attendue pour le 26 janvier 2011 et qui offrira l’accès à la version québécoise. (Lire la suite…)

Traduction québécoise de TYPO3

ypavard | CMS/SGC | Mardi, 21 décembre 2010

C’est temps ci, je suis pas mal occupé à la fois pour livrer des sites Web TYPO3, je pense notamment au site de l’OPQ mais surtout pour me perfectionner dans l’accessibilité Web. D’ailleurs je viens de terminer un cours de 45 heures sur le sujet, ce sera sûrement une grosse partie des futurs billets de ce blogue dès que j’aurais plus de temps et délaisser un peu TYPO3.

Problématique et approche

En tout cas, voici une nouvelle que j’avais hâte de déposer ici ! Cela fait plusieurs mois (oups années ??) que j’ai commencé à travailler sur la traduction québécoise de TYPO3, en faîte lors de la sortie de la version 4.2.6 de TYPO3. Avant cela je m’impliquais déjà beaucoup dans la traduction française que j’ai du délaissé depuis. Le respect de la langue française au Québec est primordial. Ici on entend très souvent le mot “courriel” pour dire “mail”. On essaye également de dire “plugiciel” au lieu de “plugin”. Tous ces exemples pour démontrer les différentes que l’on souhaitait corriger dans la traduction actuelle de TYPO3. Mais je dois vous dire très sincèrement que le plus gros du travail que nous avons effectué n’était pas pour corriger ces petites erreurs, mais très souvent pour soit carrément offrir une version en français quand la traduction n’existait pas ou soit revoir la traduction existante qui ne correspondait pas au contexte. La traduction d’un outil aussi puissant et complexe que TYPO3 nécessite des heures et des heures de travail, le tout effectué de manière bénévole par la communauté. Je ne veux pas remettre en cause leur travail, mais pour l’avoir effectué dans le passé, je peux vous dire que faire de la traduction d’interface demande beaucoup de temps et de concentration. Car il ne suffit pas de traduire mot à mot comme le ferait une traduction sur le net, mais de toujours se poser la question “Ou va s’afficher ce mot ou cette phrase ?” et d’aller vérifier dans bien des cas. Le contexte a été une des tâches les plus longues dans ce travail de traduction. (Lire la suite…)

Université d’été 2010

ypavard | Événements | Lundi, 26 avril 2010

Cela fait maintenant un mois que je n’ai pas mis de message sur le blogue et pourtant ce ne sont pas les choses qui manquent du côté de TYPO3. J’avais le goût de parler de la nouvelle version de TemplaVoilà qui offre vraiment son lot de nouveauté, mais je vais plutôt m’attaquer à la prochaine version de TYPO3, la version 4.4 qui va offrir elle aussi son lot de nouveauté et pas à peu près ! Ce sera dans mon prochain billet.

Mais pour l’instant, parlons de ce qui s’en vient cet été en France. Du 28 juin 2010 au 2 juillet 2010 aura lieu la troisième édition consécutive de l’Université d’été TYPO3 à Annecy ! Toutes les informations sont sur le site Web : http://uni.typo3.ma/ Pendant une semaine retrouvée des experts TYPO3 de la communauté francophone. Cette année je ne pense pas y aller, il faut dire que ça fait un peu loin, malgré que l’ambiance est vraiment géniale ainsi que le paysage ! Si vous voulez rencontré des passionnés, alors faites l’effort de vous y déplacer, je passe un coucou à tous ceux et celles que j’ai rencontrés l’an dernier et avec qui j’ai eu le plaisir de discuter de TYPO3 ou tout simplement me promener dans les rues d’Annecy. (Lire la suite…)

De passage à Confoo 2010

ypavard | Événements,Québec | Dimanche, 14 mars 2010

Comme tous les ans a lieu à Montréal la conférence Confoo (anciennement connue sous le nom de PHPQuébec). Si vous vous souvenez, l’an dernier j’avais fait une présentation (TYPO3 en une heure) et un compte rendu exhaustif sur le blogue.

Cette année, je ne comptais pas me rendre à l’événement pour diverse raisons, mais il se trouve que j’étais de passage à Montréal jeudi et j’ai décidé d’aller voir mes collègues de travail sur le stand du salon d’emploi qui a lieu depuis 2 ans maintenant et qui permet à des recruteurs de trouver de nouveaux développeurs entre autres.

Aussi je ne vous parlerais pas des conférences, je n’ai même pas eu le temps de regarder le programme à vrai dire. Par contre du côté du réseautage c’est toujours aussi intéressant ! Il faut dire que tous les ans, j’ai la chance de discuter avec plein de connaissances et d’amis du milieu ! S’il y a un bien un événement à noter dans votre calendrier, c’est bien celui-ci et juste pour cela, j’espère y retourner l’an prochain.

J’ai ainsi pu discuter avec des gens comme Sylvain Carle, que j’avais invités dans le cadre de l’émission « La voix du libre » sur ZapQuébec, ou encore Rémi Prevost pour l’émission sur le Macintosh. Ou bien le webmestre du site Agendadulibre.qc.ca et bien sûr toutes l’équipe de Confoo que je connais maintenant depuis plusieurs années, pour avoir animer le groupe de PHP Québec dans la ville de Québec il y a quelques années, mais aussi pour avoir participé en tant que conférencier et bénévole pour PHP Québec. Mais arrêtons de nous lancer des fleurs, parmi les rencontres que j’ai ratées, il y a eu celle avec Tarek Ziadé de la communauté Python que j’avais rencontré lors des RMLL2004 et que j’aurais eu plaisir à revoir.

Pourquoi prendre le temps de vous parler de Confoo si ce n’est pas pour vous parler des conférences ? Sans doute, parce que j’ai d’autres amis comme Christian Aubry qui est un excellent communicateur et vidéaste du Web et Marc-André Lanciault de Inbox International qui m’ont offert un 8mn d’entrevus pour parler d’Infoglobe et de TYPO3 ! Ouah quelle chance !

Alors, vous voulez en savoir plus sur Infoglobe et TYPO3 ? c’est par ici :

100% de réussite pour la certification TYPO3 !

ypavard | CMS/SGC | Jeudi, 04 mars 2010

Voilà la nouvelle vient de tomber : 100% des intégrateurs TYPO3 qui ont passé le test chez Infoglobe il y a plus d’un mois maintenant sont tous certifiés « TYPO3 integrator ».

Comme j’en avais déjà parlé à l’époque, nous nous étions bien préparés grâce au livre et nous avons été récompensés puisque parmi les 8 personnes présentes, tous ont réussi le test des 75 questions. Il n’y a plus qu’à attendre la prochaine session au Québec pour y envoyer mes nouveaux collègues tout nouveaux adeptes de TYPO3 ;-)

Cette certification va nous permettre ainsi de renforcer notre expertise avec le SGC TYPO3 auprès de notre clientèle et pour nos futurs mandats. Sans oublier que nous allons pouvoir nous vanter d’être l’une des entreprises avec le plus de certifiés au Québec, au Canada et aux USA !

Voici la liste des heureux élus :

  • Boivin Pierre
  • Guermazi Mehdi
  • Miousse Michael
  • Ouellet Simon
  • Pardanaud Julia
  • Pavard Yannick
  • Ricard Christian
  • Tremblay Michel

S’ajoute à cela Patrick Gaumond, qui avait déjà passé la certification il y a un an à Dallas.

Le Typoscript, c’est quoi exactement ?

ypavard | CMS/SGC | Dimanche, 14 février 2010

Voici un billet qui peut paraître anodin pour ceux et celles qui connaissent déjà le CMS TYPO3, mais il me paraît essentiel de rappeler que sans le Typoscript, TYPO3 n’est rien !

Les quelques explications qui suivent sont destinées à un public déjà connaissant avec le SGC TYPO3, mais jugé non expert avec ce qu’est le Typoscript.

Mais qu’est-ce que le Typoscript ? Je me souviens qu’a mes débuts avec TYPO3, aux alentours de 2004 lors de mes premières lectures, il y avait des polémiques autour du TS (appelons-le comme çà par la suite ce sera plus simple). On disait alors que c’était comme du XML et donc pourquoi réinventer la roue ! On parlait alors d’un nouveau langage à apprendre, un énième ! Bref, tout un tas de raison pour dévaloriser TYPO3 et freiner tout novice que j’étais dans mon apprentissage de TYPO3. Je vous dirais que comprendre la mécanique de TYPO3 tout seul dans son coin est assez long, même si on vous montre quelques petits trucs, il y en a toujours et encore à apprendre. Donc faire le tour et comprendre l’intérêt réel du Typoscript ne se fait pas du jour au lendemain.

Maintenant après plusieurs années d’utilisation de TYPO3, je peux vous dire que je comprends mieux l’intérêt d’utiliser du Typoscript dans des projets de sites Web. J’irais même jusqu’à dire que Typoscript est l’avantage numéro 1 pour le CMS TYPO3 par rapport à tous les autres CMS de la planète (c’est un peu gonflé çà non ?), opensource ou non d’ailleurs. Il y a quelques années, je n’aurais sûrement pas été à l’aise pour dire çà et j’aurais sûrement mis en avant en avant d’autres avantages : les nombreuses extensions, le TER (le serveur qui gère les extensions et permet de pouvoir en importer facilement dans TYPO3), les Hooks ou les XCLASS. Sauf que maintenant les autres CMS ont déjà intégré ces mécanismes. Sur WordPress c’est extrêmement simple d’installer une nouvelle extension ou de la mettre à jour, de même qu’avec Drupal, l’étendre, le « hacker » ça se fait aussi avec des Hooks. Mais toutes ces solutions n’ont pas encore compris l’intérêt d’avoir un outil de configuration intermédiaire comme le Typoscript.

(Lire la suite…)

Se préparer pour passer la certification TYPO3

ypavard | CMS/SGC,Québec | Jeudi, 28 janvier 2010

Ebook TYPO3Voilà que hier soir, j’ai eu l’occasion de passer la certification « TYPO3 integrator » (sous entendu TYPO3 Intégrateur/Administrateur). On peut dire que c’est un peu grâce à Infoglobe si un représentant de l’association TYPO3 est venu ici à Québec pour faire passer la certification à la vingtaine de personne qui étaient la hier soir, car cela fais presque un an maintenant que nous j’avais contacté Dominic Brander, le leader de la certification pour leur proposer de venir nous voir. Si vous aussi vous voulez organiser une certification dans votre ville, suivez ce lien : http://certification.typo3.org/index.php?id=60

Pour rappel, cette certification dure 2 heures environ, mais si on retire les préparatifs, l’accueil, les explications, il reste un bon 90 minutes pour réaliser les 75 questions. Le tout s’effectuant à la bonne vieille méthode sur papier, style fourni (un stylo à 250$ comme dirait mon collègue Mehdi, ca se garde !)

Il va s’en dire que vous signez un papier stipulant que vous ne pouvez parler du contenu du test, aussi je ne vais pas pouvoir vous énumérer les questions les unes après les autres. Mais ou est il marqué que je ne peux vous parler du livre qui permet de se préparer à la certification ? (Lire la suite…)