Bonjour,
je suis actuellement en train de développer une 'extension' à
Spip afin de gérer une partie 'privée' (autre que celle des
rédacteurs) contenant des éléments (rubriques, articles, ...)
accesibles uniquement après un login.
Techniquement, l'idée n'est pas vraimment difficile à
réaliser : la visibilité est gérée au niveau des rubriques
(ajout d'un champ visibilité dans la table des rubriques) et
s'applique à tous les éléments contenus dans la rubrique. Il
suffit ensuite d'ajouter ce critère à la construction des
requètes SQL liées aux boucles et normalement le tour est
joué. Bien sur il faut aussi ajouter le système de login et
poser un cookie (pas de session pour rester compatible avec
php3) chez les utilisateurs logés pour activer l'affichage des
rubriques 'privées' et de leur contenu. A priori rien de bien
sorcier, d'ailleurs j'ai déjà écrit une bonne partie du code.
La partie 'administration' correspondante devra permettre de
choisir (simplement avec une checkbox) la visibilité de chaque
rubrique et éventuellement de supprimer/rajouter des
utilisateurs (je n'ai pas encore attaqué cette partie par
contre).
J'essaie de faire ça le plus proprement posssible afin qu'une
éventuelle intégration a spip (v1.4, 1.5 ?) soit possible sans
trop de problèmes. Je me pose toutefois quelques questions :
1- Existe-il une doc expliquant les fonctionnalités
des 'fichiers de fonctionnement' de Spip (ie. ceux de
construction du squelette en php, ...). Actuellement j'essaie
de deviner ce que fait chaque fichier mais ce n'est pas
toujours facile, ou plutôt c'est relativement long et
fastidieu... De plus j'aimerai éviter de 'poser' des fonctions
à des endroits auxquels elles ne correspondent pas vraimment.
2- Performances : pour tous les éléments, sauf les rubriques,
cette modification va entrainer une jointure dans la requète
SQL (pour vérifier la visibilité de la rubrique mère) de la
boucle spip associée, la rendant ainsi plus lourde. Si ça
risque de ralentir un peu le fonctionnement, ça ne devrait a
priori pas être significatif mais je préfère demander l'avis
des développeurs pour être sur.
3- Voyez-vous des points que j'aurais négligé dans la
conception du système? Des problèmes potentiels que je
n'aurais pas détectés ? J'ai découvert Spip il y peu (1
semaine en fait) et il est bien possible que certaines
subtilités m'échappent...
4- Ce système interesse-t-il quelqu'un d'autre ? C'est pour
savoir s'il est utile de passer un peu de temps à réaliser un
package d'installation bien propre et à le tester. Je sais que
c'est fortement conseillé dans la rubrique 'participer au
dvp', mais si je suis le seul à utiliser cette fonctionnalité
ça présente alors peu d'intéret.
5- La question ultime : y-a-t-il quelqu'un d'interessé pour
participer ? En particulier au développement de l'interface
d'administration, qui ne me motive pas particulièrement
(actuelllement je fait ça avec des requètes 'update' à la
main, c'est pour dire !).
Si vous êtes interessés ou si vous avez des questions,
contactez moi !
d'avance merci,
a+
Pierre Rust
PS : j'ai déjà posté un message à ce sujet sur la ml des
webmestres mais a priori celle-là est plus adaptée.
"Accédez au courrier électronique de La Poste : www.laposte.net ; 3615 LAPOSTENET (0,13 /mn) ; tél : 08 92 68 13 50 (0,34/mn)"