[Résolu] Organisation base de données pour un site d'association

Bonjour,
je dois réaliser un site de type intranet pour une association comptant environ 250 membres. J’aimerais svp avoir vos conseils sur la manière d’organiser la bdd au départ, sachant que :

  • il y aura une fiche assez complète par membre (donc utilisation du plugin champs extras) ;
  • il faut pouvoir faire une recherche entre membres, sur différents critères : nom, profession… ;
  • chaque membre a un accès personnel et hiérarchisé (accès restreint) à la partie « publique » et certains ont accès à l’espace privé (rédacteurs / admins restreints).
    Voici comment je pense organiser l’ensemble :
  • un membre est un auteur (avec champs extras pour toutes les infos)
  • c’est bien un « visiteur » s’il n’a pas accès à l’espace privé ?
  • sachant qu’il y a une rubrique « Membres » dans l’extranet, je peux boucler sur les auteurs en filtrant sur leur statut ?

Avant d’attaquer le travail, j’aimerais avoir vos conseils avisés car je n’ai jamais fait ce type de site.
Merci pour votre aide,
Rémy

Salut,

Tout à fait, un visiteur ne peut accéder qu’à la partie publique du site. Et oui, tu peux faire une recherche en filtrant par statut afin d’éviter de faire ressortir les admins ou les rédacteurs.

N’oublie pas de préciser à la création de ton champs extra qu’il doit être «rechercheable» (champs extras > ton champs > technique > recherche = oui)

Merci à toi.
Ça me rassure sur ma réflexion de départ.

Pour vérifier le statut d’un auteur, dans quel squelette de la dist puis-je trouver la balise qui va bien ? C’est #SESSION qu’il faut mettre en place ?
Désolé je n’ai aucune expérience avec ça.
Merci

Un peu de lecture

Donc par exemple une boucle AUTEURS avec le critère {statut=6forum} te donnera les visiteurs.

Merci J-C
Ok, je vais me pencher sur la doc. Comme je crée les squelettes de zéro, habituellement, il va falloir que je me penche sur cette notion d’auteurs connectés.
Bonne journée

Tu peux le vérifier avec #SESSION effectivement. Attention à ne pas toucher aux fichiers de la dist. Utilise le mécanisme de surcharge, exemple pour modifier un quelconque :
squelettes-dist/inclure/header.html se copie dans
squelettes/inclure/header.html

Çà fonctionne avec quasi n’importe quel fichier SPIP, tout ceux qui apparaissent avec var_mode=inclure

Pour aller plus loin… Il est aussi possible d’utiliser la balise #AUTORISER (doc #AUTORISER - Programmer avec SPIP 4 + regarde des exemples d’usages dans les squelettes de la dist ou des plugins) ;
et éventuellement, de définir pour #AUTORISER des conditions spécialisées d’autorisations sur mesure, en php (cf Processus de la fonction autoriser() - Programmer avec SPIP 4 )

Bonjour,
Ne faudrait-il pas aussi explorer les possibilités de ces plugins qui me semblent pouvoir faire ce qui est demandé sans Champs Extra, avec en prime la notion d’Organisation (si des organisations peuvent être membres). Le premier gère les contacts et les organisations et le second permet de lier ça à des comptes utilisateurs pour les problématiques de droits …

Le premier est puissant, pour le second pas encore utilisé mais ça semble faire le lien nécessaire.

Lire aussi : Du php dans le squelette à la place de #SESSION ou #CACHE 0 - SPIP-Contrib

@RemyX1966 Si ça t’intéresse, j’ai quelques sites avec des filtres d’affichage selon des champs extra posés sur la table spip_auteurs.

Grand merci à tous.
Je vais prendre le temps d’explorer les différentes solutions, avec ou sans plugins particuliers.
Bonne journée à vous,
Rémy

1 « J'aime »

Bonjour,
j’ai bien avancé dans la construction de la base et des squelettes. Merci encore pour vos conseils.
A présent, j’ai un souci pour afficher les auteurs. Une simple boucle ne retourne que le compte webmestre :
<BOUCLE_auteurs(AUTEURS)>

#ID_AUTEUR - #NOM</BOUCLE_auteurs>
Je précise que pour mes tests, j’ai créé un compte visiteur et que je suis connecté avec ce compte sur un navigateur qui ne me connaît pas autrement.
Les 58 visiteurs actuellement existants n’apparaissent pas dans les résultats, y compris donc mon compte de test. J’ai dû rater un réglage quelque part ?
Merci pour votre aide,
Rémy

Si l’on ne précise pas de critère de sélection, la boucle retournera tous les auteurs ayant un article publié ; pour afficher les informations d’auteurs n’ayant aucun article publié, il est nécessaire d’utiliser le critère {tout}

Ah ben ça va tout de suite mieux…
Merci à toi :slight_smile:

Si j’ajoute comme critère {statut=6forum}, il ne retourne aucun résultat. Or j’ai besoin de trier les visiteurs, rédacteurs, etc.
{tout} est bien présent. Si je retire le critère de statut, j’ai bien tous les auteurs affichés.

Autre souci, en ajoutant simplement le critère {par titre}, idem : aucun résultat. Là je sèche…
Merci

et {par nom} plutôt que {par titre} ?

Merci !
Bizarrement ce critère m’avait échappé.
C’est parfait, ça me retire une belle épine du pied.
Bonne journée,
Rémy