SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano | Nederlands

290 Plugins, 198 contribs sur SPIP-Zone, 112 visiteurs en ce moment

Accueil > Améliorations de l’espace privé > Champs extra > Un site web d’anciens élèves grâce aux Champs Extras

Un site web d’anciens élèves grâce aux Champs Extras

31 octobre 2011 – par elm31rugby

7 votes

Ceci est une « contribution pédagogique », qui montre par l’exemple comment développer une nouvelle fonctionnalité pour SPIP.

J’ai réalisé un site pour une association d’anciens élèves, avec une dimension un peu "communautaire". Même si, dès le début, j’avais bien précisé que je ne voulais pas ré-inventer Facebook, nous avons néanmoins mis en place certaines fonctionnalités qui pourraient être utiles à d’autres, pour des sites semblables.

Il existe des plugins pour Association, mais ils ne faisaient pas exactement ce que nous voulions, tout en présentant des fonctionnalités dont nous n’avions pas besoin. Donc, ... j’ai trouvé plus simple de mettre en place notre propre produit, dont le principe est décrit ci-dessous.

Présentation

faire un site sur lequel les anciens élèves :

-   peuvent s’inscrire
-   peuvent remplir une fiche personnelle
-   peuvent modifier leur fiche personnelle (sans qu’elle soit modifiable par un petit camarade, cela s’entend...)
-   s’ils sont connectés, peuvent voir la liste des membres de l’association
-   peuvent faire une recherche (rechercher tous les anciens qui habitent la même ville, ou qui ont fait les mêmes études après le lycée, etc)

Rem : Il y avait initialement d’autres conditions, entre autre sur le paiement en ligne de la cotisation. Ensuite, pour se connecter, il fallait s’assurer que l’ancien élève était à jour de sa cotisation. Pour l’instant, cette clause du cahier des charges a été abandonnée.

Pour réaliser ce cahier des charges, j’ai besoin :

-   du plugin Champs extra 2
-   du plugin Interface pour champs extras.

Installez ces deux plugins, en suivant au besoin les instructions pour installer un plugin. Les spécificités de Champs extras et Interface pour champs extras sont bien décrites dans leur page sur Spip-Contrib (entre autre, besoin d’installer les plugins Bonux et Saisies)

1. Configuration

La fiche de chaque élève

Pour réaliser la fiche de chaque élève, nous allons modifier grâce aux champs extras le formulaire « auteur ».

Pour ajouter un champ :

-   cliquez sur « Configuration » : vous voyez s’afficher l’écran suivant

-   cliquez sur « Champs extras » et suivez la procédure classique pour ajouter un champ.

-  Répétez l’opération pour chaque champs de votre formulaire, tel que vous voulez que votre fiche "élève" soit configurée.

Une fois tous vos champs ajoutés, en fonction du formulaire que vous souhaitez, vous devriez avoir une liste de champs extras qui ressemble plus ou moins à cela :

Comme vous le voyez, presque tous mes champs sont de type « ligne », sauf deux, qui sont de type « Bloc » (les deux champs pour lesquels l’ancien élève a le plus de choses à dire, son « cursus universitaire », et son « Etat civil »)

Vérifiez, dans l’espace privé, que votre fiche "Auteur" est bien modifiée en conséquence.

Une fois que la fiche Auteur est prête, passons à la configuration de notre site

Recherche dans les champs extras

Pour ce qui est de la recherche, j’ai longtemps cherché (c’est le cas de le dire) jusqu’à trouver que, dans la définition des champs extras, on peut décider de l’inclure ou non dans une recherche... Donc, si cette fonctionnalité vous intéresse, ne l’oubliez pas.

Configuration du site :

Vous voulez permettre l’inscription de visiteurs sur le site public, mais vous ne souhaitez pas qu’ils accèdent au site privé. Ce sont des visiteurs, pas des rédacteurs. N’oubliez pas de configurer votre site en conséquence, c’est à dire :

Bouton "Configuration", onglet "Interactivité" :

-  Refusez l’inscription automatique des nouveaux rédacteurs.
-  Acceptez l’inscription de visiteurs du site public.

2. Les squelettes

Tout d’abord, créez deux rubriques :

-  une rubrique intitulée "Fiche Personnelle"
-  une rubrique intitulée "Membres"

REM : Comme je voulais que ces rubriques apparaissent dans ma liste des rubriques sur le site public, j’ai créé dans chacune d’entre elles un article vide.

Voici le code de la rubrique "Fiche Personnelle"

  1. [(#SESSION|oui) <p>Vous êtes authentifié,<a href='#URL_LOGOUT'>cliquez ici pour vous déconnecter</a></p>
  2. <p>... ici le contenu en accès restreint, réservé aux membres de l'Association des Anciens de Hautefeuille</p>
  3. <p>Les champs marqués d'un &laquo;&nbsp;*&nbsp;&raquo; sont obligatoires</p>
  4. #FORMULAIRE_EDITER_AUTEUR{#SESSION{id_auteur}}]
  5. [(#SESSION|non)<p class="restreint">Cette partie est en accès restreint. Pour accéder à votre fiche personnelle, connectez-vous. Si vous n'êtes pas inscrit, allez sur la page <a href="#URL_PAGE{page_inscription}">Inscription</a> pour recevoir votre mot de passe]  

Télécharger

-  si le visiteur est logué, il accède à sa fiche, grâce à #SESSIONid_auteur (et donc, il n’accède pas à la fiche du voisin)
-  s’il n’est pas logué, on lui dit de le faire
-  et on précise que, s’il n’est pas inscrit, il doit passer par le formulaire d’inscription pour recevoir son mot de passe et pouvoir se loguer.

Voici maintenant le code pour la liste des membres

  1. [(#SESSION|oui) <p>Vous êtes authentifié,
  2.                         <a href='#URL_LOGOUT'>cliquez ici pour vous déconnecter</a></p>
  3.                         <p>Vous êtes connecté. Voici la liste des membres de l'Association des Anciens de Hautefeuille.</p>
  4.                         <p><em><small>Les adresses mail sont filtrées, pour éviter d'être spammées</small></em></p>
  5.                         <h3><img src="#DOSSIER_SQUELETTE/img/list.png" alt="liste des membres de l'association des anciens de Hautefeuille" />Liste des membres de l'Association des Anciens de Hautefeuille</h3>
  6.                         #FORMULAIRE_RECHERCHE          
  7. <INCLURE{fond=./boucle/inc-boucle_auteurs}>]
  8. [(#SESSION|non)<p class="restreint">Cette partie est en accès restreint. Pour accéder à votre fiche personnelle, connectez-vous. Si vous n'êtes pas inscrit, allez sur la page <a href="#URL_PAGE{page_inscription}">Inscription</a> pour recevoir votre mot de passe]

Télécharger

Même principe : si l’élève n’est pas logué, on lui dit de le faire, etc.

Pour avoir la liste des membres, je fais une boucle "Auteurs", triée par "nom_de_famille", (qui est le titre de mon champs extra correspondant au nom de famille de l’élève), et dans la boucle, j’utilise les balises de mes champs extras : #PROMOTION, #VILLE, etc. Tout cela est décrit dans la page consacrée à l’utilisation de Champs Extras.

Cette boucle "Auteurs" est placée dans un squelette à part, que j’appelle dans ma balise #SESSION. Le squelette s’appelle inc-balise_auteurs.html, et il est placé dans le sous-répertoire "boucle".

REM : j’utilise la lame du Couteau Suisse qui empêche que les adresses mails soient spammées.

Enfin, pour la première inscription, j’ai créé une page "page_inscription", dans laquelle je place la balise #FORMULAIRE_INSCRIPTION.

Le visiteur s’inscrit, reçoit son mot de passe, et dans le courrier de confirmation d’inscription, nous encourageons la personne à compléter sa fiche personnelle.

Dernière modification de cette page le 31 octobre 2011

Retour en haut de la page

Répondre à cet article

Qui êtes-vous ?

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 Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • spiPDF : générer des contenus sur mesure en PDF

    16 février 2011 – 239 commentaires

    Le plugin spiPDF génère des fichiers au format PDF d’article ou de tout autre élément SPIP, simplement à partir d’un squelette construit au format HTML 4 et facile à modifier. Avertissement de sécurité Ce plugin a fait l’objet d’une faille de sécurité (...)

  • Hébergeurs payants

    24 janvier 2009 – 35 commentaires

    Cet article en encore à réorganiser / scinder en deux selon le type (mutualisé ou pro). À priori, SPIP fonctionnera sur tout hébergeur payant traditionnel (qui propose PHP et MySQL). Merci de ne pas mettre des remarques du genre « l’hébergeur truc (...)

  • MediaBox

    10 mai 2010 – 541 commentaires

    Avertissement Le présent plugin est installé et activé par défaut sur toute les version de SPIP > 3.0. Inutile donc de l’installer manuellement sauf si vous utilisez SPIP 2.1. Aperçu La MediaBox est une Boîte multimédia polyvalente et (...)

  • Convertir un site SPIP 3 en utf-8 avec le plugin Grenier

    8 janvier 2014 – 24 commentaires

    SPIP 3 fonctionne nativement avec l’encodage universel unicode utf-8. Sur certains sites (par exemple sur une mise à jour), on peut avoir un site qui est resté en iso-latin ce qui n’est pas conseillé (source de bugs, d’incompatibilité, ...) . (...)

  • DocumentationFormsTables

    9 décembre 2006 – commentaires

    Article publié : ces notes et d’autres sont désormais publiées sur SPIP-Contrib ici Forms & tables - carnet de notes, donc il faut mieux y aller pour tout complément Différence entre un formulaire et une table un formulaire est dédié a la saisie (...)