MonLabo (plugin Wordpress)

Simplifier la gestion du site web d’une structure de recherche

Ce plugin Wordpress permet de mettre simplement à jour les membres, les équipes, les thématiques, les publications (extraites de HAL ou d’une autre base de donnée) des pages internet d’un laboratoire sans aucune connaissance en programmation web.

Voici les informations principales sur le plugin. Pour avoir de l'aide sur la syntaxe des shortcodes, rendez-vous sur la page aide.

Description

Ce plugin Wordpress libre permet, sur une interface unifiée, de gérer les pages des équipes et des personnels d’une structure de recherche. Il simplifie la mise à jour des membres et équipes, de leurs informations et leur liste de publication (extraite de HAL ou d’une base de donnée maison comme celle de Paris Descartes). Le plugin génère et met à jour automatiquement, en totalité ou en partie, nombre de pages web (pages de membres, d’équipes, listes, organigrammes ou tableaux de membres). Le plugin permet en outre d’intégrer automatiquement les publications issues d’une base extérieure pour une mise à jour centralisée.

Dépots

Code source : Dépot GIT https://git.renater.fr/monlabo.git ou lien de navigation sur le dépot.

Tests unitaires : https://git.renater.fr/monlabo/MonLabo_tests.git

Licence libre : GPLv2 ou ultérieure

Installation

  1. Créer un dossier de nouveau plugin dans votre arborescence Wordpress :
    cd wp-content/plugins
    mkdir MonLabo
    cd MonLabo
  2. Récupérer le code source. Deux solutions :
  3. Activer le plugin (aller sur la page wp-admin/plugins.php
  4. Régler les paramètres du plugin (sur wp-admin/admin.php?page=MonLabo_config)

Listes de diffusion

Vous pouvez vous abonner aux listes de diffusion suivantes :

  • Annonces MonLabo - pour être au courant des sorties des nouvelles versions.
  • Liste MonLabo - discussions autour des usages et des évolutions de MonLabo.

Tests unitaires

Il y a désormais 201 scénarios de tests uitaires qui vérifient 5283 assertions (version 2.6).

Voici la procédure d'installation et de lancement des tests :

  1. Créer un dossier de nouveau plugin dans votre arborescence Wordpress :
    cd wp-content/plugins
    mkdir MonLabo_tests
    cd MonLabo_tests
  2. Récupérer le code source : git clone git+ssh://git@git.renater.fr:2222/monlabo/MonLabo_tests.git .
  3. Lancer l'installation de l'environnement de test ./install_unit_tests.sh (possibilité de regénérer une version complète en cas de soucis avec le script ./regenerate_unit_tests.sh)
  4. Lancer les tests
    cd ../MonLabo
    phpunit
    ou pour la couverture de code phpunit --coverage-html coverage

Liste des versions

  • 10 avril 2019 : Mise en ligne de la version 2.6
    • NLLE FONC: Permettre de limiter le nombre de publications affichées (ajout des options "limit" et "offset" au shortcode [publications_list])
    • NLLE FONC: Ajoute l'option "person" au shortcode [perso_panel]
    • Évolutions mineures ou peu visibles:
      • BUG: Édition de personnels: Il était possible de rentrer des fonctions vides ce qui empêchait le formulaire d'être validé.
      • EVOL: Perso panel : le bouton "View my site" est renommé en "Personal website" (meilleure traduction)
  • 6 février 2019 : Mise en ligne de la version 2.5.1
    • BUG: Le changement de catégorie d'une personne ne fonctionnait plus dans certaines conditions
    • BUG: Les nouvelles options avec des majuscules de [publications_list] n'étaient pas reconnues.
    • BUG: Le bouton 'Édite cette personne' ne fonctionnait plus
    • BUG: Correction de nombreuses erreurs HTML qui, sur certains navigateurs, pouvaient créer des soucis d'affichage
    • BUG: Un panneau personnel comportant un bouton "voir mon site" était affiché avec trop d'espace vertical.
    • Évolutions mineures ou peu visibles:
      • ÉVOL: Édition de personnels: Cacher "date de départ de l'unité"" si la personne est au statut "actif"
      • BUG: Quand on désactive la fonctionnalité "Personnels et équipes" :
        • la configuration des serveurs de publication n'étaient plus accessible
        • warning inutile "Veuillez renseigner une page de rattachement des pages personnelles" en interface privée
        • désactivation non nécessaire du bouton d'aide [publications_list] dans la Documentation
      • BUG: Régression de la fonctionnalité champs personnalisés qui ne pouvaient plus être configurés
  • 31 octobre 2018 : Mise en ligne de la version 2.4
    • Shortcodes:
      • ÉVOL: [custom_publications_list] est devenu obsolète (Incorporation de ses paramètres dans [publications_list])
        Nouveaux paramètres dans [publications_list] : Hal_struct, Hal_idHal, Descartes_alias, Descartes_auteurid, Descartes_unite, Descartes_equipe, Descartes_typePub, Descartes_nohighlight, Descartes_orga_types, Descartes_format, Descartes_debug
      • ÉVOL: Ajout pour [alumni_list], [alumni_table] et [alumni_chart] du paramètre years
      • BUG: Les personnes marquées comme non visibles apparaissaient quand même dans certains tableaux ou organigrammes.
    • Édition de personnels:
      • ÉVOL: Ajout de pouvoir choisir ses étudiants directement la page d'édition d'une personne (plutôt que de devoir la désigner mentor dans la page de l'étudiant)
      • ÉVOL: Possibilité d'éditer l'adresse de la page d'une personne (il faut aussi fournir alors l'adresse de l'image)
      • BUG: Quand il n'y a pas d'unité multiple, il était impossible de désigner un directeur en passant par la page d'édition de membre.
      • BUG: Permettre d'afficher la bonne édition d'une personne ou structure y compris si l'on recharge la page.
    • Evolutions mineures ou peu visibles:
      • Shortcodes:
        • BUG: Les publications d'une structure principale étaient montrées comme vides (serveur Descartes Publi).
      • Apparence:
        • BUG: Parfois les panneaux personnels ou les listes d'utilisateurs avaient des textes non alignés verticalement
        • CODE: Simplifie code en supprimant le paramètre d'affichage fond_en_surveillance
  • 8 octobre 2018 : Mise en ligne de la version 2.3
    • Options:
      • ÉVOL: Les thématiques sont désormais des groupe d'équipe au nom redéfinissable. Le nom est par défaut "Thématique" mais peut être changé en "Axe", "projet", "groupe de recherche" ou tout autre.
      • ÉVOL: Simplifier le choix des serveurs de publication et les menus en n'autorisant pas les bases HAL et DESCARTES en même temps
      • ÉVOL: Supprime l'option peu utilisée "Activer les fonctions avancées"
    • Evolutions mineures ou peu visibles:
      • Édition de personnels:
        • NLLE FONC: Ajout d'un raccourci dans la barre d'admin pour accéder à la page d'édition du personnel, de l'équipe ou de l'unité à laquelle appartient cette page.
      • Shortcodes:
        • BUG: Une liste de publication où l'on précise title="" n'avait pas toujours le titre vide.
        • NLLE FONC: Ajout de l'option "lang" au shortcode [publications_list]
        • ÉVOL: Transfert du site du plugin vers http://monlabo.org
  • 29 mai 2018 : Mise en ligne de la version 2.2
    • Apparence:
      • ÉVOL: La couleur des liens est centralisée dans une option dans l'onglet "Apparence"
    • Options:
      • ÉVOL: Ajout d'une option pour "Activer les fonctions et outils avancés"
      • BUG: Quand on désactivait certaines options, elle se réactivaient toute seules:
    • Édition de personnels:
      • ÉVOL: Lier catégorie et fonction pour plus de clarté (la liste de fonction dépend désormais de la catégorie)
      • BUG: Signaler quand on ne peut pas rajouter une image à une personne car elle n'a pas de page Wordpress
      • ÉVOL/BUG: Trie l'ordre des pages Wordpress et les membres.
      • NLLE FONC: Ajout d'un onglet "outils avancés" : Bouton pour créer les pages manquantes des utilisateurs
    • Evolutions mineures ou peu visibles:
      • CODE: Rend le code plus robuste en utilisant des comparaisons plus strictes ("===" au lieu de "==")
      • BUG: Pour les grosses migrations de plusieurs version à la fois: Possibilité de perdre certaines versions intermédiaires
  • 6 février 2018 : Mise en ligne de la version 2.1
    • Shortcodes:
      • NLLE FONC: ajout du shortcode [alumni_chart]
      • NLLE FONC: Affichage des couleurs des équipes ([members_chart], [members_table] et [team_panel])
      • ÉVOL: Quand une structure n'a pas rempli d'identifiant HAL, MonLabo utilisera les idHal de chaque membre de la structure.
    • Remise en forme de l'interface d'administration:
      • NLLE FONC: Possibilité de changer l'image d'une personne directement dans l'interface d'édition des personnels
      • NLLE FONC: Possibilité d'ajouter les photos des personnes dès la création de la personne
      • ÉVOL: Utilisation du menu media pour le choix d'images ou logo plutôt que d'entrer l'URL de l'image à la main
      • ÉVOL: Aide réorganisée
      • ÉVOL: La page de rattachement des pages personnelles se règle plus facilement et est signalée quand non configurée.
      • ÉVOL: Cache par défaut les champs d'édition des fonctions d'une personne dans l'interface d'édition des personnels
    • Evolutions mineures ou peu visibles:
      • Allègement du plugin :
        • CODE: Suppression des Glyphicons
        • CODE: Recompression des images d'aide
        • CODE: Supprime Boostrap modals et utilise à la place les thickbox wordpress
      • Édition de personnels :
        • BUG: Un directeur d'unité n'avait pas toujours la case cochée "(co)directeur ou (co)directrice de l'unité"
        • BUG: Une apostrophe dans un nom était affichée précédée d'un slash
      • BUG: Les majuscules accentuées produites dans les shortcodes n'étaient pas toujours correctes.
  • 9 janvier 2018 : Mise en ligne de la version 2.0
    • Révision profonde des shortcodes de publication:
      • ÉVOL: Le shortcode [custom_publications_list] peut désormais utiliser des publications issues de HAL
      • ÉVOL: nouvelles options persons, teams et units pour le shortcode [publications_list]
      • ÉVOL: nom des paramètres des shortcodes : deviennent en anglais par défaut (les anciens noms français restent valides) et deviennent insensibles au changement de case (minuscule ou majuscules)
      • BUG: Ajout de robustesse à des valeurs invalides dans le traitement des publications extraites de HAL et résolution de quelques bugs d'interprétation de fichiers bibtex
    • Distinction entre les unités et la structure principale :
      • ÉVOL: Des pages wordpress peuvent désormais être attribuées aux unités et thématiques (seulement les personnes et équipes auparavant)
      • ÉVOL: Les unités peuvent avoir des coordonnées alternatives pour éventuellement différer de celles de la structure principale
    • Evolutions mineures ou peu visibles :
      • ÉVOL: L'option "MonLabo_fax_ou_contact" est renommée en "MonLabo_contact"
      • BUG: Passe certains champs de la base de donnée en UTF8 pour éviter des bugs en cas de caractères complexes.
      • BUG: Lorsque demandés, les alumni n'étaient pas correctement affichés dans [members_table]
      • CODE: Amélioration interne du code:
        • Réecriture profonde du code gérant les shortcodes de publication
        • Conversion en classe de tous les Shortcodes (permet un code coverage plus précis)
        • Séparation des webservices pour faciliter les tests unitaires
        • Plus que doublement du nombre de tests unitaires (>4000 aujourd'hui).
      • ÉVOL: Publications depuis HAL au format APA et IEEE :
        • ajout de la prise en charge des publications de type @proceedings et @patents
        • Utiliser le champs URL pour faire les liens plutôt que de le reconstruire à partir de HAL_ID
        • Ajustement des titres des types de publications pour se rapprocher des pages web générées par HAL
      • BUG/CODE: Résout un problème d'accès dans certains chemins : Corrige une mauvaise utilisation de plugins_url(), remplacement de dirname(__FILE__ ) par __DIR__
  • 30 novembre 2017 : Mise en ligne de la version 1.6
    • ÉVOL: Unification des options des shortcodes [member_list], [member_table], [member_chart], [alumni_list] et [alumni_table] qui sont désormais tous dotés des options "categories", "unit" et "team" (de plus à choix multiple).
    • ÉVOL: Désormais une "structure principale" rassemble les unités et permet d'y attribuer des directeurs/directrices et est paramétrable dans un nouvel onglet remplaçant "coordonnées"
    • ÉVOL: La catégorie de personnel "Direction" est supprimée. L'ajout d'un directeur à une unité suffit.
    • Correction mineures :
      • CODE: Crée une classe MonLabo_persons et réecrit et refactorise le code de MonLabo_shortcode.php
      • BUG: [alumni_table] n'affichait ni le statut ni la date de départ
      • BUG: Formulaire d'édition des équipes : Le changement d'unité d'une équipe ne fonctionnait pas.
      • ÉVOL: Met en gras les chefs d'équipe dans les organigrammes [member_chart]
      • BUG: Dans le formulaire d'édition de personnel, l'indication du champs "Numéro d'auteur Descartes Publi" n'apparaissait pas.
      • ÉVOL: Quelques formulations de texte plus explicites
      • BUG: Supprime quelques warnings apparus lors de Tests et quelques balises html non fermées ou en trop.
      • BUG: Les personnels sous forme de liste ou tableau n'étaient pas toujours dans l'ordre alphabétique
  • 30 octobre 2017 : Mise en ligne de la version 1.5
    • Ajout d'un appel au recensement des utilisateurs du plugin
    • Correction mineures :
      • BUG: Les valeurs par défaut des options n'étaient pas toujours prises en compte quand la valeur n'existait pas.
      • BUG: Une activation du plugin générait un warning à cause d'un saut de ligne affiché.
      • DOC: Ajout du lien du site et des logos des tutelles des auteurs.
      • ÉVOL: dans [alumni_list] le paramètre "categories" devient facultatif
  • 23 juin 2017 : Mise en ligne sur le site SourceSup de la version 1.4

Captures d'écrans

Utilisateurs déclarés

Ce plugin est utilisé par :

Poster

Voici le poster présenté en juillet 2017 aux JDEV (Journées du DEVeloppement logiciel):

miniature du poster

Contacts

Hervé Suaudeau

logo UPD
logo CNRS

  • Créateur du plugin, auteur principal, supervision des tests unitaires
  • Courriel : herve.suaudeau@parisdescartes.fr
  • Téléphone : +33 (0) 1 42 86 41 58

Delphine Rider

logo upec

  • Co-autrice, interface avec HAL, supervision du développement public du plugin et de la base de données
  • Courriel : delphine.rider@u-pec.fr
  • Téléphone : +33 (0) 1 41 80 73 91