Vous cherchez un moyen simple et participatif de partager des fragments ou exemples de code (en anglais, des snippets) ? Rien de plus simple avec Snipeet, un outil dédié basé sur le framework Symfony dont l'installation a déjà été décrite sur le présent blog.

Pour installer Snipeet sur une machine propulsée par - au hasard total - Ubuntu LTS, rien de plus simple :

$ sudo -s 
# cd /var/www
# mkdir snipeet && cd snipeet
# svn co http://svn.snippet.symfony-project.com/trunk/ .
# chown -R www-data cache log

On crée une base et un utilisateur MySQL dédié à l'application :

$ mysql -uroot -p
mysql> CREATE DATABASE snipeet;
mysql> GRANT ALL ON snipeet.* TO snipeet@localhost IDENTIFIED BY 'votre_mot_de_passe';
mysql> FLUSH PRIVILEGES;
mysql> \q

On défini les paramètres d'accès SQL dans les fichiers ./config/propel.ini et ./config/database.yml en définissant le DSN ad-hoc, par exemple mysql://snipeet:votre_mot_de_passe@localhost/snipeet.

On lance les commandes de création et d'insertion SQL :

# symfony propel-build-sql
# symfony propel-insert-sql

Enfin, on crée un vhost apache dédié, sur un sous-domaine snipeet.domaine.tld par exemple dans un fichier /etc/apache2/sites-available/snipeet.domaine.tld :

<Directory "/usr/share/php/data/symfony/web/sf">
  AllowOverride All
  Allow from All 
</Directory>

<VirtualHost *>
    ServerName snipeet.domaine.tld
    DocumentRoot "/var/www/snipeet/web"
    DirectoryIndex index.php
    Alias /sf /usr/share/php/data/symfony/web/sf

    <Directory "/var/www/snipeet/web">
        AllowOverride All
        Allow from All
    </Directory>
</VirtualHost>

Sans oublier de l'activer :

# a2ensite snipeet.domaine.tld

Puis de relancer proprement apache2 :

# apache2ctl graceful

Et on fait pointer son navigateur à l'adresse paramétrée précedemment tout en savourant le résultat et surtout le fait qu'il nous a fallu moins de 5 minutes montre en main pour en arriver là :)

Edit: Tellement content que j'en oublie l'adresse de la démo : snippets.prendreuncafe.com :)