Les multiples possibilités du #LOGIN_PUBLIC

Ceci est une ARCHIVE, peut-être périmée. Vérifiez bien les compatibilités !

Comment utiliser le #LOGIN_PUBLIC pour offrir des options aux utilisateurs authentifiés

D’après la documentation officielle, le #LOGIN_PUBLIC a été mis en place pour les forums sur abonnement. Depuis, cette option a souvent été assimilée à un moyen de restreindre l’accès à certaines parties “publiques” du contenu d’un site.

L’utilisation qui sera présentée ici est totalement différente et a eu comme point de départ la possibilité d’offrir des services à des utilisateurs authentifiés. C’est vrai, le fait de s’enregistrer permet au webmestre de suivre un peu ce qui se passe, mais il y a aussi l’autre aspect qui donne la possibilité de conserver certaines données dans les tables, restituées à leur auteur, sur demande.

Le test d’authentification est très bien expliqué dans la section formulaires de la documentation de SPIP, en particulier pour le test sur la variable $auteur_session.

Voyons un exemple concret. Dans mon cas, il s’agir d’un site universitaire qui offre des outils en complément du polycopié et des notes de cours. Un étudiant authentifié peut annoter les pages du cours (des articles au sens de SPIP), il peut se constituer son espace personnel avec des articles favoris, lui permettant d’accéder dès sa connexion à une sélection de quelques articles sur les centaines qui sont disponibles. C’est une troisième option qui fera l’objet du tutorial.

Nous voulons mettre en place un système qui permet aux étudiants d’accéder à une série de sujets d’examens, dits de rédaction courte.
L’ensemble des sujets appartiennent à une rubrique spéciale, disons la no 13. Le sujet est dans le titre, l’énoncé dans le texte et la réponse attendue dans le chapo. Les liens sont accessibles sur l’espace personnel du visiteur. Une boucle (ARTICLES)(id_rubrique=13) donne la liste les sujets, avec un lien répondre qui n’est que le forum attaché à l’article. Vous l’avez compris, c’est le fonctionnement classique du forum sur abonnement, détourné pour simuler un examen.

Sur cette page de contrôle, une requête SQL teste en permanence dans la table spip_forum, l’existence de message posté par l’auteur_session et correspondant à l’article (sujet) en cours. S’il existe une réponse, le texte vient s’afficher sous l’énoncé et ce pour chaque sujet. Si les mêmes conditions sont réunies, un lien “Voir la réponse” permet d’accéder à la réponse type dans une fenêtre popup.

Ces pages contiennent un peu de SPIP, aussi du php et du SQL. En voici un extrait :

 
((<BOUCLE_cc(ARTICLES){id_rubrique=13}{id_article!=23}{par num surtitre}>
	<div style="float:left;width:auto;"><span class="textegras"><a name="art#ID_ARTICLE">#TITRE</a></span><a href="forum.php3?#PARAMETRES_FORUM&choix_div=control" class="admin"> 
		<img src="ecrire/img_pack/icon_latest_reply.gif" width="24" height="18" align="absmiddle" border="0" hspace ="3">R&eacute;pondre</a></div>
		<div style="float:right;clear:right;width:20px;"><a href="#Top"><img src="biopics/haut.png" border="0" title="Haut de la page"></a></div>
		<div class="petitexte" style="clear:both">[(#TEXTE)]</div>

<?	
		// requête SQL : extrait la ligne de la table spip_forum correspondant à l utilisateur connecté
		// et à l article de la boucle
		$query = "SELECT * FROM spip_forum WHERE id_article = '#ID_ARTICLE' AND auteur = '$nom_user'";
		// exécute la requête
		$result = spip_query($query);
	if (spip_num_rows($result) != 0) {
?>
		<a href="response.php3id_article=#ID_ARTICLE" class="texte">Voir la correction</a>
<?		while ($row=spip_fetch_array($result)){
		$texte=$row[texte];
		$auteur=$row[auteur];
		$statut=$row[statut];
		print ("<div class=\"notes\"><font color=\"red\"><li><strong>Ma réponse : </strong>$texte</li></font></div><br>");
			}
	}
 ?>
 <hr size=1>
</BOUCLE_cc>))

On se retrouve donc avec des contributions des étudiants qui répondent à des sujets rédactionnels, qui peuvent comparer leur réponse avec celle qui est attendue.

Vous pouvez voir l’exemple du fonctionnement sur la page de mon site,
en choisissant l’option Contrôle continu. Deux améliorations ont été apportées depuis :
-  Pour chaque sujet il y a des mots-clés définis par l’examinateur, dont la présence est recherchée dans le texte de la réponse. S’ils figurent ils sont surlignés. Sinon, ils sont listés comme absents.
-  L’examinateur, qui a des droits d’administrateur, peut répondre au forum de l’article (id_parent). De cette façon, l’étudiant peut disposer de remarques personnalisées sur sa réponse.

Discussion

4 discussions

  • Il y a un souci sur le lien donné dans l’article.
    http://avtomati.net/

    Répondre à ce message

  • Jonathan Sombers

    Que c’est bien que j’ai pu trouver un site qui est entièrement dédiée à cette plateforme. J’ai lu essays sur tout le web pour moi d’être en mesure de terminer mon mémoire de recherche sur différentes plates-formes web de programmation. Je sais que ce site sera utile pour mes études.

    Répondre à ce message

  • 3
    PELAGIE

    Bonjour,

    Je développe en ce moment avec SPIP mais je rencontre des difficultés pour faire exactement ce que je veux.

    En effet je souhaite que le lien « s’inscrire » qui se trouve sur la page privée et qui permet de rentrer son pseudo et son Email afin de recevoir ses codes de connexion puisse non pas faire ce qui précède mais nous redirige vers le formulaire d’inscription d’un nouvel auteur et permettre au nouveau rédacteur de valider ses informations personnelles.

    Merci pour celui qui veux bien m’aider rapidement

    • La réponse à la question mérite réflexion. En fait, dans SPIP 1.8, la gestion des formulaires est totalement différente. On n’a plus à aller modifier le inc_formulaire comme avant. Donc, à mon sens, je peux me tromper, il faut créer une page avec un formulaire choisi dans le répertoire ad hoc. Les .html sont personnalisables.
      Dans mon cas j’utilise la balise #LOGIN_PUBLIC sur un formulaire perso et ça marche très bien. tu peux aller voir le fonctionnement à partir de la contrib no 909.

      @+

      YR

    • PELAGIE

      Bonjour,

      Je ne suis pas une pro de spip 1.8 et je le découvre depuis seulement un mois. alors ce que tu me dis ne me parle pas trop. La contrib 909 dont tu parles se trouve où ?

      Explique moi explicitement ce qu’il faut faire pour résoudre mon problème.

      En te remerciant...

    • Malheureusement je n’ai pas de recette toute faite. L’article que je te conseille est en cours de validation : http://www.spip-contrib.net/ecrire/articles.php3?id_article=909 (il faut s’inscrire).
      Par rapport à la 1.8, c’est juste une idée dans la mesure où les formulaires sont maintenant gérés par des couples .php3/.html, donc plus faciles à adapter à des usages spécifiques. Si tu cherche de l’aide tu as intérêt à poser la question directement sur la liste des utilisateurs.

      YR

    Répondre à ce message

  • 3

    Il y a un souci sur le lien donné dans l’article. Difficile donc d’aller voir :-(

    Répondre à ce message

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom