FLOW3

FLOW3 passe en version 1.0.1

Publié le

FLOW3 est également mis à jour et passe en version 1.0.1. Quoi de neuf ? Rien, à part 19 bogues mineurs corrigés. Vous pouvez découvrir la liste des correctifs sur la page dédiée à la version 1.0.1.

Si vous souhaitez télécharger FLOW3 : téléchargement du framework FLOW3

Publicités

Procédure d’installation de FLOW3 1.0

Publié le

Ce tutoriel sur FLOW3 fait suite à un précédent article publié sur l’installation de la beta 1.

Pour installer FLOW3, vous avez deux possibilités. Soit installer FLOW3 en décompressant une archive bzip2, gzip ou zip, téléchargée depuis le site de FLOW3, soit en récupérant les sources avec GIT, un outil de gestion de versions décentralisées.

Dans tous les cas, rendez-vous à l’adresse suivante :

http://flow3.typo3.org/download

Installation de FLOW3 - Téléchargement
Cliquez pour agrandir

1. Téléchargement de FLOW3

Téléchargez l’archive au format souhaité puis décompressez-là dans un répertoire de votre serveur.

Pour télécharger FLOW3 1.0 avec Git, lancez la commande suivante :

$ mkdir flow3
$ cd flow3/
$ git clone –recursive git://git.typo3.org/FLOW3/Distributions/Base.git

Vous devriez obtenir un répertoire intitulé « Base ».
Dans ce répertoire, vous devriez avoir les répertoires que l’on retrouve sur le site de FLOW3

Installation de FLOW3 - Arborescence
Vérifions :

Installation de FLOW3 - Arborescence locale
Cliquez pour agrandir

2. Vérification des permissions

A priori, si votre serveur est correctement configuré et si vous n’avez pas téléchargé FLOW3 avec le compte root, les permissions devraient être correctes.
Néanmoins, FLOW3 est livré avec un script de vérification des permissions.

$ cd Base/
$ ./flow3 core:setfilepermissions web web web

Le login de mon utilisateur est web et les fichiers sur mon serveur appartiennent à l’utilisateur web du groupe web, soit ./flow3 core:setfilepermissions login user group.

$ ./flow3 core:setfilepermissions web web web
sh: /home/www/sites/flow3/Base/Packages/Framework/TYPO3.FLOW3/Scripts/setfilepermissions.sh: Permission denied

En réalité, l’erreur provient du fichier setfilepermissions.sh.

$ cd /home/www/sites/flow3/Base/Packages/Framework/TYPO3.FLOW3/Scripts/
$ ls setfilepermissions.sh -l

-rw-r–r– 1 web web 2737 2011-10-21 07:32 setfilepermissions.sh

Installation de FLOW3 - Permissions

Le fichier n’est pas exécutable. Réparons nous-même cette erreur avec la commande suivante :

$ chmod a+x setfilepermissions.sh

Exécutons à nouveau la commande suivante :

$ ./flow3 core:setfilepermissions web web web

Installation de FLOW3 - Permissions correctes

Pas d’erreur cette fois-ci 😉

3. VirtualHost

J’ai créé un virtualHost dans /etc/apache2/sites-available
La procédure est classique. Il faut simplement vérifier que le documentRoot pointe vers le bon répertoire.

Pour mon installation :

DocumentRoot /home/www/sites/flow3/Base/Web

Créez un lien symbolique dans /etc/apache2/sites-enabled vers /etc/apache2/sites-available/flow3 pour activer le virtualHost et redémarrez votre serveur.

$ cd sites-enabled/
$ sudo ln -s ../sites-available/flow3 flow3
$ sudo apache2ctl restart

4. Testez votre installation

Installation de FLOW3 - Installation terminée
Cliquez pour agrandir

A suivre, la suite de ce tutoriel avec la création d’un package sous FLOW3.

FLOW3 1.0 disponible

Publié le Mis à jour le

C’est en fin d’après-midi, vers 17h que le compte a rebours a été lancé et que la roquette FLOW3 a décollé !
Le site FLOW3 a été refondu pour l’occasion.

Voici le communiqué et la liste de tous les bogues corrigés et nouveautés comme par exemple l’initialisation des sessions à la demande, la mise à jour du parser YAML …
Longue vie à FLOW3 !

FLOW3 1.0 pour demain

Publié le Mis à jour le

N’oubliez pas, demain jeudi 20 octobre, la sortie de FLOW3 en version finale est prévue !
Il aura fallu attendre 15 versions alpha et 2 versions beta pour que ce Framework arrive enfin à maturité… et encore, beaucoup de chemin reste à faire 🙂

Si vous n’êtes pas encore très à l’aise avec FLOW3, un tutoriel est disponible.

Publication de FLOW3 beta 2

Publié le

La beta 1 a été publiée il y a peu de temps. Aujourd’hui, la beta 2 est arrivée. Inutile de dire que les développeurs font un maximum pour améliorer FLOW3 afin d’arriver au plus vite à la version finale 1.0 du framework.

Robert Lemke a publié des informations sur cette nouvelle version. Vous pourrez d’ailleurs découvrir une vidéo des nouveautés apportées par FLOW3 en ligne de commande.

Pour résumer, ./flow3 help permet d’afficher une liste des commandes disponibles avec les commandes des contrôleurs des paquets installés.

./flow3 package:list affiche la liste des packages installés

./flow3 package:import TYPO3.Kickstart permet d’importer le package Kickstart pour créer par exemple de nouvelles commandes au sein d’un contrôleur.

./flow3 package:activate TYPO3.Kickstart permet d’activer le package télécharger précédemment depuis git.typo3.org. Bien évidemment, la commande de base est package:import, suivi du nom du package. Vous noterez que les caches sont vidés à chaque import ou activation.

./flow3 package:create <nom du package> permet de créer le squelette d’un package. Un seul fichier PHP est contenu dans l’application Classes/Package.php.

On retrouve d’autres commandes utiles comme :
./flow3 kickstart:commandcontroller <clé du package> <nom du contrôleur>
./flow3 kickstart:actioncontroller <clé du package> <nom du contrôleur> –generate-actions –generate-templates –generate-related –force

La commande help détaille parfaitement ces commandes.

En ce qui concerne le reste, Robert Lemke explique que les idées ne manquent pas pour ajouter le support de l’internationalisation ou bien fournir un gestionnaire de package complet. D’ailleurs, les développements ont commencé un certain temps déjà. En revanche, la version finale de FLOW3 ne proposera pas ces fonctionnalités car elle devrait être repoussée à plus tard, au vu de ce qu’il reste à faire… ce qui est exclu.

A la place, la commande package:import permet de récupérer des packages hébergés sur git.typo3.org. On en a parlé un peu plus haut.
Exemple : package:import TYPO3.ExtJS, package:import TYPO3.Kickstart

Des bogues ont été résolus. Voir la liste ici : http://wiki.typo3.org/FLOW3_1.0.0_beta2

Enfin, la documentation de FLOW3 est regénérée chaque nuit. N’hésitez pas à jeter un oeil régulièrement : documentation FLOW3

Prochaine version : fin septembre à priori.

Et vous, programmez-vous déjà sous FLOW3 ?

FLOW3 Alpha 15

Publié le Mis à jour le

Et une énième alpha pour le framework PHP5 FLOW3 ! Vous pouvez télécharger cette version avec git.

http://flow3.typo3.org/fileadmin/release/FLOW3-1.0.0-alpha15-build51.zip
http://flow3.typo3.org/fileadmin/release/FLOW3-1.0.0-alpha15-build51.tar.gz
http://flow3.typo3.org/fileadmin/release/FLOW3-1.0.0-alpha15-build51.tar.bz2

On retrouve également la documentation de FLOW3. Pas très complète mais plus à jour que la dernière version, sachant que les développeurs ont pas mal travaillé et du coup, n’ont pas eu de temps pour mettre à jour la doc depuis un petit moment.

Documentation FLOW3

Et enfin, un tutorial FLOW3 pour découvrir ce framework.

FLOW3 / Extbase – Vérification du paramètre __hmac dans les formulaires

Publié le Mis à jour le

Si vous travailler sous Extbase, vous savez certainement que les champs de vos formulaires sont mappées sur les données de vos modèles. Par exemple, si je veux ajouter un article sur mon blog, je vais devoir compléter les champs suivants :
– Titre
– Catégorie(s)
– Introduction
– Texte

Ces champs existent dans ma table « posts » (title / category / short … pour simplifier les noms) mais c’est le modèle qui est chargé de décrire chaque champ, le format attendu et propose les différentes méthodes d’accès à ces valeurs. D’ailleurs, si vous décortiquez une extension créée avec Extbase, vous noterez que chaque entité ou objet à son propre fichier de déclaration… C’est le modèle.

Vous pouvez ainsi effectuer des opérations de mise à jour, d’édition ou de suppression de données très simplement ! Le contrôleur vous renverra éventuellement des erreurs après consultation du modèle.

C’est alors qu’est apparu un problème de sécurité dans les formulaires généré sous FLOW3 et Extbase. En effet, un utilisateur mal intentionné pourrait modifier un formulaire et contourner ainsi le modèle de chaque objet.

La solution qui a été trouvée, est de vérifier que le formulaire n’a pas été modifié entre l’affichage et le renvoi des données en GET ou POST, sinon, c’est considéré comme une attaque. Et comment ?

En fait, le framework collecte une liste de champs qui peuvent être envoyés depuis un formulaire. Cette liste est protégée par une une clé privée et un hash. Pour informations, un hash est une sorte de clé calculée à partir de données et permet d’accéder rapidement à ces dernières. La liste est le hash de la liste sont stockés dans un paramètre __hmac dans le formulaire et sur le serveur. Si le paramètre __hmac n’est pas valide, une exception est envoyée.

Personnellement, il m’arrive de créer des formulaires en Typoscript pour interroger un contrôleur hors de son contexte afin de me renvoyer une liste d’enregistrement. La conception d’une formulaire en Typoscript est aisée et plus rapide. En revanche, sans paramètre __hmac, une exception s’affiche lors de l’envoi du formulaire. Comment faire ?

J’ai trouvé une solution simple sur le Wiki suivant : http://wiki.typo3.org/User:Layne_obserdia/Extbase

Ajoutez @dontverifyrequesthash dans les annotations qui précèdent le contrôleur indexAction par exemple.