Skip to content
Open
Show file tree
Hide file tree
Changes from 163 commits
Commits
Show all changes
177 commits
Select commit Hold shift + click to select a range
a46863b
feat:Base Projetc, docker dev-deployment
BenjaminSere Nov 27, 2025
8988ec9
feat: add drf-spectacular for openapi documentation
GiorgioUtzeri Nov 27, 2025
695553f
feat: expose swagger and redoc documentation endpoints
GiorgioUtzeri Nov 27, 2025
4016778
docs: add swagger usage and developer guide
GiorgioUtzeri Nov 27, 2025
a6b69b6
feat:dispatch prod & dev deployment, dev work
BenjaminSere Nov 27, 2025
d176f7a
feat: add system info endpoint with versioning
BenjaminSere Nov 28, 2025
07fe59b
feat:Deployment_Dev Doc
BenjaminSere Nov 28, 2025
e59ee80
feat:add logger config in setting/dev.py
BenjaminSere Nov 28, 2025
da057e6
build: update project dependencies
GiorgioUtzeri Nov 28, 2025
3baa289
refactor(config): update settings and remove legacy SystemInfoView
GiorgioUtzeri Nov 28, 2025
19219cc
feat(utils): add utils app with shared models
GiorgioUtzeri Nov 28, 2025
f6195db
feat(info): initialize info application
GiorgioUtzeri Nov 28, 2025
5bbe5c4
feat(auth): implement auth system JWT
GiorgioUtzeri Nov 28, 2025
3feb8de
chore: ignore local settings file
GiorgioUtzeri Nov 28, 2025
2a66cda
chore: ignore local settings file
GiorgioUtzeri Nov 28, 2025
85cef0c
Fix: update after a merge
GiorgioUtzeri Nov 28, 2025
8356d62
fix: remove prod file deployment content
BenjaminSere Dec 8, 2025
62830ce
feat:Add documentation files (AUTHORS, CODE_OF_CONDUCT, CONTRIBUTING,…
BenjaminSere Dec 8, 2025
ec19f33
feat: make easy deployment (entrypoint.sh)
BenjaminSere Dec 8, 2025
7a76987
feat:add cross-platform ci test
BenjaminSere Dec 8, 2025
05cadd9
feat:add cross-platform ci test
BenjaminSere Dec 8, 2025
1d49bfd
fix: .github/workflows/cross_platform_test.yml
BenjaminSere Dec 8, 2025
a7358d8
fix: .github/workflows/cross_platform_test.yml
BenjaminSere Dec 8, 2025
6576e2f
fix: .github/workflows/cross_platform_test.yml
BenjaminSere Dec 8, 2025
281209d
Chore(Config): configure authentication settings and force AutoField …
GiorgioUtzeri Dec 8, 2025
b01be81
Fix(DB): regenerate initial migrations to support legacy schema
GiorgioUtzeri Dec 8, 2025
296f4e2
Feat(Auth): implement CAS token exchange endpoint and user provisioni…
GiorgioUtzeri Dec 8, 2025
5dc28b6
Feat(Admin): restore admin panel config and IP restriction middleware
GiorgioUtzeri Dec 8, 2025
87b78b2
Docs(Auth): add comprehensive documentation for authentication workflow
GiorgioUtzeri Dec 8, 2025
77e10ad
Fix(gitignore) edit gitignore)
GiorgioUtzeri Dec 8, 2025
5d10a7d
Delete src/apps/authentication/migrations directory
GiorgioUtzeri Dec 8, 2025
5437c34
Delete src/apps/utils/migrations directory
GiorgioUtzeri Dec 8, 2025
52b5d6f
fix: .github/workflows/cross_platform_test.yml
BenjaminSere Dec 8, 2025
8b491c0
fix: deployment doc update
BenjaminSere Dec 8, 2025
608add3
Fix(Configuration): edit of the requirements file for cas
GiorgioUtzeri Dec 9, 2025
db1b0e7
feat: add local deployment, refacto deployment doc, add big help.md
BenjaminSere Dec 9, 2025
1ee1578
feat: refacto doc and manage.py
BenjaminSere Dec 10, 2025
d3e8150
fix:manage.py
BenjaminSere Dec 10, 2025
c5a7261
fix: .gitinior .env
BenjaminSere Dec 10, 2025
021d900
Merge branch 'improve-deployment' into dev_v5
BenjaminSere Dec 10, 2025
cde9c73
fix:Makefile DOCKER_COMPOSE_CMD
BenjaminSere Dec 10, 2025
448e049
refactor(config): introduce feature toggles for authentication settings
BenjaminSere Dec 11, 2025
c791bd0
fix(.gitignore)
BenjaminSere Dec 11, 2025
0e440c3
Fix(requirement): requests package add on requirements.txt
GiorgioUtzeri Dec 10, 2025
8878c99
Feat(Settings): Settings for OIDC, SHIBBOLETH implemented
GiorgioUtzeri Dec 10, 2025
027ef90
Feat(Authentication): adding the missing Serializers for the full imp…
GiorgioUtzeri Dec 10, 2025
a642bc8
Feat(Authentication): adding the missings routes and views
GiorgioUtzeri Dec 10, 2025
ddc7ed3
Fix(Authentication): Edit of urls for cas
GiorgioUtzeri Dec 10, 2025
6ba134d
fix(merge): ./authentification/utls.py and settings/authentification.py
BenjaminSere Dec 11, 2025
f16de58
fix: src/apps/authentication/urls.py
BenjaminSere Dec 11, 2025
6d5aa7a
Fix(Docker): update the environement variable
GiorgioUtzeri Dec 12, 2025
ef7443d
Fix(Settings): update the import settings
GiorgioUtzeri Dec 12, 2025
40336d1
fix: deployment infra
BenjaminSere Dec 12, 2025
20338c8
fix: add init.py in utils
BenjaminSere Dec 12, 2025
3a09b7d
fix: deployment documentation
BenjaminSere Dec 12, 2025
6de0a2f
Feat(Authentication): Implemented the user filter
GiorgioUtzeri Dec 12, 2025
57c830a
fix: make docker commande verify user using docker settings
BenjaminSere Dec 12, 2025
5557a2f
Feat(Authentication): Endpoints for know the login config
GiorgioUtzeri Dec 12, 2025
f7514a4
feat: logging update & SHOW_SQL_QUERIES
BenjaminSere Dec 12, 2025
9bec2da
Fix(Authentication): update UserSerializer
GiorgioUtzeri Dec 12, 2025
fe3f796
Fix(Docs): complete full translation to English
GiorgioUtzeri Dec 12, 2025
6ea5ce9
feat: better logging
BenjaminSere Dec 12, 2025
9cde977
Merge branch 'feature/clean-deployment' into dev_v5
BenjaminSere Dec 12, 2025
754465b
fix: merge request
BenjaminSere Dec 12, 2025
6dd6a66
feat: add a ./TODO.md file
BenjaminSere Jan 12, 2026
930044b
Refactorisation de l'authentification et configuration du projet
GiorgioUtzeri Jan 12, 2026
22963d0
feat: add deployment test workfile
BenjaminSere Jan 12, 2026
b953873
feat: add deployment test workfile
BenjaminSere Jan 12, 2026
e8d3f99
feat: add deployment test workfile
BenjaminSere Jan 12, 2026
487bc31
feat: add deployment test workfile
BenjaminSere Jan 12, 2026
3561a70
Update requirements file path in CI workflow
BenjaminSere Jan 12, 2026
c3a8346
Update flake8 linting path from Pod_V5_Back to src
BenjaminSere Jan 12, 2026
ef8ca4d
Change working directory for CI tests
BenjaminSere Jan 12, 2026
41e7be9
Add VERSION environment variable for CI tests
BenjaminSere Jan 12, 2026
3bcd39c
feat: add deployment test workfile
BenjaminSere Jan 12, 2026
237c821
fix: CI implementation
BenjaminSere Jan 12, 2026
241ea28
feat: add deployment test workfile
BenjaminSere Jan 12, 2026
dcc8562
fix: add a DJANGO_SETTINGS_MODULE default value fot CI deployment test
BenjaminSere Jan 12, 2026
4c1aa5a
fix: add a DJANGO_SETTINGS_MODULE default value fot CI deployment test
BenjaminSere Jan 12, 2026
9083013
fix: add a DJANGO_SETTINGS_MODULE default value fot CI deployment test
BenjaminSere Jan 12, 2026
6eca78c
fix: add env: configuration CI workfile
BenjaminSere Jan 12, 2026
1d593e0
fix: add a try catch by pass the settings_local import
BenjaminSere Jan 12, 2026
95dc532
fix: add a try catch by pass the settings_local import
BenjaminSere Jan 12, 2026
3998675
fix: un-ignore .github directory to enable CI/CD workflows
BenjaminSere Jan 12, 2026
e09521b
fix: add DATABASES settings for test
BenjaminSere Jan 12, 2026
5df1e13
fix(ci): handle missing settings_local in authentication settings
BenjaminSere Jan 12, 2026
d6fd86a
feat(ci): add workflow to build and push dev docker image
BenjaminSere Jan 12, 2026
2cf17b1
feat: test new CI/CD
BenjaminSere Jan 12, 2026
295c3f1
Revert "feat(ci): add workflow to build and push dev docker image"
BenjaminSere Jan 12, 2026
09983e3
fix: Stable commit with ci & build-dev workfile
BenjaminSere Jan 12, 2026
262442d
fix: deploiement refacto, all in docker environement
BenjaminSere Jan 12, 2026
0a02ced
docs/ci: add cross-platform support and documentation
BenjaminSere Jan 12, 2026
b7af8d5
fix: flake8 refactoring, ci jobs test improve
BenjaminSere Jan 12, 2026
e1c803e
ci: use Makefile commands for test-docker job and update documentation
BenjaminSere Jan 12, 2026
92c729e
Refactor deployment documentation: move monolithic file to dedicated …
GiorgioUtzeri Jan 12, 2026
91f17d8
Refactor authentication docs: remove TODOs and organize guides
GiorgioUtzeri Jan 12, 2026
6266c07
Move Swagger guide to dedicated API documentation section
GiorgioUtzeri Jan 12, 2026
144cc3b
Update documentation entry point and structure
GiorgioUtzeri Jan 12, 2026
c57a649
fix: not use make commande bad idee
BenjaminSere Jan 12, 2026
899d4eb
fix: flake8 not return code 0 when they are errors
BenjaminSere Jan 12, 2026
3ebe1cd
fix: test jobs
BenjaminSere Jan 12, 2026
0c3e980
feat: CI work very well !
BenjaminSere Jan 12, 2026
94f0740
Merge branch 'Implement_test_and_refacto_authentication' into dev_v5
GiorgioUtzeri Jan 12, 2026
a25635f
feat: clean documentation navigation
BenjaminSere Jan 13, 2026
246117f
feat: clean documentation navigation in to README
BenjaminSere Jan 13, 2026
d8094bd
feat: clean documentation navigation in to README
BenjaminSere Jan 13, 2026
915f007
feat: clean documentation dev
BenjaminSere Jan 13, 2026
afd31bd
feat: clean doc
BenjaminSere Jan 13, 2026
6b80d39
ci: add flake8 configuration for code style enforcement
GiorgioUtzeri Jan 13, 2026
2089974
refactor(auth): remove dead code, duplicate functions and unused vari…
GiorgioUtzeri Jan 13, 2026
9e9fd23
fix(config): expose models in __init__ and fix linter warnings
GiorgioUtzeri Jan 13, 2026
1bb2468
style: apply global formatting and lint fixes (ruff/flake8)
GiorgioUtzeri Jan 13, 2026
1242c50
No code changes detected.
BenjaminSere Jan 13, 2026
dd3b24e
ci: add flake8 configuration for code style enforcement
GiorgioUtzeri Jan 13, 2026
ff4be52
ci: use .flake8 config instead of hardcoded args
GiorgioUtzeri Jan 13, 2026
0fed552
fix(auth): correct CustomImageModel import path in Owner model
GiorgioUtzeri Jan 13, 2026
bbca10b
fix(tests): enable auth providers in test config and mock settings fo…
GiorgioUtzeri Jan 13, 2026
bb77b5d
fix(auth): resolve unit test failures and cleanup documentation
BenjaminSere Jan 13, 2026
7a25891
refactor(auth): modularize views and services architecture
BenjaminSere Jan 13, 2026
738b518
style(auth): fix flake8 linting errors in new modular structure
BenjaminSere Jan 13, 2026
429f3b9
:memo: Add AI context files and remove PLAN.md
BenjaminSere Jan 13, 2026
c0135fe
:green_heart: Refactor CI workflow and update docs
BenjaminSere Jan 13, 2026
7becc41
:rocket: Implement comprehensive CI/CD strategy with Docker Compose a…
BenjaminSere Jan 13, 2026
7339806
add a NAME to the testdb
BenjaminSere Jan 13, 2026
2c0bf8f
add a NAME to the testdb
BenjaminSere Jan 13, 2026
eacfc7b
fix test.py import missing
BenjaminSere Jan 13, 2026
1183e36
fix test.py import missing
BenjaminSere Jan 13, 2026
c1ba44d
feat: add drf-spectacular for openapi documentation
BenjaminSere Jan 13, 2026
b22c916
fix: pipline error
BenjaminSere Jan 13, 2026
f7a687b
fix: pipline error
BenjaminSere Jan 13, 2026
a8e4861
fix: pipline error
BenjaminSere Jan 13, 2026
27dbe64
fix, ci
BenjaminSere Jan 13, 2026
b73ad0b
fix, ci
BenjaminSere Jan 13, 2026
35e5752
add pytest.ini
BenjaminSere Jan 13, 2026
fe6cc14
fix: flake8
BenjaminSere Jan 13, 2026
f9219dd
fix: deployment
BenjaminSere Jan 13, 2026
1fc6e37
fix: worflow work git add *
BenjaminSere Jan 13, 2026
4e5e025
add .gitinior and ci
BenjaminSere Jan 13, 2026
368300e
fix: clean code before PR
BenjaminSere Jan 14, 2026
2abb148
fix: clean code
BenjaminSere Jan 14, 2026
961e744
Edit test file for flake8
GiorgioUtzeri Jan 14, 2026
efcfed4
feat: complete CI/CD and docs overhaul
BenjaminSere Jan 14, 2026
31fe168
docs: add AI agent helpers and update CI/CD guides
BenjaminSere Jan 14, 2026
b70308d
chore: enable 'make test' to run CI-compliant docker tests
BenjaminSere Jan 14, 2026
276df53
test: set coverage 60 to test pipline
BenjaminSere Jan 14, 2026
e2b3598
:memo: Fix Makefile documentation and add Quick Start
BenjaminSere Jan 14, 2026
cc7bc7a
:green_heart: Fix CI permissions and Makefile typo
BenjaminSere Jan 14, 2026
5174c8e
:recycle: Refactor 'make test' to run local pytest directly
BenjaminSere Jan 14, 2026
7566706
fix: add Config variable into docker config for test
BenjaminSere Jan 14, 2026
0122108
Refactor: Transition to Docker-only workflow
BenjaminSere Jan 15, 2026
6136348
Fix: CI failure due to missing .env file
BenjaminSere Jan 15, 2026
0f5e08c
Fix: Remove --project-directory . from CI commands
BenjaminSere Jan 15, 2026
18ff705
Fix: Explicitly pass env vars to CI docker-compose steps
BenjaminSere Jan 15, 2026
38fb370
Refactor: Use Make commands in CI workflow
BenjaminSere Jan 15, 2026
665d2a9
use good docker compose commande name
BenjaminSere Jan 15, 2026
58f98c1
Docs: Update CI/CD documentation to reflect Makefile usage in CI
BenjaminSere Jan 15, 2026
c324ca4
fix: Clean documentation navigation & add configuration documentation
BenjaminSere Jan 15, 2026
a36fc7b
fix: gitinior, add init_env file to init cuntom flag for test
BenjaminSere Jan 15, 2026
3df05c9
fix: MakeFile docker compose commande
BenjaminSere Jan 15, 2026
1e1aa6b
fix: add scenarios in configuration docmentation
BenjaminSere Jan 15, 2026
aa9d06d
docs: Consolidate deployment docs and add auth scenarios
BenjaminSere Jan 15, 2026
fbd9009
fix: flake8 errors
BenjaminSere Jan 15, 2026
e428129
feat: rename endpoint auth/login-config to auth/config
BenjaminSere Jan 15, 2026
bd98e4d
Edit todolist
GiorgioUtzeri Jan 15, 2026
2476943
fix(review): Align .flake8 with project standards
BenjaminSere Jan 16, 2026
679de02
Merge branch 'dev_v5' of github.com:GiorgioUtzeri/Pod_V5_Back into de…
BenjaminSere Jan 16, 2026
d54b844
add missing end lignespace
BenjaminSere Jan 16, 2026
7eeaf97
fix: white space, import, endline, ci.yml
BenjaminSere Jan 26, 2026
171a997
fix: lunch ci/cd test on all branches push
BenjaminSere Jan 26, 2026
0226081
fix: add exclude file into .flake8 file & add .coverage file into .gi…
BenjaminSere Jan 26, 2026
6938f0f
fix(tests): resolve NoReverseMatch by loading init_env before setting…
BenjaminSere Jan 26, 2026
2a595cf
style: add isort:skip to preserve critical import order in test config
BenjaminSere Jan 26, 2026
d006606
whitespaces in ci.yml
BenjaminSere Jan 26, 2026
fc41032
fix: run black commande on src
BenjaminSere Jan 26, 2026
0d7ae18
feat: delet isort in the CI/CD & use black to format and verif with f…
BenjaminSere Jan 26, 2026
29cea1e
use this black command: black . -l 90
BenjaminSere Jan 26, 2026
11c4fe6
fix: all Olivier reviews =)
BenjaminSere Jan 26, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added .coverage
Binary file not shown.
20 changes: 20 additions & 0 deletions .env.docker
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# --- Security ---
DJANGO_SETTINGS_MODULE=config.django.dev.docker
SECRET_KEY=change-me-in-prod-secret-key
EXPOSITION_PORT=8000

# --- Database ---
MYSQL_DATABASE=pod_db
MYSQL_USER=pod_user
MYSQL_PASSWORD=pod_password
MYSQL_ROOT_PASSWORD=root_password
MYSQL_HOST=db
MYSQL_PORT=3307

# --- Superuser ---
DJANGO_SUPERUSER_USERNAME=admin
DJANGO_SUPERUSER_EMAIL=admin@example.com
DJANGO_SUPERUSER_PASSWORD=admin

# --- Versioning ---
VERSION=5.0.0-DEV
16 changes: 16 additions & 0 deletions .flake8
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
[flake8]
# E501: Lines too long (limit increased to 120)
# W503: Line break before binary operator (conflict with Black/Ruff)
# F403: 'from module import *' (tolerated in settings)
ignore = E501, W503, F403

# We exclude files managed by Git or Django
exclude =
.git,
__pycache__,
venv,
*/migrations/*

# The standard length for modern Django
max-line-length = 120
max-complexity = 18
2 changes: 2 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
*.sh text eol=lf
Dockerfile text eol=lf
5 changes: 5 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Before sending your pull request, make sure the following are done

* [ ] You have read our [contribution guidelines](CONTRIBUTING.md).
* [ ] Your PR targets the `dev_v5` branch.
* [ ] Your PR status is in `draft` if it’s still a work in progress.
52 changes: 52 additions & 0 deletions .github/workflows/build-dev.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
name: Build and Push Dev Image

on:
push:
branches:
- "**"
paths:
- "deployment/dev/**"
- "src/**"
- "requirements.txt"
- ".github/workflows/build-dev.yml"

env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}

jobs:
build-and-push-dev:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Log in to the Container registry
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@v5
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
tags: |
type=ref,event=branch
type=sha,format=short
type=raw,value=dev-{{branch}}-{{sha}}

- name: Build and push Docker image
uses: docker/build-push-action@v5
with:
context: .
file: deployment/dev/Dockerfile
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
101 changes: 101 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
name: Pod V5 CI/CD

on:
push:
branches:
- dev_v5
- feature/LLMS-instruction-file
pull_request:
branches:
- dev_v5
- main
- feature/LLMS-instruction-file

jobs:
# 1. Code Quality
quality-check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python 3.12
uses: actions/setup-python@v5
with:
python-version: '3.12'
cache: 'pip'
- name: Install dependencies
run: pip install flake8
- name: Lint with flake8
run: flake8 src --count --show-source --statistics

# 2. Docker Integration, E2E & Security (The Authoritative Test)
test-docker-full:
needs: [quality-check]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Set up Python 3.12
uses: actions/setup-python@v5
with:
python-version: '3.12'

- name: Create .env file
run: cp .env.docker .env

- name: Build Stack
env:
VERSION: 5.0.0-DEV
DJANGO_SETTINGS_MODULE: config.django.dev.docker
run: make build

- name: Start Stack
env:
VERSION: 5.0.0-DEV
DJANGO_SETTINGS_MODULE: config.django.dev.docker
run: make start

- name: Wait for Services
run: |
set -e
echo "Waiting for API..."
# Retry loop to wait for API to be ready
count=0
until curl -sf http://127.0.0.1:8000/api/docs/ > /dev/null || [ $count -eq 60 ]; do
echo "Waiting for API... ($count/60)"
sleep 2
count=$((count+1))
done

if [ $count -eq 60 ]; then
echo "API failed to start"
make logs
exit 1
fi

- name: Run Tests with Coverage (Inside Docker)
run: make test

- name: Install E2E dependencies
run: |
pip install --upgrade pip
pip install requests

- name: Run Smoke & E2E Tests
# Runs against the running docker container from the host
run: python src/config/django/test/e2e_scenario.py

- name: Basic Load Test
run: |
fail=0
for i in {1..50}; do
curl -sf http://127.0.0.1:8000/api/docs/ > /dev/null || fail=1 &
done
wait
if [ "$fail" -ne 0 ]; then
echo "Load test failed"
exit 1
fi

- name: Teardown
if: always()
run: make clean
42 changes: 42 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# --- Python ---
__pycache__/
*.py[cod]
*$py.class
*.pyc

# --- Django ---
*.log
settings_local.py
db.sqlite3
db.sqlite3-journal
media/
staticfiles/

# --- Environnement & Secrets ---
.env
.env.prod

.venv/
venv/
env/

# --- IDE & OS ---
.idea/
.vscode/
*.swp
.DS_Store
Thumbs.db

# --- Docker ---
mysql_data/

# --- Custom files ---
log/
media/
transcription/


# --- Tests & Coverage ---
.coverage
.pytest_cache/
htmlcov/
56 changes: 56 additions & 0 deletions AUTHORS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
Esup-Pod Authors
================

Maintainer
----------

[Esup Portail](https://www.esup-portail.org/)

Original Authors
----------------

* Nicolas Can, University of Lille, France ([@ptitloup](https://github.com/ptitloup))

Contributors for the V3
----------------------------

A list of much-appreciated contributors
who have submitted patches and reported bugs for the V3:

* Olivier Bado-Faustin, University Cote d'Azur (design and template)
* Nicolas Lahoche, University of Lille (design and template) with all the PRI Team
* Nathaniel Burlot, University of Lille (member of PRI team for Logo and color of V3)
* Céline Didier and Matthieu Bildstein, University of Lorraine (Live's Event App)
* Farid Ait Karra, University of Lille (Docker part)
* Maxime Taisne and Laurine Sajdak, University of Lille (Documentation and User part)
* French Ministry of Education (who funded the development of some features)

Partnership
----------------------------

* Elygames
* OrionStudio

Previous Author/Contributors
----------------------------

A list of much-appreciated contributors who have submitted patches and reported bugs:

* Joël Obled, Esup-Portail Consortium, France ([@DrClockwork](https://github.com/DrClockwork))
* Charlotte Benard (Logo and color of V2)
* Frederic Sene, INSA Rennes
* Frédéric Colau, Eliam Lotonga and Jeremie Grepilloux, University Grenoble Alpes
* Loic Bonavent, University of Montpellier
* Guillaume Condesse, University of Bordeaux
* All participants of the October 2018 Pod Technical Workshop

Pictures credits
----------------------------

* default.svg: adapted from Play button Icon
by [Freepik](https://www.freepik.com/free-vector) - Freepik License
* cookie.svg:
[oatmeal cookie created by pch.vector](https://www.freepik.com/vectors/logo) - Freepik License
* default-playlist.svg: Music, Note, Musical Note
by [krzysztof-m](https://pixabay.com/fr/users/1363864/) -
[Pixabay free for use & download licence](https://pixabay.com/fr/service/terms/)
Loading