Retour d'expérience intranet

We encourage users to post events happening in the community to the community events group on https://www.drupal.org.
bricef's picture

Bonjour,

La demande d'intranet avec Drupal progresse de plus en plus. Les possibilités d'extension sont multiples et je voulais initier cette discussion pour avoir vos retours sur différents aspects.

Les différentes fonctionnalités attendues

D'après mon premier retour d'expérience les fonctionnalités souvent attendues sont les suivantes :
- Découpage des utilisateurs par groupes. Ces groupes peuvent être des services déjà existant dans l'entreprises.
- Gestion des droits pas rubriques ou groupes. Des utilisateurs peuvent
- Espace partagés, où sont mis en commun des applications (forum, blog).
- Diffusion d'informations limités ou non (dans le cas d'extranet ouvert au public).
- Règles d'accès par IP. Elles sont parfois un peu tordu (du genre : accès ouvert aux anonymes à condition d'être dans les IP de l'entreprise).
- Intégration au SI.

Le cas Open Atrium

A première vue cette application est très attractive, avec pas mal de fonctionnalitées native pour les espaces partagés. Seul problème, la diffusion d'information est plutôt limité et la documentation sur le développement de nouvelle fonctionnalités est quasi inexistant (à ma connaissance). En clair, je le réserverais à une utilisation très précise, et pourquoi pas imaginer une association avec un drupal classique pour la diffusion de contenus.

Les modules

Liste à compléter au fur à mesure des retours.

  • CCK et Views : Logique.

  • OG : pour la gestion des groupes. Il existe aussi une série de différents modules dériviés d'OG comme OG Menu ou OG Panels, mais la qualité est inégale.

  • TAC ou TAC Lite : Pas forcément obligatoire, mais bien souvent l'accès des contenus est limité par une deuxième règle. De plus OG ne permet pas (à moins d'une évolution) un système de diffusion (i.e. un utilisateur d'un service peut distribuer à tous les services). Le soucis de TAC c'est sa complexité. Est ce que vous auriez des modules améliorant l'ergonomie de ces fonctionnalités?

  • LDAP Integration : Pour la gestion LDAP, avec LDAP Provisioning on peu s'intégrer facilement au système de connection. Ca marche avec LDAP et NTLM.

Voilà pour le moment l'état de mes réflexions. Je suis preneur des votres.

Comments

Bonjour, Je suis actuellement

jdidelet's picture

Bonjour,

Je suis actuellement en train de travailler sur un projet similaire (plus orienté ERP qu'intranet) mais voici quelques pistes également:
- rules: presque obligatoire vu le nombre de cas où vous aurez très probablement à implémenter des règles spécifiques de gestion.
- role delegation: module intéressant par le fait qu'on donne la possibilité aux utilisateurs de définir eux-mêmes l'attribution des roles pour un compte.
- menu per role: qui dit intranet, qui dit souvent une forte personnalisation des pages et du menu en fonction des roles.
- le couple messaging/notification me semble intéressant car un intranet doit pouvoir proposer un système d'alertes puissant.
- Calendar: À voir. Il est vrai que le besoin d'un calendrier est souvent incontournable et que ce module offre un package tout fait pour ça. De ma propre expérience, je me dis qu'on pourrais s'en passer et le faire soit même avec un peu de views + cck ou alors cck + un module perso pour générer les pages qu'on veut. C'est selon.
- Chart API: Dans un intranet, vous aurez souvent le besoin de faire des graphs. Vous avex aussi Charts (ici, c'est selon les goûts de chacun). Moi je préfère utiliser ce module car je génère toutes mes graph dans un module custom.

Voilà un retour rapide de mon expérience actuelle sur les modules :).


Julien Didelet
Founder
Weblaa.com

A propos de Calendar.

bricef's picture

Merci pour ce retour.

Calendar est un module qui se sert beaucoup de views. D'après mon expérience, il est intéressant mais contient quelques bugs et certaines customisation (comme créer une semaine glissante) sont assez pénible à réaliser. Donc il faut souvent mettre les mains dans le cambouis. Une solution personnalisé est à privilégier.

A noter qu'il existe aussi plusieurs solutions de réservation de ressources dans Drupal. Faut que je retrouve le comparatif.

bureautique

bealdav's picture

Un des aspects que peut prendre drupal est de remplacer les outils bureautiques de type office.

Pour ce faire le module book est la première des réponses.

Le second module qui va dans ce sens est le module sheetnode qui est un contenu feuille calcul.

Certes difficile à installer (pour les exports/imports xls/ods avec javabridge), mais quand on voit le nombre de fonctions utilisables cela impressionne vraiment.

En plus le développeur parle français et anime le site http://thereisamoduleforthat.com/

Certes c'est pas encore aussi puissant qu'excel et donc la question des utilisateurs est : qu'est ce que ça apporte de plus qu'excel ?

La réponse tient en 2 points :
- le moteur de recherche du core indexe les cellules
- les accès au node peuvent être géré (comme tout node) en lecture/écriture par groupes ou utilisateurs par le très bon module nodeacess (en 1 seul mot).

Dans les PME, je pense qu'il très important de sortir des réflexes office car chacun a tendance à gérer ses petites affaires à sa patte avec son tableur.

Bosser avec Drupal impose de prendre du recul, de formaliser son travail, de faire apparaitre l'essentiel de l'activité avec cohérence (merci book et taxonomy).

C'est quand il y a beaucoup de turnover dans le personnel que l'on s'en aperçoit.

Merci...

bricef's picture

Je ne connaissais pas ce module. La dernier partie de ton billet est très pertinente et va au delà des simples aspects techniques. Je pense effectivement, au retour des différents projets auxquels j'ai pu participer que beaucoup de client ont envie de disposer rapidement d'un outil "parfait" qui va s'adapter à leurs façons de faire sans tenir en compte de

1 - La necessité de changement que peut impliquer un nouvel outil.
2 - L'évolution nécessaire au bout de quelques mois de cet outil suite aux premiers retours d'expérience.

Je pense que Drupal a de bonne cartes à jouer sur le point 2.

profusion de modules

bealdav's picture

Quand on a installé beaucoup de modules on a tendance a pénaliser les performances.

La solution est sans doute d'avoir une installation multi-sites (ce que je n'ai pas fait malheureusement).

Par exemple on pourrait décider que les contenus vidéos soient sur un site à part de manière à ne pas charger les modules videos quand on est dans le site principal.

Le vrai problème est de minimiser les modules communs (sans quoi le multi-sites devient inutile) sans perdre en richesse et cohérence (views qui n'accède pas à tout le contenu est pénalisant).

Si vous avez des idées de fractionnements en multi-sites avec cohérence et intérêt merci de dévoiler vos petits secrets.

Modules

bealdav's picture

Voici les principaux modules utilisés dans l'intranet que j'ai créé dans un contexte PME industrielle

Nodeaccess : le partage d'accès aux petits oignons
Taxonomy Super Select
Transliteration : conversion des noms de fichiers uploads en ASCII (compatibilité maxi)
Auto-fill-from-url : permet d'importer des données via l'URL
Bookmarks : gestion des marque-pages partagé ou non à la delicious (en combinaison avec Auto-fill-from-url)
Tagadelic : tag cloud
Computed Field : champ calculé CCK
Serial : champ CCK auto-increment par type de contenu
Videofield
Viewfield : pour combiner 2 types de contenus ensembles : genre plan d'actions / actions
DraggableViews : déplacement de node dans contexte ci-dessus
Composite Layout : pour réorganiser ses CCK fields dans la page : colonnes, header/footer (similaire à display suite je crois)
Node form columns : idem mais en mode édition de la node
Calendar : gestion des absences
Home box : netvibes à la maison (là c'est top)
Album photos : gestion de photos tout en un
ViewsCharts : graphiques

Ces modules à découvrir sur
http://drupalmodules.com/module-finder

Dans l'avenir
Drag'n'Drop Uploads : encore perfectible mais prometteur au niveau utilisabilité des uploads

Points faibles

montesq's picture

Je pousse aussi Drupal pour le faire entrer en entreprise, les points faibles que je vois :
- problématique de déploiement. Comment avoir plusieurs environnements (dév, recette, prod) et "pousser" les modifications/paramétrage simplement entre eux. Pour l'instant, je n'ai pas trouvé de solution très propre...

  • performances. Si on multiplie les restrictions d'accès (module type OG par exemple) quelles seront les perf à long terme... :/

Problématique de développement..

bricef's picture

Je constate qu'on a la même problématique à ce niveau là.

Les quelques solutions que j'ai pu voir :
- Bakup & Migrate, pas mal mais seulement pour pousser des modifications en prod. Il demande à bien connaitre le schéma de bases de drupal.
- Features, en prncipe une tuerie pour l'export de contenus et les vues. En pratique il y'a quand même pas mal de bug, notamment sur l'export des types de contenus (exemple tout bête, dès qu'on utilise un groupes de champs, ça ne passe pas). Il me semble qu'un concurrent de features a vu le jour récemment.
- Export par des modules. C'est ce qu'on fait pour le moment sans grande conviction cependant. En effet il est très difficile de suivre les différences au niveau des vues et des types de contenus.

Bref c'est encore pas ça.

Cf slide 88 de la

montesq's picture

Cf slide 88 de la présentation de Dries Buytaert à la drupalcon de San Francisco... Drupal 8 peut-être...

A module for that?

bricef's picture

J'ose espérer qu'on verra ça avant quand même avant. Pour l'instant le résultat de mes recherches est assez pauvres, ou alors fait ressortir des modules plus maintenus.

D'ailleurs comment s'appelle le module concurrent de features qui a été presenté à la Drupal con?

Staging

bealdav's picture

Que veut dire Dries par staging dans le slide 88

"To succeed in the enterprise, we still need to focus on missing features (e.g. configuration management and staging in Drupal 8)" ?

Staging

bricef's picture

Le processus de mise en production avec la fusion des développement dans un environnement de recette puis de la mise en production et ensuite de la vie de ce serveur qui sera alimenté par des nouveaux développements.

bureautique, again

bealdav's picture

je suis tombé sur 1 truc qui déchire : 1 autre feuille de calcul mais avec jquery

http://www.visop-dev.com/uploads/3/1/3/8/313814/jquery.sheet.html

http://www.visop-dev.com/jquerysheet.html

Y a qlq 1 pour me faire le module Drupal qui va avec ?

Terrible...

bricef's picture

C'est excellent. Pour le module je sais pas, je peux tenter un premier jet d'intégration pour voir ce que ça donne.

Merci de l'info.

Premiers tests

bricef's picture

J'ai simplement fait l'intégration du système de démo. C'est relativement simple :
Image 1

Il y'a des petits soucis de mise en page avec garland

Reste à créer aussi les liens pour enregistrer/charger les infos et gérer les dépendances (ex : utiliser le module jquery ui par exemple).

Je tiens à disposition mes essais pour tout développeur désireux de m'aider.

c génial, ça promet

bealdav's picture

Mes compétences de développeur bricoleur sont très insuffisantes pour t'être vraiment utile.

Toutefois pour avoir installer et utiliser (un peu) sheetnode, j'ai quelques éclairages à proposer pour les développeurs.

Sheetnode affiche la feuille de calcul systématiquement quel que soit le controleur (view ou edit).

Je pense que pour jQuery.sheet il pourrait être intéressant selon un paramètre de d'afficher lors de la view 1 table html à la place du tableur.

En effet en mode visualisation, il est rarement utile d'exploiter les fonctions de tableur vu que l'on ne pas enregistrer (par définition je crois ;-) ) sauf si on veux permettre au lecteur de faire ses propres simulation (solveur, non là j'exagère).

En tous cas avoir le choix parait pertinent.

Il peut être également bien vu en view de limiter la zone d'affichage uniquement au périmètre des cellules remplies
Une feuille vide au 3/4 ne mérite d'être afficher que sur 1/4.

end premières réflexions

module jquery sheet

bealdav's picture

S'il y a un volontaire pour me guider un peu je veux bien participer à la réalisation de ce module

Merci de répondre à mon echo.

Pas avancé...

bricef's picture

Mais j'ai toujours ça derrière la tête. Si des volontaires veulent nous donner un coup de main, ils sont les bienvenus.

Un volontaire a été trouvé

bealdav's picture

L'auteur du plugin jquery sheet

http://drupal.org/node/802068#comment-3510174

Je le cite :
"I'm the developer of jQuery.sheet, and I'm working with TikiWiki CMS to integrate and improve their spreadsheet ui. We have plenty of sample coding and experience to get it integrated in a short time into drupal. I'd love to work with the team, any takers? We even are working on sheet history, and simultaneous user collaboration."

Quant à moi je veux bien aider pour test, commentaires, documentation, traduction et autres retour (patches, etc).

I want to be Excel

"- Features, en prncipe une

nyl_auster's picture

"- Features, en prncipe une tuerie pour l'export de contenus et les vues. En pratique il y'a quand même pas mal de bug, notamment sur l'export des types de contenus (exemple tout bête, dès qu'on utilise un groupes de champs, ça ne passe pas). Il me semble qu'un concurrent de features a vu le jour récemment."

@bricef features a progressé depuis, aucun souci pour les groupes de champs, donc pour cck, views, imagecache, context, droits d'accès, format d'entrées, variables (avec module strongarm) ça fonctionne bien. Il y a plusieurs concurrents de features (niveau gestion des exportables, par contre pour faire vivre la config dans le code, je ne vois que lui) mais features est de loin le plus avancé et le plus prometteur à mon sens.

Merci pour ce retour...

bricef's picture

C'est vrai que nos essais n'avait pas été concluant, mais Drupal bouge énormément en très peu de temps (j'ai rarement vu ça dans un projet Open Source). Lors d'un prochain projet, j'aurais plaisir à essayer de nouveau l'industrialisation avec Features et Strongarm donc.

J'ai développé un intranet

bneel's picture

J'ai développé un intranet pour ma PME. Il fait office de CRM (gestion clients, prospections, veille, forum, base de documents ...). Le coeur est inévitablement CCK-views (j'ai utilisé user et nodereference à outrance...). J'ai eu une forte demande sur les droits d'accès création/édition/lecture tant sur des types de contenus que sur certains champs de certains types de contenu avec des règles parfois assez tordues. J'ai finalement opté pour nodeaccess et field permissions, mais je ne suis pas pleinement satisfait.
Le module rules a été indispensable pour l'envoi de mail ou pour modifier automatiquement des contenus reliés (via nodereference par exemple)
La demande qui n'a pas été satisfaite est l'inter-connectivité entre les outils office et cet intranet : importer/exporter des contacts en format vcard, idem pour les calendriers etc... Il y a manque d'opérationnel surtout pour les commerciaux.
J'aimerai intégrer plus de graphiques (assez pratique pour évaluer les prospections), mais j'ai pas trouver de solution.
Finalement, on ajoute beaucoup de petits modules par ci ou par là et qui chargent vraiment trop la mule.... (panels, unique field, quick tab, password stength, autologout, diff, hide submit button, comment upload, ckeeditor, automatic nodetitles, taxonomy manager, node reference URL widget, file field, flag, B&Migrate, fivestar, voting API etc... etc... etc... ).

Le bilan sur cet intranet est quand même très positif et Drupal m'a permis de remplir complétement le cahier des charges.

J'ai testé open atrium, mais j'ai vraiment, mais alors vraiment pas été convaincu par la bête.

inter-connectivité avec les outils office

jeromeseillier's picture

Pour l'inter-connectivité avec les outils office, il semblerait qu'il faille un outil du type alfresco.
Alfresco et drupal font d'ailleurs bon ménage a ce que j'ai entendu dire.

Pour les graphiques, tu peux

jdidelet's picture

Pour les graphiques, tu peux utiliser le module http://drupal.org/project/chart qui va t'implémenter l'api Google Charts. Ça facilite la tâche si tu veux faire des graphs.


Julien Didelet
Founder
Weblaa.com

graphiques

bealdav's picture

C has been flash.

Quelqu'un a-t-il tester

JBI's picture

Quelqu'un a-t-il tester Drupal Commons ?
http:/commons.acquia.com

Intéressé par vos retours sur le UI notamment.

Tests DrupalCommons

Simon Georges's picture

Bonjour,

J'ai testé Drupal Commons, et en gros, c'est surtout un assemblage de modules avec beaucoup de Views pré-configurées sur la page d'accueil, mais il y a beaucoup moins de travail sur l'UI que sur OpenAtrium, par exemple. La distribution est très intéressante au niveau du choix des modules (comme quand ils avaient sorti la distribution Acquia), mais n'apporte pas de révolution en terme d'assemblage / d'ergonomie.
Voilà, en résumé, mon avis.

Cordialement,
Simon

Performance

sir_squall's picture

Bonjour,

Alors ce que j'ai pu remarqué et qui n'ai pas trop aborder c'est un problème de performance.
Car un utilisateur authentifier dans drupal a le cache désactivé!

J'ai trouvé deux options pour améliorer sa, la première c'est le module authcache:
http://drupal.org/project/authcache

Qui active le cache, avec apc, ou memcache etc..

Et si malheureusement il est impossible d'installer sa sur le réseau de l'entreprise.
Il y a un patch qui active le cache par rôles, pour les utilisateurs logué et qui n'ont pas les droit d'admin sur le sites.
http://cestfait.ch/content/drupal-intranet-performance

OG groupe + révisions

gomezia's picture

Bonjour tous le monde et merci pour les retours.

De mon côté je confirme l'utilité du messaging/notification, et je rajoute le module PostSubscribe qui permet de recevoir des notifications sur les mises-à-jours du contenu par mail à la newsletter et ceci même pour le anonymes.

Par contre j'ai une question à vous poser et je serai très reconnaissant pour vos réponse :
j'utilise OG Group avec la possibilité d'arrêter le groupe. Les utilisateurs appartenant à ce groupe gardent le droit de visulaiser les révisions des noeuds mais perdront le droit de " revenir en arrière ou de supprimer une révision".

Le problème c'est qu'un utilisateur peut appartenir à plusieurs groupes à la fois " certains sont fermés alors que les autres restent ouverts", donc si je modifie les permissions il perdra le droit sur tous les révisions des groupes.

j'ai cherché dans l'API comment surcharger le noeud (variables revisions_delete et revision_revert ) mais j'ai pas trouvé aucune fonction.

Les idées, pistes, modules sont les bienvenus.

Merci

Gomez

France

Group organizers

Group categories

Chantiers

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: