Cahier de note pour un intranet

Frameworks
Catégorie

| par Teddy Payet

Suite à quelques messages perçus sur les listes utilisateurs de SPIP et une problématique abordée dans un cadre spécifique, je vous expose ma vision des choses sur la mise en place d’un intranet avec un annuaire LDAP et un accès réservé des rubriques.

Ceci est un carnet de notes, un pense-bête. De ce fait, tout n’est pas détaillé ou abordé. Ce n’est qu’une ébauche d’une solution pour la problématique rencontrée.

Voici en quelques lignes la problématique pour le développement d’un intranet d’une entreprise (cela peut s’appliquer aussi pour une association).

  • Mise en place de l’intranet sous SPIP ;
  • Existence d’un annuaire LDAP qui possède les informations minimales suivantes pour chaque auteur (sans parler du langage spécifique du LDAP, exemple : common name ou cn=) :
    • Nom ;
    • Prénom ;
    • Email ;
    • Login ;
    • Password ;
    • Département de l’entreprise.

Nous devons mettre en place un intranet d’informations auprès des salariés d’une entreprise pour lesquels les informations du site seront différents selon son profil et notamment leur appartenance à un département de l’entreprise. Cet intranet est découpé en rubriques. Chacune de ces rubriques peut correspondre à des informations qui seront affichées pour tel ou tel département.

La grande force de SPIP est la prise en compte en natif de l’authentification d’un auteur par l’intermédiaire de son compte LDAP. Pour cela, il faut dès l’installation de SPIP renseigner les informations liées au LDAP (Ou relancer l’installation de SPIP pour un site existant). Pour plus de renseignements sur SPIP et LDAP, il faut se référer à la documentation en ligne.

Bien, l’installation faite pour SPIP et LDAP, nous devons faire en sorte que les informations du profil LDAP soit renseignées dans SPIP pour l’auteur.

Synchronisation du profil LDAP et SPIP

Préambules
Pour réaliser cette synchronisation, nous allons déjà différencié les champs présents dans LDAP (nous prendrons ceux cités en début d’article) et ceux présents dans SPIP.

Pour LDAP :

  • Nom ;
  • Prénom ;
  • Email ;
  • Login ;
  • Password ;
  • Département de l’entreprise.

Pour SPIP :

  • Nom/pseudo ;
  • Email ;
  • Login ;
  • Password ;
  • Biographie ;

Nous pouvons voir qu’aussi bien dans LDAP et SPIP, nous avons 4 champs qui se recoupent : Nom, Email, Login et Password.
3 de ces champs seront renseigné du LDAP vers SPIP automatiquement : Nom, Email et login. Le password ne sera pas transmis (Se référer à la documentation sur SPIP.net pour comprendre ce fait).

Il manque donc dans SPIP les champs suivants : Prénom et département.

Pour y remédier, nous installerons le plugin Champs Extra 2. Il permet de créer de nouveaux champs dans les tables de SPIP.

Créons donc sur la table auteurs les champs prenom et departement. (Suivre la démarche selon la doc du plugin).

Bien, nous avons les champs que nous désirons. Faisons correspondre ces champs.

LDAP++
Nous utiliserons le plugin LDAP++ pour la synchronisation de ces champs.

Ce plugin offre une interface entre les champs de la table spip_auteurs et les champs LDAP. Sélectionner un par un les correspondances.

Groupe d’auteurs

La synchronisation du profil LDAP/SPIP abordée, nous devons aborder les groupes d’auteurs. Dans notre problématique, les groupes seront définis par leur attachement à un département de l’entreprise.

Encore une fois, nous allons utiliser un plugin : Gestion de Groupes d’auteurs 2

Par l’intermédiaire de ce plugin, créer autant de groupes que de département au sein de l’entreprise. Cela fait, il faudra gérer les liens avec l’annuaire LDAP. Tout est expliqué dans la documentation du plugin sur SPIP-Contrib.

Restriction des zones

Nous allons passer à l’aspect de restriction de zone. Pour cela, il existe aussi un plugin dédié : Accès Restreint 3.0. La documentation pour ce plugin se trouve sur SPIP-Contrib. Il va nous permettre de restreindre l’accès des utilisateurs à une ou plusieurs zones. Chaque zone correspondant à une rubrique SPIP, un département de l’entreprise.

Dans l’étape précédente, nous avons créé les groupes d’auteurs. Nous devons créer les zones liées à tel ou tel département. Se référer à la documentation en ligne.

Prologue

Après la mise en place de tout cela, il faudra retravailler un peu les squelettes pour la prise en compte des accès. Rien de bien extraordinaire, le plugin Accès Restreint faisant bien les choses.

Il ne faut pas oublier que nous sommes dans un intranet. Nous pouvons dire que les administrateurs réseaux auront pu faire en sorte que le site ne soit consultable que pour les gens provenant de l’entreprise grâce à une plage d’adresses IP.

Si nous désirons étendre cet intranet vers l’extérieur, nous serons dans ce cas sur un extranet. Alors, le squelette doit vérifier si la personne est identifiée ou pas. Si cette dernière ne l’est pas, il faut renvoyer vers le formulaire d’identification.