Mon Laboratoire


This WordPress plugin allows you to simply update the members, teams, themes, publications (from third party HAL or third party database Descartes Publi) of a laboratory’s web pages without any knowledge of web programming.


  • Documentation intégrée
  • Page de configuration des fonctionnalités


  1. Upload \»MonLabo\» to the \»/wp-content/plugins/\» directory.
  2. Activate the plugin through the ‘Plugins’ menu in WordPress
  3. Configure Mon Laboratoire at page admin.php?page=MonLabo_config
  4. Place shortcodes in your pages (shortcode list is given at page «wp-admin/admin.php?page=MonLabo»)

Часто задаваемые вопросы

Does MonLabo is functionnal in multisite?

Yes, but there are few functionalites that do not work as attended. A future version will fix that.

If I want to display publications, what publication third party service should I configure ?

Answer: By default you have to use HAL which is opened to all french-speaking scientific community. If you are in Paris Descartes University, you can use Descartes Publi (please contact author if you have no access to this service).


Нет отзывов об этом плагине.

Участники и разработчики

«Mon Laboratoire» — проект с открытым исходным кодом. В развитие плагина внесли свой вклад следующие участники:


Перевести «Mon Laboratoire» на ваш язык.

Заинтересованы в разработке?

Посмотрите код, проверьте SVN репозиторий, или подпишитесь на журнал разработки по RSS.

Журнал изменений


* BUG : Uninstall was not functionnal.


  • EVOL : Add support of plugin PolyLang-pro
  • EVOL : Update HAL logo and Universite Paris Cité logo
  • BUG : In some rare cases, bad symetry in json encoding of URL in field wp_pos_ids (can have no \ before each / in database).
  • CODE : refactoring class Edit_Members.
  • CODE : Reduce static analyse warnings (Class_Page, Class_shortcode)
  • CODE : Reduce PHPMD warnings. Create class Shortcode_static, a static interface to all non static code of shorcodes.


  • BUG : Bad PolyLang translated links in some shortcodes (take into account current page language before get link of a translated page)


  • Evolutions of functionalities :
    • IMPROVE : New config interface for managing pages of Persons, Teams, Thematics and Units
      • Add a radio-buttons-group Create/Choose/Edit/None for pages
      • Unification of interface for managing pages (same human friedly menus instead of sometime directly type IDs list)
      • ‘External URL’ is no more needed for Teams, Thematics and Units (fusion with this new functionality)
      • Create page if asked for Teams, Thematics and Units
      • Create multilingual pages if PolyLang activated
      • Signal pages attributed to other persons and structure
    • EVOL/IMPROVE : Translated pages with PolyLang are now well managed
      • translated pages are automatically used by the shortcodes
      • translated pages are displayed in config interface of person and structures
      • Create or delete translated page automatically
    • IMPORVE : add nice icons in admin menu
    • EVOL (minor) : Name of the config tabs URL are more expressive
    • EVOL : Persons picture is now managed more simply, i.e. separatly than featured image of the main page of person (drop also ‘alternate image’ field).
  • Correct bugs :
    • BUG : in [members_chart] remove persons that are marked as not visible.
    • BUG : correct bad HTML in «custom texts» config page
  • Improve reliability:
    • Ready and tested for WordPress 6.0
    • CODE : Deep refactoring : Simplify/reorganize a lot of class, properties and variables


  • Ready and tested for WordPress 5.9
  • CODE: Strong refactor of code (access to Person and structures…) :
    • add classes Main_Struct, Persons_Group, Teams_Group
    • reducing warnings with static analizer PhpStan
    • better isolation between Person and structure models and controlers
    • reduce complexity of class AccessData (to be contunued)
  • CODE (Minor) : clean CSS ways to prevent words to be cuted in panels


  • BUG : Remove debug print.


  • Evolutions of functionalities :
    • BUG/EVOL : Better integration of Polylang, links are pointing on translated pages
    • NEW (admin interface): We can now add several mentors and students that are from outside the laboratory
    • NEW (admin interface): Mentors and students selection interfaces are hidden by default. Can be shown with a button.
  • Improve reliability:
    • CODE: Deep refactoring in process (new classes…)
    • BUG: New line character was not kept in several text area
    • CODE: upgrade licence version from GPL-2.0-or-later to GPL-3.0-or-later


  • Evolutions of functionalities :
    • EVOL: Improve [teams_list] — directors names are no more simple texts but links to their pages
    • CODE/EVOL : Transformation to uppercase of persons names is now done by CSS (thus can be reversed)
  • Improve reliability:
    • CODE: ready and tested for WordPress 5.8
    • BUG: bad link to person that have multiple pages
    • BUG: Edition form of an alumni person do no more forget the state of alumni
    • BUG (minor): Correct bad alphabetic order in editing form (table view)
    • BUG (minor): Correct some bad display of default picture of persons in editing form
    • CODE: Correct hundreds of warnings given by static analizer PHPMD (PHAN static analyser is alredy used).


  • NEW : new language admin menu that permits:
    • force language in french or english
    • or, translate page in the language of user’s browser
    • or, be able to translate pages of persons, teams, units in two languages
    • or, use a translation plugin as Polylang
  • NEW : accept either singular of plural form of parameters for most shortcodes.
    Parameters: year(s), categor(y/ies), team(s), unit(s), person(s), unit(s), group(s), thematic(s)
    Shortcodes: [members_list] [members_table] [members_chart] [former_members_list] [former_members_table] [former_members_chart] [teams_list] [publications_list]
  • EVOL: Rename several shortcode with more explicit names (old names are still functionnal)
    • Rename [alumni_list] into [former_members_list]
    • Rename [alumni_table] into [former_members_table]
    • Rename [alumni_chart] into [former_members_chart]
      Minor or inconspicuous developments:
    • FIXES/CHANGES : display order of teams list for a person no more by team_id but alpabetically.
    • CODE : reduce complexity of several functions
    • CODE : Apply WordPress coding standards


  • Evolutions of functionalities :
    • FEAT: shortcode [publications_list] : Permit to chose the type of HAL publications to display => Add option hal_typepub
    • FEAT: shortcode [teams_list] : Add options ‘unit’ and ‘team’
    • EVOL: shortcode [teams_list] : Small rearange in design (badly arranged margins, limits and sizes. Limit logo of thematics in size).
    • EVOL: shortcode [team_panel] : Add links to thematics pages. Add logo and color block
  • Correct bugs :
    • BUG: shortcode [teams_list] : Do not display groups if groups option is not enabled
    • BUG: shortcode [teams_list] : Cannot link internal team pages
    • BUG: Admin menu : New lines in «contact phone» of main structure was not taken into account
  • Improve reliability :
    • Code ready and tested for WordPress 5.7
    • CODE: Correct hundreds of warnings given by static analizer Phan.
    • CODE: Declare type of most function parameters
    • CODE: Make code more independant with the use of namespace. Rename all class and their files.
    • CODE: Self document all code with PHPDOC
    • CODE: create a new class MonLabo_teams


  • Ready and tested for WordPress 5.6
  • BUG : Repair broken link «Configuration» in extensions list
  • BUG : On new installations, some default activated-options were not activated (at least MonLabo_uses_members_and_groups)
  • BUG : Remove some warnings (function image_from_id_or_url())


  • BUG : On new installations, some default activated-options were not activated (at least MonLabo_uses_members_and_groups)


  • Ready and tested for WordPress 5.6
  • BUG : Repair broken link «Configuration» in extensions list


  • Main evolutions of functionalities :
    • EVOL : A person can own several pages
    • EVOL : A person can own several emails (separated by coma)
    • EVOL : Add the option «person=» to shortcode [alumni_list] (as it already exists for [members_list])
  • Main improvements or updates of interface:
    • DESIGN : Improve ergonomy of «Custom texts» config tab.
    • EVOL : Much easier configuration form for members WordPress address
    • EVOL : Correction of poor display of radio buttons in config interface.
  • Main improvements about security and reliability:
    • CODE/BUG : Rewrite all code for chosing an image as a logo for Thematic, team or unit. Sometimes it was non functionnal.
    • CODE : Improve unit test coverage (6026 tests) and tested in WordPress multisite
  • Minors :
    • EVOL : Allows user to customize text «Room» in team_panel.
    • DESIGN : Always displays «Custom texts» config tab. Lighten «Features» config tab.
    • EVOL : Add logo U-Paris. Suppress UPEC (non contributive since V2.0)
    • CODE : Detect obsolete database
    • CODE : Secure ajax code with a nonce to prevent unauthorized access
    • CODE : Secure all actions that accept POST with a nonce to prevent unauthorized access
    • BUG : Suppress php warnings that occur when creating new person, team, thematic or unit.
    • BUG : Suppress php warnings that occur when apparence fields in are empty in configuration interface.
    • BUG : Correct bad redirection of buttons for modifying teams, thematics or units in the admin tab «table view»
    • BUG : Bad alphabetic order of [members_list] with people that have accents in names. Order shoud be : E < É < F
    • BUG : Suppress warnings if database is empty
    • CODE : Correct few HTML warnings from W3C standards
    • BUG : Suppress a PHP warning in MonLabo_doc
    • BUG : In some server configuration, URL of default image for a person was wrong.


  • BUG : PHP error when activate multiple units mode and define no unit


  • BUG : Bad PHP warning of function error_MonLabo_perso_page_parent()


  • CODE: Convert text-domain and langage slug ‘MonLabo’ into ‘mon-laboratoire’ in order to be compatible with
  • BUG : Simplify some complex translation calls beause it was badly interpretated sometimes
  • BUG: Solve potential errors of translations when blog language is different that page language (for instance if a translation plugin is installed).


  • BUG : Suppress warnings with PHP 7.4
  • BUG : Sometimes «Room» was badly translated in shortcodes for members
  • BUG : Sometimes language english was not taken into account : add en_GB translation
  • BUG : WordPress official repository do not recognize that main language is french : add fr_FR translation


  • BUG : Suppress warnings in admin page


  • EVOL : The plugin is changing its name from «MonLabo» to «Mon Laboratoire»
  • EVOL : The plugin is now in WordPress plugin repository
  • EVOL : Remove backward compatibility for following obsolete shortcodes :
    • [members_list_automatic], [get_members_list]
    • [custom_publications_list], [publications_automatic]
    • [perso_panel_automatic]
    • [alumni]
  • CODE : Suppress dead codes.

See changelog.txt for older, minor or inconspicuous changelog