Je suis responsable du dess informatique conception logicielle et
applications aux bases de données de l’université de poitiers. Je
souhaite faire développer par un groupe d’étudiants un module pour
spip qui permette de gérer des groupes d’utilisateurs avec des zones
privées par groupe, pour un site spip. Avec, entre autres, comme fonctionnalités :
Création/suppression de groupes / mises à jour de groupes…
Ces groupes peuvent se recouvrir partiellement ou non… les groupes ont des
domaines privés (forums…)
Voici mes questions :
Un projet similaire est-il déjà en cours ?
Existe-t-il un “kit de developpement” de module pour spip ?
Bien Cordialement
Philippe Nehlig
Discipline Informatique, UFR SFA, Université de Poitiers
Bât. SP2MI, Téléport 2, Boulevard Marie et Pierre Curie
BP 30179 F-86960 FUTUROSCOPE CHASSENEUIL CEDEX
souhaite faire développer par un groupe d'étudiants un module pour
spip qui permette de gérer des groupes d'utilisateurs avec des zones
privées par groupe, pour un site spip. Avec, entre autres, comme fonctionnalités :
Création/suppression de groupes / mises à jour de groupes...
Ces groupes peuvent se recouvrir partiellement ou non... les groupes ont des
domaines privés (forums...)
Voici mes questions :
1. Un projet similaire est-il déjà en cours ?
J'ai un truc comme ça bien avancé dans mon cvs... mais il faut que je m'y
remette. Quand est-ce que tes étudiants doivent commencer ce projet ?
2. Existe-t-il un "kit de developpement" de module pour spip ?
Moi j'ai un fait un truc qui permet d'ajouter des modules sous spip, type modules nuke. On peut y ajouter n'importe quel type de module externe. Mais y 'a quelques modifs à faire dans inc_presentation.
>
>Moi j'ai un fait un truc qui permet d'ajouter des modules sous spip, type
>modules nuke. On peut y ajouter n'importe quel type de module externe. Mais
>y 'a quelques modifs à faire dans inc_presentation.
>
>voila
>
Salut,
J'aimerais en savoir un peu plus sur ta méthode, en privé pour ne pas
encombrer la liste.
Alors je vais essayer d'expliquer ça !!
1. modif de inc_presentation afin dinserer un bouton "module" je l'ai mis à droite dans le bando secondaire, avnt le bouton deconnecter.
2. les modules sont dans un repertoire /ecrire/module, chaque module dans un sous repertoire SPIP-nomdumodule.
Pour chaque module, on crée :
- un fichier case.nomdmodule.inc (qui regroupe tous les switch du module)
- un fichier links.nomdumodule.inc (qui contient le lien vers le fichier accueil du module et le nom du module)
- le fichier nomdumodule.php
3. ajout d'un fichier modules.php dans /ecrire
Ce fichier lit les repertoire SPIP-nomdumodule et affiche dans le bando secondaire un lien avec le nom du module.
Il insere aussi le nom de module dans une table et donne un droit d'acces à l'admin du site.
4. creer une table spip_auteur_module ppour gerer les droits sur les modules, et une table spip_modules definissant les module.
Probleme quand il s'agit de gerer les droits sur les modules,.
Si une seule personne gere les modules pas de problem ! Mais sinon, c'est plus complique.
Il faudrait modifier auteur.php, y ajouter un menu permettant de donner des droits aux auteurs
Notamment sur sa "resistance" aux mises a jour de spip
dans le cas d'une utiisation par une seulle personne, on ne modifie que inc_presentation
Cas d'utilisateur multiple des modules, modifier aussi auteur.php et trouver une solution !!
@ Philippe Nehlig <Philippe.Nehlig@univ-poitiers.fr> :
Je souhaite faire développer par un groupe d'étudiants un module pour
spip qui permette de gérer des groupes d'utilisateurs avec des zones
privées par groupe, pour un site spip. Avec, entre autres, comme
fonctionnalités : Création/suppression de groupes / mises à jour de
groupes... Ces groupes peuvent se recouvrir partiellement ou non... les
groupes ont des domaines privés (forums...)
Je viens de reprendre le code qui permet de créer des groupes
d'utilisateurs ; je vais l'envoyer dans le CVS, même s'il n'est
qu'expérimental, car il est totalement transparent.
En gros : tant qu'on ne va pas sur la page ecrire/groupes.php3 il ne se
passe rien. Sur cette page on peut créer des groupes ; les utilisateurs se
voient alors proposer, pour chacun des groupes qui correspond à leur niveau
d'accès, de s'y inscrire ou de s'en retirer. Les "simples visiteurs",
évidemment, n'ont pas d'interface (tout est dans l'espace privé).
Pour l'instant ce code sait juste produire une liste de tous les mails des
utilisateurs abonnés à un certain groupe (l'idée est de faire un module de
"mailing-list" derrière ça, mais il y a encore du boulot, et on peut faire
des tas de choses avec les groupes, en-dehors des questions de mail...).
Et si on sort une version 1.4.3 prochainement, avant que ce truc soit
finalisé, il suffira de supprimer la page groupes.php3
Merci pour ta réponse. Le projet commencera le mois prochain, pour la partie documentaire. La partie de codage c’est janvier et fevrier 2003, à temps plein pour 2-3 étudiants de DESS informatique. Si tu as des “tuyaux” on est preneur. L’idée c’est bien-sur d’aboutir à un module utilisable facilement par la communauté spip, avec gestion graphique des utilisateurs, des groupes d’utilisateurs, des zones à accès réservé aux membres d’un (ou de plusieurs) groupes d’utilisateurs d’un même site spip.
Amitiés,
Philippe Nehlig
Discipline Informatique, UFR SFA, Université de Poitiers
Bât. SP2MI, Téléport 2, Boulevard Marie et Pierre Curie
BP 30179 F-86960 FUTUROSCOPE CHASSENEUIL CEDEX
Existe-t-il un « kit de developpement » de module pour spip ?>
Moi j’ai un fait un truc qui permet d’ajouter des modules sous spip, type
modules nuke. On peut y ajouter n’importe quel type de module externe. Mais
y 'a quelques modifs à faire dans inc_presentation.
Voila cela ne doit pas etre très pro, propre, c’est a mon avis du bidouillage mais ça fonctionne.
Ya modules.php qui lit les repertoire contenant les modules
Ya inc_bando_module.php3 qui gere l’affiche des nom des modules dans l’interface spip.
et y’a un exemple de module.
et Y’a inc_presentation modifié (attention c’est un inc_presentation d’une version 14d9CsV), mais il a pas du trop changer.