Podcast TYPO3 N°1 – TYPO3 6.2 LTS

Podcast Audio
Dans ce premier podcast audio, on parle de TYPO3, de la version 6.2 LTS et des nouveautés pour les mois et les années à venir. L’invité du jour est Nicolas Garabédian.

Je suis un grand consommateur de podcast audio, que je trouve plus pratique à suivre dans les transports en commun, en soirée par rapport au podcast vidéo. J’espère que vous passerez un bon moment en notre compagnie !

RSS Podcast: http://feeds.feedburner.com/Typo3EtLesSystmesDinformation

Podcast Itunes: https://itunes.apple.com/fr/podcast/typo3-et-les-systemes-dinformation/id693060382?l=en

Intégrateur TYPO3 depuis 2003, maintenant responsable du pôle d'expertise chez TalanSolutions. Je réalise des audits, des préconisations, des missions d'expertise. J'ai la chance de diriger le plateau technique Web PHP / TYPO3 d'EXL Group.

2 commentaires

  1. Xavier Perseguers   •  

    Je me permets de faire quelques commentaires en fonction des différents sujets abordés dans ce podcast.

    04:00: Les bogues de sécurité s’ils sont identifiés comme tels ne rentrent pas dans le bug tracker public mais doivent être notifiés à security@typo3.org. L’information reste ainsi confidentielle jusqu’à ce que le problème ait été corrigé, qu’une release de sécurité ait été agendée et c’est seulement lorsque la nouvelle version corrigée est diffusée que le problème est rendu public au travers d’un bulletin de sécurité.

    06:25: pibase/extbase/fluid: Le framework extbase/fluid n’est pas intégré depuis TYPO3 6.0 mais depuis TYPO3 4.3 mais réellement « utilisable » depuis TYPO3 4.5.

    06:50-08:40 et 39:00-39:30: « pibase est abandonné » / « c’est tellement déconseillé de l’utiliser » / « il est planqué » / « c’est la fin de pibase »

    1) pibase n’est pas abandonné
    2) pibase n’est pas planqué, mais avec le passage aux namespaces, la classe a été renommée en \TYPO3\CMS\Frontend\Plugin\AbstractPlugin mais les vieilles extensions ne sont pas cassées pour autant puisqu’un fichier de mapping existe entre les noms de toutes les anciennes classes (< TYPO3 6.0) et les nouveaux, avec namespace et que ce fichier va rester présent jusqu'à TYPO3 7.0, version qui n'est pas du tout prévue pour l'instant mais ce qui veut dire jusqu'au prochain "très gros saut" de version.
    3) pibase ou plutôt son nouveau nom namespacé ne sont pas prévus d'être supprimés.

    Il est vrai qu'il est conseillé de passer à Extbase/Fluid pour les raisons invoquées dans le podcast mais pibase reste tout à fait utilisable.

    13:12: L'installation de OpenSSL sous Windows/XAMPP demande quelques opérations manuelles, décrites par exemple ici (en allemand): http://blog.joergboesche.de/xampp-1-7-7-apachephp-openssl-modul-workaround-gegen-abstuerze

    13:38: "Il faut mettre en place OpenSSL avec au minimum un certificat auto-signé": Il ne faut pas mélanger l'envoi de mot de passe en utilisant RSA sur la boîte de login et l'utilisation d'un certificat SSL pour l'accès avec "https://&quot;. Ce sont deux choses totalement différentes. Le certificat SSL est une très bonne chose mais l'utilisation du chiffrement RSA avec TYPO3 est indépendant de l'utilisation d'un certificat.

    14:50-17:10: "Je connais BitNami mais suis plus adepte de VMware, plus pro, plus facile dans sa gestion": BitNami est une société qui propose des images de différents systèmes en mode "prêt à l'emploi". Ca n'a rien à voir avec VMware qui est un logiciel de virtualisation. Les images proposées par BitNami peuvent ensuite être utilisées avec VMware ou VirtualBox, deux logiciels de virtualisation. Ce que veut dire Nicolas c'est qu'il préfère créer ses images à la main "from scratch" ou peut-être en utilisant vagrant, qui lui non plus n'est pas à confondre avec VMware ou VirtualBox. BitNami est aussi disponible en mode stand-alone pour l'utilisation sans VMware.

    19:30: L'install tool empêche l'utilisation de droits trop souples (755), pas trop élevé, justement.

    22:30: Les namespaces sont une fonctionalité PHP introduite depuis PHP 5.3 et qui permettent fondamentalement d'éviter d'avoir des problèmes de redéfinition de classes avec les mêmes noms quand on utilise différentes bibliothèques externes. Ainsi si 2 bibliothèques proposent une classe d'envoi de mail, par exemple la classe "MailServer", les 2 bibliothèques ne pourront être utilisées en même temps mais avec des namespaces, chaque classe fait partie d'un namespace préfixé (par convention) par la société/le créateur de façon très similaire aux packages sous Java, le nom complet sera donc par exemple \SocieteToto\Utility\MailServer pour l'une et \SocieteTrucMuche\MailServer pour l'autre. Sous TYPO3 < 6.0 nous avions déjà un mécanisme similaire avec l'utilisation du préfixe tx__. Ce passage aux namespaces est donc un changement pour être aux normes des projets actuels et permettre comme l’ont fait les développeurs de Flow/Neos d’utiliser réellement des composants externes, par exemple de Symfony2.

    23:11: XCLASS: « L’orientation qui est prise est d’utiliser des interfaces ». Attention, le concept de XCLASS est de permettre de changer le comportement d’une classe existante alors qu’elle ne propose ni hook (ancienne méthode) ni signal/slot (nouvelle méthode plus moderne). L’utilisation d’interfaces est recommandé non pas pour empêcher les problèmes liés aux XCLASS mais pour permettre de mieux séparer les dépendances entre classes, autoriser l’injection de dépendances (DI – Dependency Injection) fournie par Extbase et permettre par conséquent, également, de mieux préparer ses tests unitaires puisque des mocks peuvent ainsi être injectés.

    30:00-32:00: APC/Xcache: Attention, il *faut* mettre une extension de cache pour mettre un serveur de cache. Il faut bien entendu optimiser tout le reste mais même si les méthodes PHP apc_* ne sont pas appelées, ces serveurs de cache vont déjà optimiser le code « compilé » PHP et l’exécution sera plus rapide, contrairement à ce que dit Nicolas que si le code n’utilise pas les appels de mise en cache ces composants ne servent à rien.

    33:00: Beaucoup d’extensions continuent de « bien » fonctionner sous TYPO3 6.x, il y a des breaking changes, oui, mais comme expliqué avant, une classe de compatibilité par exemple permet de continuer d’utiliser les anciennes classes (sans namespace) de TYPO3, pour aider la migration.

    40:00: « Le but de la 6 n’est plus d’utiliser de vieilles extensions ». Absolument pas, ça a toujours été comme ça, par défaut l’extension manager montre la dernière version. Maintenant il est possible depuis la liste avec un clic gauche sur le nom de l’extension de télécharger une ancienne version. La fonctionalité existe bien évidemment toujours, elle est simplement accessible différemment.

    41:30: Il est très facile de retrouver une ancienne version d’une extension sur le TER, la liste est disponible depuis l’onglet « downloads » sur le détail d’une extension.

    44:00: Le concept de BigData n’est pas du tout le partage de données, c’est un abus de langage. Quand on parle de BigData on parle de gigantesque quantité de données (des peta de données ou plus), quelque chose qui n’est jamais le cas avec un site TYPO3. En revanche le terme plus exact du partage de l’information c’est OpenData.

    44:10: « TYPO3 intègre maintenant DBAL ». Non, ça n’a rien de nouveau, DBAL a été introduit en version… 3.8.0 :)

    45:12: « Y’a des règles qui sont très importantes, il faut utiliser que MyISAM ». C’est totalement faux! Pour des problèmes d’intégrité référentielles et des modifications concurrentes, il est impératif d’utiliser InnoDB et pas MyISAM. Il est certain que la configuration serveur doit être bien faite pour s’éviter des soucis si la base de données grossit beaucoup (on parle de très gros sites, pas de soucis pour des sites « normaux » ou petits). Par ailleurs si l’on souhaite s’affranchir de MySQL à cause du rachat par Oracle, la tendance n’est pas de se tourner vers PostgreSQL mais plutôt vers MariaDB qui a un net avantage d’être nativement compatible avec les accès MySQL.

    45:51: J’aimerais bien savoir qui de la Core Team a parlé lors de la T3UNI d’utiliser PostgreSQL à l’avenir :)

  2. Cyril Wolfangel   •     Auteur

    Merci xavier pour tes précisions. Je ne vais pas répondre à tout point par point cependant voilà mon avis sur certains de tes retours qui me concerne dans le podcast.

    Par rapport à pibase les éléments que tu apporte sont importants, je n’avais pas eu ces informations.
    Donc si je résume, toutes les anciennes extensions continuent de fonctionner normalement sans aucune modifications des développeurs ?

    Par rapport au Bigdata, c’est un terme qui inclue aussi dans sa définition l’utilisation de bases de données RDF, qui permet l’interconnexion avec d’autres données, nous ne parlions pas de l’OpenData qui est une obligation administrative d’ouverture des données.

    Tes remarques m’ont permis de réaliser que nous pouvions largement améliorer la communication entre l’association et la branche francophone, je vais enregistrer un numéro du podcast en anglais avec Ben très prochainement pour mettre en lumière les événements récents.

    A la prochaine, bonne écoute !

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *