TYPO3frUniversity2008 : J+1

Deuxième journée pour cette semaine qui s’annonce complète et variée. Cette fois-ci j’ai pris le soin de me présenter un peu plus tôt pour être sur d’avoir le nécessaire pour ma présentation qui était consacré au “Templating avec TYPO3″ (prévue à 11h ce matin). D’ailleurs j’ai raté l’invervention “TYPO3 pour les nuls” effectuée par Christophe (Onext !) ou “TYPO3 par les nuls” comme le disait assez souvent Paul (ah ah ah).

J’ai donc profité du temps que j’avais pour réaliser quelques captures sur TemplaVoilà en me rendant sur le site de l’université TYPO3 qui avait une configuration complète du système en place et également rattacher les diapos de Duch qui avait préparé quelque chose pour sa présentation sur deux techniques de templating : Typoscript et Automaketemplate. Comme vous le comprenez, la conférence a été découpée en plusieurs parties et plusieurs intervenants, il s’agissait la de regrouper les infos dans un même document de présentation.

A 11h, nous avons pu effectuer notre présentation et ainsi lancer le Troll de la semaine “Automaketemplate CONTRE TemplaVoilà” et bien sûr cela n’a pas loupé. La preuve en image sur youtube, puisque quelques vidéos sont disponibles ou l’on me retrouve en plein exposé sur TemplaVoilà :

Je pense avoir réalisé un travail correcte, mais un peu rapide (en 15mn j’avais terminé toutes mes diapos et il en restait 15 autres minutes à combler). J’ai alors terminé par ma présentation parce ce qu’il ne faut jamais faire, c’est à dire “mettre en avant les désagréments et bogues de TV”.

Pour résumé un peu cette intervention, retenons qu’aucun des systèmes de Templating n’est parfait, cela dépend de vos habitutes et vos besoins. L’automaketemplate que je connaissais peu, est très proche de TYPO3 et donc du Typoscript, il permet alors de réaliser pratiquement ce que l’on veut, autant qu’il faille ajouter des lignes de Typoscript en plus et maitriser le principe. Avec TemplaVoilà c’est différent, car un assistant nous aide à intégrer les gabarits et de créer des choses un peu différentes comme les FCE par exemple, mais à coté de ça, la couche XML qui se trouve entre TYPO3 et TV rend certaines tâches avancées plus difficile malheureusement (j’ai l’impression que je répète bêtement ce que Duch m’a rabacher dans les oreilles toute la journée lol). Nous n’avons pas pu aborder concrètement un comparatif des deux pendant cette courte présentation et j’imagine que la plupart du monde dans la salle se contenterons d’installer et utiliser l’extension TemplaVoilà qui fait bien le travail et qui est très populaire.

La journée n’était pas terminé, car en après midi, je me suis attardé à donner un atelier non pas sur TV, mais sur le Typoscript en version initié et approfondi. Très beau défi d’expliquer au monde comment fonctionne le Typoscript. Je me suis régalé à suivre et mettre en place les formations que je donne à Québec et qui sont basé sur le gros livre sur TYPO3 (qui existait en français à la bonne époque, mais uniquement disponible en PDF actuellement).

L’initiation leur a permis de découvrir l’interface de TYPO3, d’apprendre à écrire du code simple (variable, propriété, valeur, objet) et quelques principes comme la copie, les références, la destruction d’objets. Deux heures bien remplies et m’a t’on dit, très bien organisé et strucuré (content le gars !). C’est tant mieux car la suite allait s’annoncer un peu plus complexe, quoi que… j’ai eu un peu de difficulté à passer de l’initiation à l’approfondissement, tant il y a de choses à dire sur TYPO3 son interface et son pseudo language. Mais au final, la deuxième partie à permie d’aborder les menus (TMENU et très rapidement GMENU), l’organisation du code (dans des dossiers systèmes) ainsi que l’affichage des données provenant des différentes colonnes de TYPO3 (styles.content.get) et quelques autres petites choses comme la propriété FIELD de la fonction stdWrap.

Avec ces deux ateliers (4h de Typoscript !), je voulais vraiment que les personnes aient de bonnes bases avec TYPO3 et puisse être familiarisé avec la document dont le  tsREF, alors effectivement beaucoup de temps ont été pris pour des choes qui n’étaient pas très complexe, mais essentiel. Malheureusement plusieurs points n’ont pas été abordé comme par exemple la création d’un fil d’ariane, l’appel d’un script PHP, les conditions ou l’installation et configuration d’une extension comme tt_news qui permet de découvrir la manipulation des gabarits HTML.

Plus tard, j’ai appris que les autres groupes (il y avait 4 groupes à chaque fois !), étaient parti du site de l’université TYPO3 comme base de travail avec un aperçu du code Typoscript et de TemplaVoilà. Personnellement je ne regrette pas le choix dy avoir été plus lentement et d’avoir pris le temps de faire un menu de navigation. Je savais en plus que le lendemain je pourrais refaire un peu de Typoscript avec l’atelier sur TemplaVoilà.

La journée ne fût pas terminé, car j’avais cédulé une petite rencontre avec les organisateurs et conférenciers juste après les ateliers qui avait pour thème : “Faiblesses de TYPO3 : Quelques exemples et solutions“. Cette rencontre a durée une heure et s’est tenue à l’écart. Elle fût dans l’ensemble assez bonne, même si elle n’a pas été vraiment préparé :-(

Voici une liste des points aborés et les discussions :

  • Les workspaces : Nous avons critiqué les points faibles des espaces de travail, qui ne répondaient pas en parti à la gestion des Workflows, car beaucoup trop complexe dans des besoins très simple. Finalement, nous nous sommes entendu pour dire que les Workspaces peuvent être pratiquer pour développer de nouvelles sections sur un site web et de publier le tout en une seule opération, mais que pour une gestion de workflow simplifié, il fallait mieux développer quelque chose de nouveau. Ce qui nous a amené à se demander si nous ne pouvions pas créer ensemble un projet qui aurait comme but justement de créer un système de workflow de ce type.
  • La prévisualisation : J’ai posé à l’ensemble des personnes présentes s’ls avaient une solution de prévisualisation de contenu, mais aucun ne semblait comprendre mon besoin, me réorientant la plupart vers les Workspaces. Bref, nous nous sommes entendu sur l’idée d’ajouter un nouveau bouton à coté de ceux existant (Fermer, Enregistrer, etc ..) qui aurait pour but de prévisualiser le contenu, un peu à la manière des workspaces. Malheureusement, pas de solutions à mettre en place rapidement.
  • RTE - Gestion des erreurs : Voici un autre point qui m’est venu à l’esprit. Celui concernant la gestion des erreurs coté RTE. Est-il possible d’afficher des erreurs personnalisés au lieu d’avertir l’utilisateur qu’un des champs est mal ou pas du tout renseigné. La une fois de plus, rien de concrêt, on a proposé une solution en javascript qui permettrait d’afficher l’erreur au moment ou l’on quitte le champ en question. Encore faut il savoir comment ajouter du JS à cet endroit de TYPO3 et le personnalser.
  • Contenu sur demande : A la manière de eZPublish, quelqu’un nous a exprimé son regret de ne pouvoir créer du contenu rapidement, du moins des formulaires de saisi qui pourraient mis à disposition des utilisateurs, soient du coté Frontend, soit du coté Backend. C’est vrai que TYPO3 offre le kickstarter pour faire ce genre de chose et il faut avouer que ca n’est pas très compliqué, mais ca reste encore accessible qu’aux développeurs. Si d’autres solutions comme eZpublish ou Drupal offre cette solution, esperons que nous pourrons aussi la trouver un jour dans TYPO3. J’allais oublier que Yolf nous a expliqué qu’il avait amélioré le Kickstarter pour ses besoins, mais que le Kickstarter n’était pas vraiment conçu pour être étendu et que ces travaux ne pourraient difficilement êre récupérable et intégrer dans les versions actuelles du Kickstarter. D’après lui ses travaux améliorait grandement la création de contenu sur demande.
  • Le RTE : Si certaines personnes n’apprécient pas le RTE, existe t’il d’autres alternatives ? Certains ont pu s’exprimer et nous dire que les autres extensions n’étaient pas meilleure. Mais nous avons eu droit à une superbe démonstration (désolé me souviens plus de son prénom, juste de sa tête lol). Il nous a montré sa solution, qui consistait à utiliser Word et des styles particuliers (en faite identique à ceux disponible dans le RTE). Ceci afin que le client puisse saisir toutes ces contenus directement dans Word, puis par le biais d’un copier-coller, mettre le tout dans une zone du RTE. Il faut noter ici que cette solution n’est utile que lors de la création ou migration d’un site. Au jour le jour, cela deviendrait surement fastidieux que de passer par Word à chaque fois. Il a d’ailleurs proposé de mettre à disposition ces petites modifications du RTE et de sa configuration pour celui qui voudraient utiliser cette approche qui était je l’avoue assez efficace et qui pourrait s’adapter facilement à OpenOffice Writer.
  • RealURL : Duch (c’est le seul que je me rappele), a fait un petit apparté sur l’extension CoolURI, qui est d’après lui une très bonne alternative à RealURL.
  • Traduction de tt_news : Je me suis exprimé concernant un petit problème que j’ai rencontré avec tt_news et qui doit l’être avec n’importe quelle existension à savoir la traduction d’un fichier de langue par défaut (donc l’anglais). Mais personne n’a rien compris ;-) Sans doute parce que ca n’était pas clair aussi pour moi. Juste en une seule phrase : Si je modifie la traduction en anglais d’une extension avec llxml, ca n’est toujours sûr que mes modifs aillent se mettre dans le répertoire typo3conf/l10n/fr/ et donc lorsque je viens à mettre l’extension à jour, je perd mes traductions. Est ce exacte ?
  • Code Typoscript : Mettre son code Typoscript dans un fichier externe (dans fileadmin), est ce la solution idéale ? D’après plusieurs intervenants oui si l’on utilise SVN pour son site. Dans ce cas, mettre dans son repository SVN le contenu du dossier FILEADMIN ainsi que du répertoire TYPO3CONF/EXT/. Je ferais un autre billet à ce propos pour faire suite à un ancien billet que j’avais déjà rédigé ici même.

Bon finalement, il n’y a pas eu tant d’inverventions que ça, car nous n’avions pas vraiment préparé les questions. L’année prochaine, nous pourrons renouveler l’expérience et pourquoi pas en faire un résumé lors d’une intervention devant tout le monde le lendemain ?

Sur ce, merci à tout ceux qui étaient présent lors de cette rencontre.