Bonjour à tous,
nouveau sur cette liste, le moins que je puisse faire est de me
présenter, le seul problème c'est qu'on sait jamais trop quoi dire dans
ces moments la !
je suis dans "le sud ouesteu cong" (avec l'accent chantant) et membre de
l'ABUL (pub: www.abul.org)
bref, développeur de logiciels libres, et uniquements libres (au sens
GNU/GPL) avec comme "gros" projet AbulÉdu qui est une solution complète
pour mettre du logiciel libre dans les écoles primaires (pub encore,
www.abuledu.org). Pour mettre du logiciel libre sur le "serveur" de
l'école mais aussi sur les postes clients, et gérer quand même des
postes windows et mac sur le réseau de l'école. En bref, du bonheur.
Dans nos utilisateurs d'AbulEdu, on a des personnes qui nous ont parlées
de spip, et ce depuis longtemps.
Il y a "longtemps" donc, j'ai regardé le code, remarqué que seul mysql
était géré et par manque de temps, laissé tomber. Je suis reviendu à la
charge y a 4 ou 5 mois, idem
Cette fois c'est décidé, je suis sur la liste et j'ai commencé à faire
ce que je voulais sur le code de spip, donc je vous lance ce mail :o)
Puis-je contribuer rapidement à faire de sorte que spip soit
"indépendant" du moteur de base de données ?
Tous les outils que je développe se basent sur une petite lib
d'abstraction de base de données que j'ai faite, simple et efficace je
vous donne le détail :
- j'ai regardé du côté des api orientées objet de gestion des bases de
donénes, j'ai trouvé ça lourdingue
-> j'ai fait une lib toute simple qui a les fonctions suivantes (par
exemple)
SQL_Connect
SQL_Exec
SQL_NumRows
etc.
qui ont une syntaxe très proche des fonctions pg_ equivalentes,
parceque oui je viens de postgresql et non de mysql :o)
Si vous voulez voir du code qui utilise cette lib, AbulBCD qui permet de
gérer la bibliothèque d'une école primaire, en fait un usage assez
intence, et ça marche en mysql et postgresql (et autres, il suffit de
rajouter ce que vous voulez dans la lib) ... http://bcd.abuledu.org pour
une démo en ligne et le code source est ici par exemple
Lib MySQL
http://cvs.rycks.com/cgi-bin/cvsweb/bcd2002/web/libs/mysql.erics.php?rev=1.2&content-type=text/x-cvsweb-markup&cvsroot=AbulBCD
Lib equivalente PgSQL
http://cvs.rycks.com/cgi-bin/cvsweb/bcd2002/web/libs/pgsql.erics.php?rev=1.2&content-type=text/x-cvsweb-markup&cvsroot=AbulBCD
Exemple de code
http://cvs.rycks.com/cgi-bin/cvsweb/bcd2002/web/libs/admin_io.php?rev=1.3&content-type=text/x-cvsweb-markup&cvsroot=AbulBCD
$reqs = "select count(*) from author where firstname='$prenom' and lastname='$nom'";
$ress = SQL_Exec($conn,$reqs);
if(SQL_Result($ress,0,0) == 0){
$reqi = "insert into author(firstname,lastname) values('$prenom','$nom')";
$resi = SQL_Exec($conn,$reqi);
Etc.
Pour en revenir à SPIP, l'avantage d'une telle lib, c'est que comme la
syntaxe est très proche, ben j'ai codé un petit script php qui nous
transforme l'actuel CVS de spip en "code utilisant cette lib" ... bien
entendu à quelques exeptions près qu'il faut reprendre à la main.
Ma question est donc la suivante (mes questions plutot)
- es-ce que ça vous intéresse
- es-ce personne n'est déjà en train de faire ce travail
- quel est le moment ou je peux prendre le CVS et ou personne ne
bossera dessus, j'ai besoin d'une soirée / nuit complète pour faire
toutes les modifs, tester, valider et vous envoyer le patch ?
Merci d'avance,
Éric