APE - Installation symfony
Donc le dernier billet j'expliquais brièvement ce qu'était APE et à quoi ça peut servir, la je vais progressivement essayer de le mettre en pratique.
Je profite du fait que je ne termine pas souvent mes projets perso après avoir trouvé techniquement ce que je cherche pour utiliser un maximum des techno "avant-gardistes".
Je vais donc faire un jeu, vous verrez ce que c'est en temps et en heure si ça avance, et l'idée c'est toujours d'apprendre alors je vais utiliser :
* symfony1.4 (je voulais utiliser la 2.0 mais c'est encore trop early stage)
* html5 pour les canvas, les sons ce genre de choses
* css3 pour pas passer des heures a réinventer ce qui y est déja
* APE (oué c'est basé sur ça)
* d'autres trucs ...
Commençons par installer symfony1.4 (pour aller vite je prends la sandbox)
cd /path/to/mytld/.. wget http://www.symfony-project.org/get/sf_sandbox_1_4.zip unzip sf_sandbox_1_4.zip mv sf_sandbox mytld
Et il faut rajouter dans son vhost :
Alias /web/sf /path/to/mytld/lib/vendor/symfony/data/web/sf <Directory /path/to/mytld/lib/vendor/symfony/data/web/sf> Options FollowSymLinks AllowOverride All Allow from All </Directory>
Ensuite un check sur :
http://mytld.com/web/frontend_dev.php
J'ai bougé APE_binary dans lib/vendor et ape-jsf dans web/js
Dans la mesure où je veux faire simple pour tester je vais faire un module avec 2 actions, une liste ( de channels ) et un détail pour un channel.
./symfony generate:module frontend channels
Le fichier routing.yml
channels_details: url: /channels/detail/:id_channel param: { module: channels, action: detail } homepage: url: / param: { module: channels, action: listall }
la classe d'actions:
class channelsActions extends sfActions { public function executeDetail(sfWebRequest $request) { return sfView::SUCCESS; } public function executeListall(sfWebRequest $request) { return sfView::SUCCESS; } }
On crée 2 fichiers de template listallSuccess.php et detailSuccess.php et j'en ai fini avec symfony pour l'instant !
Pour rendre plus pratique l'utilisation de APE avec symfony je crée 2 tâches :
./symfony generate:task APEStart ./symfony generate:task APEStop
et les tâches correspondantes :
class APEStartTask extends sfBaseTask { protected function configure() { $this->namespace = 'ape'; $this->name = 'start'; $this->briefDescription = 'This starts the APE daemon'; } { } } class APEStopTask extends sfBaseTask { protected function configure() { $this->namespace = 'ape'; $this->name = 'stop'; $this->briefDescription = 'This stops the APE daemon'; } { } }
Il se peut qu'il faille un peu adapter le stop, ps est implémenté différemment sous OSx que sous linux ! Mais l'utilisation est super simple :
* ./symfony ape:start
* ./symfony ape:stop
Prochaine étape je fait un wrapper jQuery pour APE et je fais un premier test de fonctionnement.
