La planète symfony évolue – symfony forge
Plein de nouveautés du côté de symfony cette semaine. Après une problème de disponibilité du serveur le week-end dernier, symfony nous remercie pour notre patience en nous livrant la dernière version stable, à savoir la 1.0.1. Il s’agit d’une version de stabilisation, visant à corriger quelques trous de sécurité.
La semaine dernière Fabien Potencier, un des créateurs du projet symfony, a passé un peu de temps au Québec pour donner des conférences. Ses slides disponibles ici en français et anglais, donnent une idée très précise des bénéfices apportés par symfony.
Mais la plus grande nouveauté est certainement la création d’un nouveau portail d’échange dédié à symfony: symfony-forge.
Largement inspiré de celui de Joomla!, symfony-forge devient un portai incontournable pour ceux qui veulent obtenir ou fournir à la communauté des plugins, des bouts de code ou de la documentation. Le site est actuellement en plein développement et sera certainement annoncé officiellement dans quelques jours. Nous sommes allés jeter un coup d’oeil et nous avons trouvé les rubriques suivantes:
- plugins: page dédiée à la documentation et au téléchargement des plugins
- documentation: encore secret, mais on y trouvera probablement une copie du livre dédié à symfony
- trac: accès direct au trac (et donc au code source) des plugins
- forum: encore vide, il prendra probablement la place du forum actuel

Symfony cheatsheet
Andéia Bohner nous a préparé un excellent cheatsheet pour symfony. Il présente notamment la structure de base des fichiers d’un site construit avec symfony et les commandes symfony disponibles en ligne de commande.
Le cheatsheet est disponible ici, en portugais, anglais et espagnol.

Quelques librairies / outils pour le développement PHP
Voici 3 « outils » gratuit pour paufiner vos développements
Un gestionnaire de banners
OpenAds Cet outil développé en php, permet de gérer de manière très efficace les banners sur un site. Que ce soit pour des publicités ou tout simplement pour vanter des produits ou un article « interne ». Voici un éventail des possibilités offertes par le produit :
·Gestion des différentes zones sur le site que l’on peut affecter à plusieurs ‘clients’
·Système de pondération des banners (on peut définir qu’une banner sera vue plus qu’une autre ; un nombre de fois par jour ; qu’un visiteur ne voit pas la même banner..etc…)
·Géolocalisation en fonction des adresses IP : on affiche une banner selon votre adresse ip…
·Système de statistiques très performant
target="xml" content="namespace prefix ="\"" \"\"o\" /">?>
Validateur de formulaire en javascript
Fvalidate est vraiment complet ! Compatible avec tous les navigateurs, il permet de très facilement mettre en place un validateur de formulaire avec les différents type de champs ! (texte, textearea, selectbox, email, numérique, etc…). Seul petit problème, c’est que celui-ci a malheureusement été laissé à l’abandon…m’enfin toujours possible de le débugguer soit-même si on trouve des bugs !
framework Ajax // Web2.0 (on est d’accord web 2.0 ça veut rien dire…)
Scriptaculous et Mootools sont 2 frameworks Javascript ultra complet qui permettent d’animer vos sites web.. on peut par exemple animer le menu d’un site, faire du drag&drop etc…bref très impressionnant ! mootools a l’air moins gourmand question taille… à tester !
Installation de symfony sur Ubuntu Edgy
J’ai récemment réinstallé mon portable, occasion pour moi de faire ce petit aide-mémoire au cas ou cela ré-arriverait…
1) Installation d’apache/mysql/php (lamp)
Edition du fichier sources.list$ sudo gedit /etc/apt/sources.list
et décommenter les lignesdeb http://ch.archive.ubuntu.com/ubuntu/ edgy universe
deb-src http://ch.archive.ubuntu.com/ubuntu/ edgy universe
mettre à jour la liste des sources$ sudo apt-get update
puis installer apache2$ sudo apt-get install apache2 apache2-doc apache2-mpm-prefork
et mysql-server$ sudo apt-get install mysql-server-5.0
on active quelques modules utiles$ sudo apt-get install php5 libapache2-mod-php5 php5-mysql php-pear php5-cli php5-gd php5-sqlite php5-xsl php5-mcrypt
Il faut maintenant sécuriser et configurer mysql:$ sudo mysql_secure_installation
On peut alors installer phpmyadmin$ sudo apt-get install phpmyadmin
Dernières choses: php est radin avec les ressources alors que symfony est plutôt gourmand:$ sudo gedit /etc/php5/cli/php.ini
et changer la ligne 256memory_limit = 20M
et dans /etc/php5/apache2/php.ini
changer la ligne 425magic_quotes_gpc = Off
2) Installation de symfony
Plusieurs possibilités, on utilise ici le package PEAR. Premièrement ajouter le canal symfony:$ sudo pear channel-discover pear.symfony-project.com
puis on install symfony (ici la beta)$ pear install symfony/symfony-beta
Note: pour la version stable
$ sudo pear install symfony/symfony
il est temps d’installer phing
$ sudo pear install http://phing.info/pear/phing-current.tgz
symfony est installé la preuve avec sa version$ symfony -V
Toutes les commandes symfony sont accessibles avec$ symfony -T
3) Création d’un projet:
La base est en place, il ne reste plus qu’a créer un projet (askeet)
$ mkdir ~/askeet
$ cd ~/askeet
$ symfony init-project askeet
On peut également créer le frontend:
$ symfony init-app frontend
Voilà, notre premier projet est prêt à l’emploi…
4) Configuration du serveur web:
Il est décrit ici comment créer un « Virtual Host » pour accéder à notre projet symfony depuis un navigateur:
$ sudo gedit /etc/apache2/sites-available/askeet
et insérer les données suivantes:
<Directory "/usr/share/php/data/symfony/web/sf"> AllowOverride All Allow from All</Directory><VirtualHost *> ServerName askeet DocumentRoot /home/user/askeet/web DirectoryIndex index.php Alias /sf /usr/share/php/data/symfony/web/sf Alias /phpmyadmin /var/www/phpmyadmin/ <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory "/home/user/askeet/web"> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> <Directory "/var/www/phpmyadmin/"> Options Indexes MultiViews FollowSymLinks AllowOverride None Order deny,allow Deny from all Allow from all </Directory> # Si on veut des logs propre à askeet LogLevel warn ErrorLog /var/log/apache2/error_askeet.log CustomLog /var/log/apache2/access_askeet.log combined ServerSignature On</VirtualHost>
Note: le mot-clé user doit bien sûr être remplacé par votre nom d’utilisateur
Pour que tout fonctionne correctement il faut encore activer ces modules$ sudo a2enmod rewrite php5
et activer le nouveau site:$ sudo a2ensite askeet
Pour qu’apache trouve le nom de l’hôte, éditer le fichier hosts$ sudo gedit /etc/hosts
et ajouter « askeet »:127.0.0.1 localhost askeet
Pour finir on redémarre apache:$ sudo /etc/init.d/apache2 reload
Note: en cas de l’erreur
apache2: Could not determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName
éditer$ sudo gedit /etc/apache2/apache2.conf
et ajouter l’optionServerName localhost
Egalement vérifier que le hostname en tapant dasn un terminalhostname = localhost
5) Rappel:
- Apache:$ sudo /etc/init.d/apache2 start|stop|restart|reload|force-reload
ou$ sudo apache2ctl start|stop|fullstatus|status|graceful|configtest
- Mysql:$ sudo /etc/init.d/mysql start|stop|restart|reload|force-reload|status
6) Sources:
http://doc.ubuntu-fr.org/serveur/lamp_bis
http://www.symfony-project.com/content/download.html
http://www.symfony-project.com/book/trunk/installation
http://www.prendreuncafe.com/blog/post/2006/06/20/473-installer-le-framework-php-symfony-sur-ubuntu-dapper-drake
Présentation de Joomla! pour le GULL
Depuis quelques mois je suis membre du GULL, le Groupe romand des Utilisateurs de Linux et des Logiciels libres (http://www.linux-gull.ch). Mardi dernier le GULL organisait un petit atelier CMS auquel je présentais Joomla!. Je partage ma présentation pour les éventuels intéressés!
- Présentation online: http://www.donax.ch/nbo/gull/
- Pour télécharger la présentation: http://www.donax.ch/nbo/gull.tar.gz
En bonus, voilà une petite photo de ma présentation:
# photographie par Dominique Bédier sous licence CC #
Pour ce qui concerne les autres présentations, elles concernaient:
- Les fonctions "designmode / contentEditable" des navigateurs
- "À la recherche d’un CMS statique"
- eZ publish avec TinyERP
- et SPIP
Pour ma part j’ai trouvé cet atelier très constructif avec pour seul regret qu’il n’y ait pas eu plus de présentations pour diversifier le panel de CMS présentés.
Open Source CMS Award Final Five: Joomla!
C’est la petite finale pour l’élection du meilleur CMS.
Les finalistes sont:
[Drupal | e107 | Joomla! | Plone | Xoops]
Pour ma part je vote sans hésitation pour Joomla!, un puissant CMS plein d’avenir… [en savoir plus...]
Au fil du web
Cette semaine j’ai installé XAMPP que j’ai découvert via prendreuncafé.com. J’ai retrouvé le paquet "gnome-art" qui permet d’installer les thèmes et les fonds d’écran de http://art.gnome.org/. J’ai rapidement testé la version 1.5 de Joomla!, qui s’annonce prometteuse! J’ai fais les mises à jour de Joomla 1.0.9 vers la 1.0.10 qui fixe entre autre des bugs de sécurité. J’ai aussi passé pas mal de temps à me prendre la tête avec Windows Guenine Avantage et sa désintallation. Voir le crack. J’ai installé ubuntu pour faire des tests sur une machine distante, Firestarter, vino et ssh étaient de la partie… Merci freetux pour la doc.
Faut aussi que je me rappel d’utiliser la recherche linux de google et le moteur de recherche Exalead…
Un de ces quatres je me motiverais pour essayer Swiftfox, un navigateur basé sur Firefox optimisé pour les différents processeurs. La marche à suivre de d’Enjoy Aspirin sur le forum d’ubuntu n’a pas l’air bien compliquée…




