Dotclear

Vous n'êtes pas identifié(e).

Annonce

13 février 2024 Sortie de Dotclear 2.29

#1 2009-01-08 13:38:28

Benjhe
Membre
Inscription : 2008-12-17

Page de création de blogs personnels => Besoin d'aide en dvpment

Bonjour,
je travaille actuellement sur la mise en place d'une plateforme multiblog pour une Université, un peu comme la solution que Free a mise en place.
Comme Dotclear ne semble pas réellement fait pour du multiblog, j'aurai besoin de développer certaines extensions si nous venions à choisir ce logiciel.
Ne connaissant pas du tout le fonctionnement du moteur de Dotclear que je découvre, j'aurai besoin d'aide concernant l'utilisation des différentes fonctions.

Le principe final doit être une page d'activation, joignable via l'url principale (ex: blogs.universite.fr), sur laquelle un membre de l'université (Etudiant, Personnel, Enseignant) n'aura qu'a saisir une fois son login pour activer son blog personnel (impliquant une communication avec un annuaire LDAP)
Seulement, il doit également être possible de créer des blogs à la demande (pour un groupe de travail par exemple).

Pour le moment, je vais juste me contenter de réaliser une page de formulaire comme Free, et de créer le blog lorsque l'on valide.

L'agencement de mes fichiers sur le serveur est le suivant (j'utilise un serveur Apache Linux local) :

- /var/www/dotclear (répertoire contenant tout) => DNS principal blogs.universite.fr
- /var/www/dotclear/dotclear/                          => Répertoire de la solution dotclear
- /var/www/dotclear/all_blogs/                         => Répertoire commun à tous les blogs (Contenant le répertoire Themes et Plugins)
- /var/www/dotclear/blogs                               => Répertoire qui contiendra tous les dossiers blogs
- /var/www/dotclear/blogs/blog1/                    => Répertoire du blog "blog1", il contient le dossier public et a pour DNS blog1.blogs.universite.fr
- /var/www/dotclear/blogs/blog2/                    => ...

Le multiblog marche parfaitement à condition de suivre la procédure manuelle documentée sur ce site.

J'ai donc pour le moment réalisé un fichier index.php, placé dans /var/www/dotclear, ce qui fait que l'on tombe dessus lorsque que l'on se rend sur blogs.universite.fr
Il s'agit d'un questionnaire qui demande un Login (en fait il s'agira de blog_id) et un nom pour le blog (blog_name).
A partir de là, on arrive à renseigner :
- Blog_id = Blog_id
- Blog_url = http://+Blog_id+.blogs.universite.fr/index.php
- Blog_name = Blog_name

J'ai réalisé un premier script qui se connecte directement à la base de Dotclear et renseigne directement les champs via une requête INSERT. Cela  fonctionne mais je ne suis pas persuadé qu'il s'agisse de la solution la plus propre.
Alors j'ai décidé d'utiliser les fonctions de $core, en m'inspirant du fichier /dotclear/admin/blog.php et c'est là que je bloque car addBlog($cur) me génère une erreur.

Avez-vous donc une idée de la manière d'utiliser les fonctions de Dotclear depuis ce fichier index.php ?
Sachant que la hiérarchie est la suivante :
- /var/www/dotclear/index.php
- /var/www/dotclear/dotclear/inc/admin/prepend.php

Merci.
Benjhe

Hors ligne

#2 2009-01-08 19:12:06

Kozlika
Modo dcTeam
Inscription : 2004-05-08
Site Web

Re : Page de création de blogs personnels => Besoin d'aide en dvpment

Je ne sais pas répondre à ta question. Mais peut-être que kerjoa, s'il passe, pourra t'aider. C'est un enseignant qui a mis en place une plate-forme doctclear pour des profs / classes / élèves de son académie.


La documentation : http://doc.dotclear.net/2.0/fulltoc
Le module de recherche du forum : http://www.dotclear.net/forum/search.php ?

Hors ligne

#3 2009-01-13 07:48:05

kerjoa
Membre
Lieu : Dane - Académie de Versailles
Inscription : 2008-01-28
Site Web

Re : Page de création de blogs personnels => Besoin d'aide en dvpment

Benjhe a écrit :

Le principe final doit être une page d'activation, joignable via l'url principale (ex: blogs.universite.fr), sur laquelle un membre de l'université (Etudiant, Personnel, Enseignant) n'aura qu'a saisir une fois son login pour activer son blog personnel (impliquant une communication avec un annuaire LDAP)

Et son mot de passe j'imagine ?

Pour créer le blog de façon automatisée il faut qu'un script fasse au moins deux choses :
- ajouter les infos (blog, utilisateur,...) dans la base de données.
- créer le bon répertoire du blog contenant le bon fichier index.php

C'est ceci que fait mon script.
Ou plutôt le script du plugin Subscription que j'ai adapté à nos besoin (chemins à adapter + quelques adaptations + bug avec captcha).
http://marcvachette.info/?plugin-subscr … version-02

De mon coté je n'utilise pas ldap.
Je filtre simplement les emails du formulaire de création.
Si c'est bon, le blog est créé et un mail envoyé à l'utilisateur (contenant en particulier son mot de passe).
ça marche bien sauf pour les personnes qui ne savent pas lire leurs mails (nous en avons beaucoup !) et dans ce cas le blog restera désespérément vide si les gens ne me contacte pas...

Peut-être peux-tu aussi filtrer avec les emails ? (qui sont dans ldap et correspondent à un login que tu récupères)
Tu demandes dans ton formulaire les infos :
- email,
- vrai nom du blog,
- nom court du blog pour le dossier
- option : blog perso ou de groupe ?
- ...

Ce que je n'ai pas fait de mon coté : avoir une architecture propre comme celle proposée dans les tutos depuis. Je n'ai pas non plus de sous-domaine (que je ne sais pas géré automatiquement).

De ton coté, j'imagine encore qu'il faudrait modifier les classes d'identification de dotclear pour se connecter via l'annuaire ldap.

Je suis le fil si tu as d'autres questions !

Johan

Hors ligne

#4 2009-01-13 07:49:48

kerjoa
Membre
Lieu : Dane - Académie de Versailles
Inscription : 2008-01-28
Site Web

Re : Page de création de blogs personnels => Besoin d'aide en dvpment

En fait, j'avais utilisé la v0.1...

Johan

Hors ligne

#5 2009-01-13 08:57:32

Benjhe
Membre
Inscription : 2008-12-17

Re : Page de création de blogs personnels => Besoin d'aide en dvpment

Bonjour,
merci d'avoir répondu à mes questions. J'étais à la recherche d'un plugin du genre pour me mettre sur la voie mais je ne trouvais rien.
Je viens d'installer la v0.2 de Subscription sur mon serveur de test mais il ne semble pas gérer les sous-domaines car il ne trouve pas le fichier de configuration de Dotclear.
De toute facon, je compte bien le réadapter pour nos besoins.

Pour "l'activation" d'un blog, en fait, je ne souhaite que demander login + mdp. Nous possédons un annuaire LDAP très complet en ce qui concerne les membres de l'université (Nom, prénom, adresse email, ecole ou composante...)
Donc, une fois login+mdp rentrés sur la page d'activation, le script ira vérifier l'existence de l'utilisateur dans l'annuaire et s'il existe, enverra un url de validation avec token à l'adresse email correspondante. L'utilisateur n'aura alors qu'à cliquer sur l'url dans le mail pour activer son blog personnel.
De ce fait, seul les membres de l'Université pourront avoir un blog. Les extérieurs devront en faire la demande au blogmaster.

Côté script, j'ai bien compris la procédure à suivre. J'en ai développé un petit qui réalise les étapes suivantes :
1. Insertion d'une ligne dans la table dc_blog avec les renseignements nécessaires : Id du blog, uid (md5+uniqid), dates de création et modification, URL, Nom et description, activation à oui.
2. Création du répertoire du blog avec son dossier 'public' et 2 liens symboliques vers themes/ et admin/
3. Création du fichier "index.php" avec son contenu redirigeant vers public/prepend.php
4. Modification du about:config du blog créé en insérant les champs correspondants dans la table dc_setting
5. Création de l'utilisateur en insérant des champs dans la table dc_user.

Ce script fonctionne parfaitement, mais l'idée d'insérer directement les valeurs dans les tables ne me plait pas trop. D'où mon intérêt pour le plugin que tu viens de m'indiquer, qui pourra m'aiguiller sur l'utilisation des classes de Dotclear.

Concernant ta page d'activation, s'agit-il d'un blog sur lequel tu fais un lien vers index.php/subscription ou bien as-tu redéveloppé une page faisant usage du plugin ?

Sinon dernière question : pourrais-tu m'indiquer quels choix t'ont poussé à choisir Dotclear plutôt qu'une autre solution telle que Wordpress MU qui gère nativement les fermes de blog ?

Merci

Hors ligne

#6 2009-01-13 10:09:22

Benjhe
Membre
Inscription : 2008-12-17

Re : Page de création de blogs personnels => Besoin d'aide en dvpment

Quelques autres questions concernant Dotclear :
- L'utilisation d'un plugin doit-elle obligatoirement passer par un blog ? Par exemple, pour accéder au plugin Subscription, il faut renseigner l'url http://un_blog.domaine.tld/index.php/subscription

J'aimerai faire la même chose que free (http://blog.free.fr/). C'est à dire directement un formulaire d'inscription lorsqu'on arrive sur l'URL principale http://domaine.tld/index.php

Actuellement ma configuration serveur est la suivante :
/var/www/dotclear/               => répertoire "conteneur" (contient les répertoires de blog, répertoires communs,...) dans lequel je souhaiterai placer mon script de création de blog. L'URL principale pointe vers ce répertoire.
/var/www/dotclear/dotclear/ => répertoire de Dotclear

Si l'utilisation d'un plugin dans ce cas n'est pas possible, est-ce que quelqu'un saurait m'indiquer comment utiliser les classes de Dotclear (se trouvant donc dans /var/www/dotclear/dotclear/) à partir du fichier /var/www/dotclear/index.php ?

Hors ligne

#7 2009-01-13 13:19:09

kerjoa
Membre
Lieu : Dane - Académie de Versailles
Inscription : 2008-01-28
Site Web

Re : Page de création de blogs personnels => Besoin d'aide en dvpment

Benjhe a écrit :

Côté script, j'ai bien compris la procédure à suivre. J'en ai développé un petit qui réalise les étapes suivantes :
1. Insertion d'une ligne dans la table dc_blog avec les renseignements nécessaires : Id du blog, uid (md5+uniqid), dates de création et modification, URL, Nom et description, activation à oui.

Peut-être mettre ces infos dans une table distinctes et quand le token est validé, récupéré les données et les mettre dans la base de dotclear.
Je pense que c'est plus propre. Comme tu le dis plus bas.
J'y avait pensé aussi mais un peu tard...


Concernant ta page d'activation, s'agit-il d'un blog sur lequel tu fais un lien vers index.php/subscription ou bien as-tu redéveloppé une page faisant usage du plugin ?

C'est le blog par défaut. avec des liens.
Voir ma signature.

Sinon dernière question : pourrais-tu m'indiquer quels choix t'ont poussé à choisir Dotclear plutôt qu'une autre solution telle que Wordpress MU qui gère nativement les fermes de blog ?

Quand j'avais regardé wordpress, qui pour chaque blog créés ajoute des tables distinctes dans la base, ça m'a paru plus complexe à gérer à long terme.

Et surtout, Dotclear et sa communauté m'avait l'air bien sympa :-)
Le développement était en beta mais ça carburait dur (il y a un tout petit plus d'un an).

Je suis très content de ce choix :-)

Johan

Hors ligne

#8 2009-01-13 13:25:03

kerjoa
Membre
Lieu : Dane - Académie de Versailles
Inscription : 2008-01-28
Site Web

Re : Page de création de blogs personnels => Besoin d'aide en dvpment

Benjhe a écrit :

Quelques autres questions concernant Dotclear :
- L'utilisation d'un plugin doit-elle obligatoirement passer par un blog ? Par exemple, pour accéder au plugin Subscription, il faut renseigner l'url http://un_blog.domaine.tld/index.php/subscription

Vu tes questions (et mes réponses), je pense que dans ton cas tu n'es pas forcé de passer par un blog.

Pour la suite de tes questions, je ne suis pas assez calé...
Regarde du coté de la doc et du code plugins existants. Du moment que tu arrive à instancier des objets, ça doit être possible.

Johan

Hors ligne

Vous n'êtes pas identifié(e).

Pied de page des forums

Sites map