Rapport synthèse : TYPO3 - Blogs du Cégep de Sainte-Foy

Transcription

Rapport synthèse : TYPO3 - Blogs du Cégep de Sainte-Foy
Melanie Bilodeau
Groupe 01
Rapport synthèse : TYPO3
Apprentissage autonome 582-FXA-06
Techniques d’intégration multimédia
Cégep de Sainte-Foy
Lundi 25 mars 2013
Table des matières
TYPO3 - Bilan final!
3
Semaine 1!
3
Semaine 2!
4
Semaine 3!
4
Semaine 4!
5
Semaine 5!
6
Semaine 6!
6
Semaines 7 et 8!
7
Technologies employées!
7
Perspectives!
8
Médiagraphie!
10
2
TYPO3 - Bilan final
L’idée de départ pour mon apprentissage autonome me venait principalement de mon premier
stage en entreprise au Ministère de l’Éducation, du Loisir et du Sport. Nous avions alors eu
l’occasion d’effleurer le domaine des SGC (systèmes de gestion de contenu ou CMS en
anglais) à l’aide de TYPO3. Comme à ce moment, je m’étais fais conseillé, si je désirais tant
continuer de travailler dans un des ministère du gouvernement, que ce serait une bonne idée de
mieux connaître ce SGC. Sachant que ce n’était pas un système que l’on pouvait apprendre en
quelques jours, je voulais tout de même en apprendre le plus possible. Je voulais donc mieux
me familiariser avec l’interface, apprendre à me servir du TypoScript et du PHP à l’intérieur de
TYPO3, à intégrer des feuilles de styles et me familiariser avec bases de l’utilisation du CMS.
J’espérais ainsi arriver à un niveau intermédiaire dans son utilisation afin d’être suffisamment à
l’aise pour m’en servir de façon autonome sur le marché du travail. Je savais déjà que ce SGC
était utilisé au MELS et dans d’autres ministères, par contre, je n’avais aucune idée s’il était
utilisé dans d’autres types de projets, ce que j’espérais découvrir tout au long de mes
recherches. Au départ, ma crainte était de ne pas arriver à comprendre ce sur quoi j’allais
travailler. Je ne savais pas non plus si dans une entreprise j’allais pouvoir me servir de ses
nouvelles connaissances si jamais je ne voulais pas travailler dans un ministère. Par contre,
comme j’avais eu l’occasion d’avoir un aperçu de ce qu’on pouvait accomplir à l’aide d’un CMS,
je trouvais intéressant de voir son fonctionnement, comment les éléments pouvaient être
interprétés et affichés.
Semaine 1
Afin de mieux commencer mon apprentissage, j’avais pensé à débuter par les débuts, soit par
l’installation de TYPO3 sur mon ordinateur afin de m’en servir en local. Après plusieurs jours de
recherche sur le web et dans mes livres, j’ai fini par trouver les sources que je croyais avoir
besoin. J’ai ensuite pu me familiariser avec le type d’erreurs affichées par le CMS, qui se
rapportent beaucoup plus aux erreurs PHP qu’à ce que je m’attendais. J’ai ensuite appris ce
qu’étaient les bases de la création d’une page web. J’arrivais à afficher des phrases simples
dans mon navigateur (Google Chrome).
Comme la plupart des étudiants à qui j’ai parlé, j’ai rencontré différents problème, surtout au
cours de l’installation du CMS sur mon ordinateur. Celui-ci était trop plein, ce qui a nécessité de
3
transférer un maximum de données sur mon disque dur pour laisser plus d’espace de travail
disponible.
Semaine 2
La semaine suivante, j’avais l’intention de rattraper le retard que je savais avoir déjà cumulé sur
ma liste d’apprentissage. Je voulais donc commencer rapidement à utiliser les gabarits comme
j’en avais souvenir de ma courte formation à mon stage. J’ai donc voulu installer TemplaVoilà,
une extension me permettant de créer rapidement des gabarits dans TYPO3. Jusqu’au moment
où je me suis aperçue que la version que j’avais trouvée du CMS était trop récente et n’avait
pas suffisamment de support pour que je puisse en retirer quoi que ce soit lorsque les erreurs
nombreuses sont apparues. J’ai donc préféré tout recommencer et installer une version moins
récente, mais mieux soutenue par la communauté TYPO3. J’avais ainsi plus de chance d’avoir
du support lorsque je rencontrerais un problème qu’avec une version tout nouvellement mise en
ligne.
En terme de problèmes, une version trop récente de TYPO3 m’empêchait de comprendre et de trouver des
solutions aux problèmes qui survenaient suite à son installation et à celles d’extensions. J’ai donc passé
plus de temps à gérer ces conflits de versions qu’aux autres tâches que je voulais accomplir cette semainelà, entre-autre de commencer à me renseigner sur les gabarits.
Semaine 3
Ce n’est qu’avec une semaine de retard que j’ai finalement pu me mettre réellement à l’apprentissage des
gabarits dans TYPO3. Cette semaine a été l’une de mes semaines les plus productives en terme d’erreurs
face à mes avancements. Je me suis concentrée un peu plus sur ce qui était plus nécessaire d’apprendre et
sur ce qui me serait plus utile. Je suis donc retournée lire de la documentation sur les usages fréquents de
TYPO3, mais aussi sur ce qu’était le rôle du développeur, ce que sont ses tâches à lui dans tout ça. Je me
suis donc aperçu que la plupart des connaissances d’un développeur tournaient autour du TypoScript (TS),
des extensions et du développement de celles-ci. J’ai pris le temps de relire les bases et les explications
me permettant ainsi de mieux comprendre ce que j’allais entreprendre une nouvelle fois. J’avais encore
quelques notions sur les gabarits qui m’intriguaient, entre-autre la différence entre un gabarit HTML et un
gabarit TypoScript. J’ai fais quelques expériences tout au long de ma semaine d’apprentissage. J’ai donc
exploré ce que l’on pouvait faire à l’aide du TS, les quelques bases à connaître pour les gabarits. Au final,
à travers mes lectures et mes expérimentations, j’ai reconnu la ligne de TS qui permettait de configurer
TemplaVoilà et que j’avais volontairement mis en commentaire puisque j’avais désinstallé l’extension.
Par curiosité, j’ai réinstallé TemplaVoilà et remis la ligne de code. À mon plus grand étonnement,
4
l’extension s’est mise à fonctionner à merveille, sans aucun problème d’affichage ni de table de données
manquantes. J’ose donc imaginer qu’avant d’installer TemplaVoilà, je devais avoir certaines autres bases
en TypoScript pour que le tout fonctionnement convenablement.
Mes apprentissages de la semaine se sont donc tournés vers la lecture et l’exploration sommaire du
TypoScript, qui est, selon mes lectures, le principal avantage de TYPO3. Ce n’est pas un langage de
programmation à proprement parler, toutefois, il a ses bases et ses propres règles à suivre. Entre-temps,
j’ai cherché à appliquer du code PHP dans mes gabarits et mes pages, puisque c’est ce que nous avons
appris à utiliser, mais aussi c’est ce qui permet de créer un site dynamique. Je n’ai par contre pas réussi à
inscrire quoi que ce soit en PHP. En effet, TYPO3 est basé sur la programmation PHP, mais se sert
principalement (pour ne pas dire exclusivement) du TS comme d’un intermédiaire entre le développeur et
PHP.
Le principal de mes problèmes, quoi que ça ne m’ait pas gêné dans mon temps d’apprentissage, fut de lire
de la documentation que je croyais pertinente pour mon domaine, par exemple le «workflow», la gestion
des groupes et utilisateurs, les statistiques et la gestion des fichiers numériques. Ayant déjà rencontré la
plupart des erreurs qui pouvaient me ralentir, je connaissais déjà des solutions pour les régler rapidement.
Semaine 4
Après une mise à jour de ma planification, de ce que je pourrais apprendre pour le reste de mon
apprentissage, je me suis beaucoup plus attardée à la lecture de chapitres pouvant m’être utiles dans
l’apprentissage du TypoScript. Je suis retournée aux sources, si l’on veut, afin de mieux comprendre des
concepts que je n’avais pas vu lorsque j’ai exploré le TS durant mes premières semaines. J’ai revu les
différents principes de base, qu’est-ce qu’est le Typoscript réellement. J’ai pris connaissance du TSRef,
qui est en fait un document de référence lorsque l’on utilise le TS puisque toutes les informations
nécessaires à son usage y sont inscrites. J’ai aussi revue comment créer un premier gabarit, simple, ainsi
que le principe de gabarits en cascade, qui implique un premier gabarit qui se décline ensuite pour des
sous-pages.
Suite à cette première révision, j’ai vu les sections de l’interface utiles à la programmation en Typoscript,
les champs Constants et Setup permettant d’entrer des constantes (ou variables globales) utiles pour le TS
écrit dans le champ Setup.
J’ai ensuite lu un peu plus de documentation sur les types de données et les fonctions utilisées. J’ai aussi
revu les objets de contenu (aussi appelés cObjects) et les objets de premier niveau, qui permettent entreautre de créer des éléments pour différents gabarits.
5
Au final, j’ai révisé un peu mes connaissances de l’interface de TYPO3 puisqu’un chapitre entier est
consacré aux outils de développement. Les sections, d’abord un peu nébuleuses, se sont éclaircies avec
toutes les informations plus détaillées que j’ai pu lire.
Le problème majeur de mon apprentissage de cette semaine-là fut de me consacrer uniquement à de la
lecture très technique. J’ai rapidement perdu le goût d’en apprendre d’avantage rapidement sur le sujet.
Malgré le fait que je prenne des notes tout au long de mes lectures de façon spontanée, ce n’était pas du
tout une bonne méthode. J’ai appris sur moi que je retiens plus facilement l’information que je lis si je
peux la mettre en pratique tout de suite que si je dois tout conserver pour plus tard.
Semaine 5
Cette semaine-là, j’ai à nouveau tout remis en question. Je me suis renseignée de tous les côtés en terme
d’amis, de connaissances de travail, d’enseignants, afin de savoir qu’est-ce qui serait pertinent pour moi
dans mes apprentissages de TYPO3. La solution était alors de voir par quel moyen je pouvais effectuer
des requêtes à une base de données à l’intérieur même du CMS. Je suis donc partie de cette idée et j’ai
cherché à trouver le mécanisme, la structure qui me permettrait d’y arriver. J’ai fouillé dans les livres et
les PDF de documentation que j’ai pu trouver et un peu partout sur la toile. Malgré ce que j’avais cru au
départ, l’information sur ce sujet est plus complexe à trouver et à utiliser. Je me suis donc confrontée à un
mur, mais pas infranchissable. J'ai pris connaissance des pistes qui ne me mènent à rien, comme quoi il
faut oublier l'idée de vouloir inclure directement des balises PHP (<?php ?>) à l'intérieur du TypoScript
ou de vouloir faire les requêtes habituelles qu'on effectue avec Savant3. Par contre, j'ai aussi trouvé des
chemins qui pouvaient éventuellement me mener à un résultat tangible.
Semaine 6
Mes apprentissages de cette semaine-là se sont limités à découvrir le fonctionnement des requêtes SQL
avec TYPO3. J’ai alors passé beaucoup de temps à lire différentes documentations que j’avais pu trouver
ainsi que plusieurs documentations que d’anciens collègues du MELS (Ministère de l’Éducation, du
Loisir et du Sport) m’ont suggérés. Il y a plusieurs notions à connaître, pour le côté sécurité, avant de
pouvoir vraiment écrire des requêtes.
Dans l’ordre, il faut d’abord connaître la syntaxe de l’écriture des requêtes. TYPO3 nous donne la
possibilité de reprendre quelques notions que nous avons vu avec Savant3. Par exemple, au même titre
qu’on se servait de mysqli dans Savant3, TYPO3 nous fournis un objet pour effectuer nos requêtes :
$GLOBALS‘TYPO3_DB’. À faire attention : TYPO3 est tout autant sensible à la case pour le nom des
objets et de ses fonctions. Il y a ensuite l’appel de fonctions, permettant d’améliorer et de sécuriser les
requêtes effectuées à la base de données. Par exemple, pour une requête de type SELECT :
$GLOBALS‘TYPO3_DB’-
6
>exec_SELECTquery(‘nomdeschamps’,‘matable’,‘valeurwhere’,‘groupby’,‘orderby’,‘limit’); Cette
fonction exécute alors la requête en échappant les champs une première fois. Ça réduit ainsi le nombre
d’injections SQL possibles qui pourraient être générées par un visiteur.
TYPO3 étant très complexe, il permet par contre plusieurs solutions afin de contrer les failles de sécurité.
Différents objets (la liste étant tout de même très longue) sont alors offerts au développeur pour gérer
chaque caractère qui est entré dans chaque champ de formulaire, chaque URL et redirection par
JavaScript.
Au final, il faut savoir qu’on ne peut faire de requêtes en TypoScript. Il faut donc, avec le TS, inclure des
fichiers de scripts PHP suivant les notions (très fortement) suggérées par TYPO3.
Le problèmes rencontrés furent les mêmes qu’à l’habitude : manque d’information cohérente avec le
problème rencontré, manque d’explications pour résoudre le problème lorsque nécessaire et manque
flagrant de tutoriels pour savoir comment se servir des requêtes et où les placer.
Semaines 7 et 8
Pour les deux dernières semaines, j’admets avoir oublié totalement de mettre des heures sur le cours
d’apprentissage autonome. La remise du projet TIM en Production et les débuts de mon stage ont évincé
l’idée et le temps pour travailler sur TYPO3. Mon bilan s’en trouve, et je le sais, affecté par cette
mauvaise gestion de mon temps qui me suit depuis le début de ce cours. Je n’ai donc pas grand chose à
écrire sur les deux dernières semaines autre que le prolongement dont nous avions bénéficié ne m’a
aucunement aidé.
Technologies employées
En ce qui concerne le choix du matériel dont j’ai usé tout au long du cours, je ne vois pas grand chose à
dire. En fait, la lacune de mon apprentissage fut de devoir installer mon propre serveur local de TYPO3
pour travailler. Tout le temps que j’ai pu mettre sur cette installation ne m’a pas été utile si on veut
puisque je ne me servirai sans doute pas de ses connaissances dans mes futurs emplois, à moins de me
réorienter vers l’installation de serveurs web.
Le fait aussi d’utiliser des PDF pour lire ne m’a pas vraiment aidé non plus. Je veux dire par là que si
j’avais eu mon livre en format papier entre les mains, sans doute aurais-je été plus attirée à le lire que
directement sur ma tablette, entre-autre parce que la lecture en devient difficile plus rapidement.
En ce qui concerne les outils dont je me suis servie, soit le Web et mon livre numérique, je ne suis pas
fière. Je croyais au départ qu’ils étaient des choix judicieux, puisque ce que j’apprenais était directement
relié au Web. Pourtant, ceux qui m’ont le plus aidée sont mes anciens collègues du MELS qui ont su me
guider à travers mes embûches plus que les ressources que j’avais payé pour obtenir.
7
Tant qu’à moi, si j’avais à recommencer cet apprentissage ou à guider quelqu’un à travers le même
cheminement que moi, je ne conseillerais pas d’investir dans un livre PDF en premier. Je regarderais
plutôt qui dans mon entourage pourrait me fournir de l’aide en cas de besoin puisque les ressources
écrites (à moins de n’être écrites en allemand) ne sont pas complètes en général.
Perspectives
Personnellement, je considère mon cours d’apprentissage autonome comme étant un cours de
«débrousallage» pour les étudiants à venir. Je veux dire par là que je n’avais aucune piste à suivre et
qu’une idée très vague de ce que je devais et pouvais apprendre pour mon cours. Je ne crois pas avoir
atteint l’objectif de départ que je m’étais fixée. Par contre, je considère avoir fait une aussi grande partie
du chemin en terme d’expérimentations qui tombent à l’eau. J’ai pu évaluer toutes les pistes à ne pas
suivre (sinon plus) pour poursuivre mon apprentissage. Je prends exemple de l’installation de TYPO3
qu’il faut toujours se renseigner avant d’installer une version quelconque. Ou même des gabarits, où il
faut s’assurer de bien comprendre la base en HTML pur avant de s’attaquer aux gabarits en TypoScript
puis à l’extension TemplaVoilà.
À mon avis, comme je n’ai pu approfondir comme je l’aurais souhaité mes apprentissages, j’aurais pu (ou
tout simplement dû) me centraliser sur un ou deux éléments de TYPO3. D’abord, je n’ai qu’effleuré ce
que l’on peut accomplir à l’aide de gabarits. Que peut-on monter en insérant simplement une feuille
HTML? Je n’ai vu que le fonctionnement et comment en afficher une, mais sans plus. Il serait bien de
savoir quelles sont les limites de ce type de gabarit tout en faisant un lien vers les gabarits TypoScript. Il
faut aussi laisser tomber les extensions complexes comme TemplaVoilà, ce n’est définitivement pas une
bonne idée de s’embarquer là-dedans. Tant qu’à apprendre quelque chose sur un sujet, autant prendre le
temps nécessaire à sa compréhension.
En ce qui concerne mon métier, je ne crois plus que ça me soit nécessaire. Non pas que je me sois
découragée de l’apprentissage de CMS, mais je me suis aperçue que le développement poussé en PHP à
l’aide de CMS, ce n’était tout simplement pas pour moi, qui suis plus conceptrice que développeur. Par
contre, pour quelqu’un ayant un intérêt particulièrement prononcé en programmation, c’est un sujet
convenable à envisager. Les défis sont présents, la patience et la persévérance sont mis à rude épreuve et
les problèmes survenant en cours de route sont nombreux. C’est donc, à mon avis, un défi suffisant pour
un nouveau programmeur «backend», mais c’est largement trop pour un esprit plus créatif comme le
mien.
Personnellement, je considère avoir structuré mon apprentissage autonome de façon maladroite et peu
efficace. Chaque semaine, je prenais du retard, je déviais de mon plan d’apprentissage initial, je me
désintéressais de mon sujet que j’ai d’ailleurs bien mal choisi. J’avais des idées de grandeur, comme quoi
8
j’allais être en mesure d’apprendre suffisamment de chose sur ce CMS que j’aurais pu travailler seule
dessus dès mon entrée sur le marché du travail. J’ai tout eu faux, bien entendu. Je n’ai pas réussi à
apprendre le dixième des choses que je m’attendais à connaître en TypoScript. Je voudrais utiliser un
gabarit HTML, une chose de base que j’ai testé et re-testé, que je devrais à nouveau relire mes notes afin
de savoir comment faire. Je croyais aussi arriver à apprendre si je lisais seulement la documentation
fournie, mais je me suis rapidement aperçue qu’il m’aurait fallu plusieurs, voir même uniquement des
tutoriels pour comprendre ce que je faisais et où j’allais avec tout ce bagage technique qu’est TYPO3. Je
crois qu’en fait, mon problème principal aura été de prendre un sujet qui ne m’intéressait pas
particulièrement en tant que conceptrice, mais aussi de prendre un sujet trop large et trop vaste sans moimême me restreindre à certaines fonctionnalités. J’ai préféré explorer en largeur ce CMS alors que j’aurais
plutôt dû le voir en profondeur, comment réellement accomplir une connexion à une base de données.
J’aurais aimé faire des requêtes SQL, afficher un gabarit HTML, mais avec des informations dynamiques
comme on le fait toujours pour nos en-têtes et pieds de page lors de nos projet.
9
Médiagraphie
D'abord, un petit lien à visiter si quelqu'un désir, un jour ou l'autre, installer TYPO3 sur son ordinateur de
table. Il m'est très utile pour l'installation sur mon propre Mac :
http://typo3-fr.org/utiliser-typo3/deployer-typo3/installer-typo3/a-partir-des-sources-et-de-l-outil-dinstallation-254.html
C'est le site de la communauté francophone officielle de TYPO3. C'est, jusqu'à maintenant, le seul endroit
à jour pour l'installation détaillée du CMS que j'ai pu trouver. Plusieurs autres, ailleurs sur le site officiel
anglophone, ne sont même pas tenus à jour ou sont utiles pour l'installation sous Windows.
Une seconde source intéressante sur laquelle je me base est le livre (format numérique aussi disponible)
"TYPO3" par Werner Altmann, René Fritz et Daniel Hinderink des éditions Eyrolles. Il est disponible
chez Renaud-Bray à cette adresse :
http://www.renaud-bray.com/Recherche.aspx?langue=fr&words=TYPO3&wbgc_iNo=&type=1&root=
Il me permet, autre que d'apprendre, de connaître l'ordre prioritaire des éléments que je dois apprendre.
Ayant ainsi un ordre de référence, c'est d'abord ma première source d'apprentissage. Si un concept n'est
pas très clair ou que j'ai besoin d'un second exemple pour mieux comprendre, je me tourne ensuite vers
mon ami Google pour vérifier en entrant les mots-clés que je saisi moins bien.
J'en suis maintenant à explorer le CMS. J'ai découvert un petit outils de demonstration sur le site de
TYPO3 et j'en suis à l'explorer afin de voir s'il peut m'aider lors de mes apprentissages (il est encore à
vérifier) :
http://demo.typo3.org/
Comme j'en suis à l'utilisation de gabarit, je trouvais intéressant (même nécessaire) d'avoir une marche à
suivre pour l'installation, mais aussi pour l'utilisation des extentions. Je suis donc tombée sur ce site (en
anglais) :
http://typo3buddy.reijkman.nl/templavoila/the-templavoila-extension/
Je n'ai par contre pas eu le temps de tout lire , mais comme il y a de l'information aussi sur les bases du
SGC et sur le TypoScript, je crois que je vais m'y référer assez souvent pour la suite.
J'ai aussi trouvé, alors que je fouillais le web pour trouver une solution à mes problèmes avec
TemplaVoilà (extension de gabarits), ce petit site (en allemand seulement). Avec l'outils de traduction de
Google, j'ai toutefois réussi à en traduire suffisamment pour comprendre que c'est aussi un pas à pas pour
utiliser TemplaVoilà, mais aussi qu'il permettrait de résoudre les problèmes qui me sont apparus :
http://it-republik.de/php/artikel/TYPO3-Templates-mit-TemplaVoil%E0-erstellen-1828.html
Si jamais quelqu'un ayant une meilleure connaissance de l'allemand que moi saurait comprendre, ce serait
apprécié!
J'avais aussi trouvé cette section, directement sur le site de TYPO3, permettant aussi de comprendre le
fonctionnement de TemplaVoilà et des gabarits HTML :
10
http://typo3.org/extension-manuals/templavoila/1.8.0/view/toc/0/
Je me méfie un peu par contre, puisque, jusqu'à maintenant, l'information que j'ai pu trouver me cause
toujours le même problème d'affichage ou ne concerne pas la version que j'avais de TYPO3. Vérifier sa
version avant de consulter.
Jusqu'à maintenant, je m'étais attardée sur les gabarits peut-être un peu trop longtemps à mon avis (je
croyais avoir tellement d'autres sujets à apprendre!). Par contre, les gabarits HTML, les gabarits
TypoScript et les extensions de gabarits (dont TemplaVoila que j'ai mentionné plus haut) font parti des
tâches demandées à un développeur. Ça, le développement et la mise à jour d'extensions et les
connaissances en TypoScript. S'il y a une chose qu'il aurait donc fallu que je lise au départ, avant de
commencer quoi que ce soit, c'est bien la documentation d'Infoglobe (http://www.infoglobe.ca/) avec qui
nous avons eu l'occasion de travailler durant mon stage d'été :
http://blogue.infoglobe.ca/2010/02/14/le-typoscript-cest-quoi-exactement/
Ensuite, comme je cherchais à régler mes soucis sur les gabarits, je me suis tournée vers des tutoriels.
Attention, pas n'importe quel tutoriel. Nous avons appris ce qu'était le Responsive Web Design lors de nos
cours, j'en ai donc profité pour trouver un tutoriel de gabarit fluide, permettant de gérer une grille selon la
dimension de notre navigateur :
http://thomas.deuling.org/2011/06/create-a-complete-typo3-website-by-using-the-fluid-template-engine/
Comme mes apprentissages ne peuvent se faire sans un peu de documentation provenant directement du
site officiel de TYPO3, j'en ai profité pour rechercher la documentation concernant le TypoScript et les
bases à connaître avant de débuter :
http://typo3.org/documentation/document-library/tutorials/doc_core_tsbyex_fr/0.0.1/view/1/2/
** L'information du lien peut aussi être lu dans Open Office. Je m'en suis alors servi pour me créer un
fichier PDF, puisque c'est plus facile selon moi d'y trouver de l'information rapidement. **
11

Documents pareils