Skip to main content

solution métier pour fluidifier les relations entre chercheurs et administration dans les universités et les EPST

Project description

Lab&Co - solution métier pour fluidifier les relations entre chercheurs et administration

A propos de Lab&Co

Lab&Co est un progiciel permettant aux établissements de recherche ou d'enseignement et de recherche(universités, EPST, etc.) de fluidifier les relations entre les chercheurs (porteurs de projets) et l'administration.

Il couvre notamment:

  • Le recrutement de personnel sur contrat de projets (doctorants, bourses, CDD...)
  • Les contrats de recherche (recherche partenariale, ANR, projets européens...)
  • La valorisation de la recherche (logiciels, brevets, bases de donnée...)

Illustration

Historique

Lab&Co est développé par Abilian en partenariat avec Will Strategy depuis 2014 pour l'Université Pierre et Marie Curie (UPMC), devenue depuis Sorbonne Université.

Il est utilisé par plusieurs centaines de chercheurs et la soixantaine de personnes travaillant à la DR&I (Direction de la Recherche et de l'Innovation).

La version du code que vous consultez actuellement est la version "3.0" de l'application, qui été déployée fin 2019 à Sorbonne Université.

Votre projet

Lab&Co peut être déployé dans votre établissement, après connexion à son annuaire LDAP et adaptation des modèles et des workflows à vos processus métiers.

Contactez-nous à: contact@abilian.com pour toute demande d'information.

Développement

Installer en 1 ligne

Si votre machine de développement est "raisonnablement" configurée, vous pouvez installer Lab&Co localement en une ligne avec la commande:

./install.py

De manière alternative, si vous avez Poetry installé, vous pouvez tapper:

poetry install

Installer un environnement de développement

  1. Créer et activer un virtualenv (Python 3.9 pour l'instant)

  2. Installer Poetry https://github.com/sdispater/poetry

  3. Dans /etc/hosts, faire pointer labster.local sur localhost.

  4. Tapper:

     poetry install
     yarn --cwd front
    

Comment développper

En mode développement, il suffit de lancer flask devserver.

Puis lancer le navigateur sur: http://labster.local:5000/

Pour lancer les tests: pytest ou mieux tox.

Il y d'autres commandes utiles, tapper juste flask pour avoir la liste.

BDD de prod

Créer une base Postgresql labster:

createdb labster

puis:

flask create-db

Migrations

flask db migrate
flask db upgrade

Doc: http://alembic.zzzcomputing.com/en/latest/tutorial.html

Tests

  1. Tests unitaires:

     pytest
     yarn --cwd front run test:unit
    
  2. Tests e2e:

     flask cypress
     flask testcafe
    
  3. Pour tester manuellement en tant qu'un autre utilisateur, utiliser l'url backdoor/uid=xxx (see blueprints/auth/cas.py).

Tester l'envoi de mails

Lancer

python -m smtpd -n -c DebuggingServer localhost:1025

et dans DevConfig

# MAIL_SUPPRESS_SEND = True
MAIL_SUPPRESS_SEND = False
MAIL_SERVER = 'localhost'
MAIL_PORT = 1025

Ainsi les mais envoyés seront affichés sur stdout.

Autre possibilité, mettre la variable que l'on veux changer (par rapport au défaut) dans un fichier .env (similaire au fichier .flaskenv qui existe déjà).

Le fichier .env a priorité sur .flaskenv.

Pour les tests unitaires, voir la doc de flask-mail.

Architecture

L'application est constitué d'un backend en Python, utilisant notamment le framework Web Flask, l'ORM SQLAlchemy, et d'un front-end SPA en JavaScript utilisant le framework réactif Vuejs.

La communication entre front-end et back-end se fait soit en utilisant le paradigme REST (sans HATEOAS), soit le protocole JSON-RPC 2.0.

Le backend utilise également le framework Abilian-Core développé par Abilian. Il utilise également l'injection de dépendance grâce à la bibliothèque Injector (+ Flask-Injector).

L'authentification se fait en utilisant le protocole CAS implémenté par l'Université.

Modèle de données (simplifié)

FAQ

L'application s'appelle-t-elle "Labster" ou "Lab&Co" ?

Le projet s'appelait initialement "Labster", d'où le nom encore donné au package principal et à certaines variables ou constantes. Il s'appelle à présent "Lab&Co".

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

labandco-2.2.35.tar.gz (268.5 kB view details)

Uploaded Source

Built Distribution

labandco-2.2.35-py3-none-any.whl (339.1 kB view details)

Uploaded Python 3

File details

Details for the file labandco-2.2.35.tar.gz.

File metadata

  • Download URL: labandco-2.2.35.tar.gz
  • Upload date:
  • Size: 268.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for labandco-2.2.35.tar.gz
Algorithm Hash digest
SHA256 8f905a808c7cb26bd7a6d8474aaabeb70532d13527e3c9fd0b121cab38c6038d
MD5 bbcfcdf399d019e844293f422604c156
BLAKE2b-256 dde3cc9d5eab18351d70634a89b28952e4323d73e7a35909bc44568b94d0e0db

See more details on using hashes here.

File details

Details for the file labandco-2.2.35-py3-none-any.whl.

File metadata

  • Download URL: labandco-2.2.35-py3-none-any.whl
  • Upload date:
  • Size: 339.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for labandco-2.2.35-py3-none-any.whl
Algorithm Hash digest
SHA256 864aa6685d7835d85bd2f220d5d6678a33d528527b5f4c2f0fdc2400be15510a
MD5 be5ab825d5bfad183ba337789b4642a6
BLAKE2b-256 fc90fd0da98b009d8730bc16534ed56c71f29ae42b3028610e5b6e3d33c356d2

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page