{"id":28569642,"url":"https://github.com/abilian/labandco","last_synced_at":"2026-03-02T15:33:44.165Z","repository":{"id":44841114,"uuid":"220273817","full_name":"abilian/labandco","owner":"abilian","description":"Lab\u0026Co - solution métier pour fluidifier les relations entre chercheurs et administration dans les universités et les EPST","archived":false,"fork":false,"pushed_at":"2025-03-03T11:15:38.000Z","size":3523,"stargazers_count":4,"open_issues_count":0,"forks_count":2,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-06-10T17:15:31.670Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/abilian.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-11-07T15:53:07.000Z","updated_at":"2025-03-03T11:15:42.000Z","dependencies_parsed_at":"2024-05-16T10:27:56.798Z","dependency_job_id":"1bf18ff2-77eb-4253-953e-fde755d06ebe","html_url":"https://github.com/abilian/labandco","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/abilian/labandco","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abilian%2Flabandco","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abilian%2Flabandco/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abilian%2Flabandco/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abilian%2Flabandco/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/abilian","download_url":"https://codeload.github.com/abilian/labandco/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abilian%2Flabandco/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270364971,"owners_count":24571423,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-14T02:00:10.309Z","response_time":75,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-06-10T17:15:19.655Z","updated_at":"2026-03-02T15:33:44.087Z","avatar_url":"https://github.com/abilian.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Lab\u0026Co - solution métier pour fluidifier les relations entre chercheurs et administration\n\n## A propos de Lab\u0026Co\n\nLab\u0026Co 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.\n\nIl couvre notamment:\n\n- Le recrutement de personnel sur contrat de projets (doctorants, bourses, CDD...)\n- Les contrats de recherche (recherche partenariale, ANR, projets européens...)\n- La valorisation de la recherche (logiciels, brevets, bases de donnée...)\n\n## Illustration\n\n\u003cimg src=\"https://raw.githubusercontent.com/abilian/labandco/main/doc/illustration.png\"\u003e\n\n### Historique\n\nLab\u0026Co est développé par [Abilian](http://www.abilian.com/) en partenariat avec [Will Strategy](https://willstrategy.com/) depuis 2014 pour l'Université Pierre et Marie Curie (UPMC), devenue depuis Sorbonne Université.\n\nIl est utilisé par plusieurs centaines de chercheurs et la soixantaine de personnes travaillant à la DR\u0026I (Direction de la Recherche et de l'Innovation).\n\nLa version du code que vous consultez actuellement est la version \"3.0\" de l'application, qui été déployée fin 2019 à Sorbonne Université.\n\n### Votre projet\n\nLab\u0026Co 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.\n\nContactez-nous à: [contact@abilian.com](mailto:contact@abilian.com) pour toute demande d'information.\n\n\n## Développement\n\n### Installer en 1 ligne\n\nSi votre machine de développement est \"raisonnablement\" configurée, vous pouvez installer Lab\u0026Co localement en une ligne avec la commande:\n\n    ./install.py\n\nDe manière alternative, si vous avez [Poetry](https://poetry.eustace.io/) installé, vous pouvez tapper:\n\n    poetry install\n\n\n### Installer un environnement de développement\n\n1) Créer et activer un virtualenv (Python 3.9 pour l'instant)\n\n2) Installer Poetry \u003chttps://github.com/sdispater/poetry\u003e\n\n3) Dans `/etc/hosts`, faire pointer `labster.local` sur `localhost`.\n\n4) Tapper:\n\n        poetry install\n        yarn --cwd front\n\n\n### Comment développper\n\nEn mode développement, il suffit de lancer `flask devserver`.\n\nPuis lancer le navigateur sur: http://labster.local:5000/\n\nPour lancer les tests: `pytest` ou mieux `tox`.\n\nIl y d'autres commandes utiles, tapper juste `flask` pour avoir la\nliste.\n\n\n### BDD de prod\n\nCréer une base Postgresql `labster`:\n\n    createdb labster\n\npuis:\n\n    flask create-db\n\n\n### Migrations\n\n    flask db migrate\n    flask db upgrade\n\nDoc: http://alembic.zzzcomputing.com/en/latest/tutorial.html\n\n\n### Tests\n\n1) Tests unitaires:\n\n        pytest\n        yarn --cwd front run test:unit\n\n2) Tests e2e:\n\n        flask cypress\n        flask testcafe\n\n3) Pour tester manuellement en tant qu'un autre utilisateur, utiliser l'url\n`backdoor/uid=xxx` (see blueprints/auth/cas.py).\n\n\n#### Tester l'envoi de mails\n\nLancer\n\n    python -m smtpd -n -c DebuggingServer localhost:1025\n\net dans `DevConfig`\n\n    # MAIL_SUPPRESS_SEND = True\n    MAIL_SUPPRESS_SEND = False\n    MAIL_SERVER = 'localhost'\n    MAIL_PORT = 1025\n\nAinsi les mais envoyés seront affichés sur stdout.\n\nAutre possibilité, mettre la variable que l'on veux changer (par rapport au défaut)\ndans un fichier `.env` (similaire au fichier `.flaskenv` qui existe déjà).\n\nLe fichier `.env` a priorité sur `.flaskenv`.\n\nPour les tests unitaires, voir la doc de [flask-mail](https://pythonhosted.org/Flask-Mail/).\n\n\n## Architecture\n\nL'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.\n\nLa communication entre front-end et back-end se fait soit en utilisant le paradigme REST (sans HATEOAS), soit le protocole JSON-RPC 2.0.\n\nLe 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).\n\nL'authentification se fait en utilisant le protocole CAS implémenté par l'Université.\n\n### Modèle de données (simplifié)\n\n\u003cimg src=\"https://raw.githubusercontent.com/abilian/labandco/main/doc/model.png\"\u003e\n\n\n\n## FAQ\n\n### L'application s'appelle-t-elle \"Labster\" ou \"Lab\u0026Co\" ?\n\nLe 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\u0026Co\".\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabilian%2Flabandco","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fabilian%2Flabandco","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabilian%2Flabandco/lists"}