Table des matières
Catapulse est un moteur de blog (voir un CMS), basé sur le framework Perl Catalyst . Le principe est un peu différent des autres blogs en ce sens que les articles sont écrits en local sous divers formats, transmit à Catapulse qui les traduits en XHTML.
Pour débuter ce projet je me suis inspiré d'Angerwhale pour la traduction des différents type fichiers en XHTML, le reste à été bricolé par mes soins. Encore en développement Catapulse semble cependant utilisable bien qu'il lui manque encore l'édition d'article au travers une interface web, et surement un tas d'autres améliorations :)
-
Multi base de données ( Sqlite (testé), Mysql (testé), Postgres (non testé), Oracle (non testé) ...
-
Multi langues ( via I18N )
-
Conforme XHTML 1.1
-
Cache (via FastMmap)
-
Support fichiers ( Texte, Pod, Html, Docbook, MarkDown, Textile ), Gestion des pages,catégories et liens
-
Moteur de recherche (Kinosearch)
-
Colorisation du code
-
Flux Atom / RSS
-
Anti Spam ... merci à Ulhume ;)
C'est par ici : http://www.catapulse.org/static/files/Catapulse-0.01.tar.gz
perl Makefile.PL make installdeps make make test ( 'make install' is NOT Necessary )
1 - Adapter dans le fichier
catapulse.yml
le
schema de la base. ci-dessous deux exemples de configuration (
SQLite
et
Mysql
)
# Database Model
Model::DB:
connect_info:
- dbi:SQLite:__HOME__/db/catapulse.db
Model::DB:
connect_info:
- dbi:mysql:dbname=Catapulse;host=localhost;user=catapulse;password=pw
2 - Exécuter le script:
./script/catapulse_spawn_db.pl
Et c'est tout :)
SQLITE:
sqlite3 db/catapulse.db < db/catapulse.sql
MYSQL & Postgres
1 - Créer la base Catapulse, par exemple pour Mysql:
# Modifier le mot de passe de l'adminstrateur root mysqladmin -u root password 'nouveaumotdepasse' # Se loguer a mysql mysql -u root -p mysql> create database Catapulse; Query OK, 1 row affected (0.00 sec) mysql> GRANT ALL PRIVILEGES ON Catapulse.* to myuser@localhost IDENTIFIED BY 'passwd'; mysql> FLUSH PRIVILEGES;
2 - Générer les fichiers fichiers permettant la création du schéma de la base
./script/catapulse_spawn_db.pl --create_ddl_dir
Les fichiers de créations des tables de chaque base sont générés dans le répertoire db
ls db/ catapulse.db DB-Schema-0.1-MySQL.sql DB-Schema-0.1-SQLite.sql catapulse.sql DB-Schema-0.1-PostgreSQL.sql README
3 - Générer la base :
mysql -u root -p Catapulse < db/DB-Schema-0.1-MySQL.sql
4 - Adapter le schema de la base dans le fichier
catapulse.yml
Il est possible d'utiliser divers frontaux HTTP (Apache, lighttpd, Nginx...) ci-dessous une config avec lighttpd en fastcgi :
$HTTP["host"] =~ "^(www.)?catapulse.org" {
fastcgi.server = (
"" => (
"Catapulse" => (
"check-local" => "disable",
"host" => "127.0.0.1", "port" => 1030,
"bin-path" => "/var/www/Catapulse/script/catapulse_fastcgi.pl",
"min-procs" => 2,
"max-procs" => 5,
"idle-timeout" => 20
)
)
)
}


