Phraseanet has a plugin system allowing services customization (log, authentication) and views (customized home pages).
A Phraseanet plugin is a directory containing a manifest.json file that describes the plugin, a composer.json file that resolves its dependencies and a public directory that contains any public resources (icons, css, js, etc...).