- une base de donnée PostgreSQL vide et un utilisateur ayant tous les droits dessus
- exiftool
## Installation
### Installation de JAMA, création d'un super-utilisateur et d'un projet de test
make install
## Démarrage (développement)
make run
Vous avez alors accès à la page d'accueil (par défaut http://localhost:8000) et à la page d'administration de django (par défaut http://localhost:8000/admin/)
## Configuration
Au moment de l'installation, un fichier d'environnement est créé dans `$HOME/.jama/env`. Vous pouvez modifier
ce fichier pour modifier la configuration de Jama.
JAMA_STATIC_ROOT="var/static" # dossier des ressources statiques (pour mise en production)
JAMA_URL_BASE_PATH=""
JAMA_USE_ARK="0" # "1" pour activer les URLs ARK
JAMA_USE_CACHALOT="0" # "1" pour utiliser le cache de base de donnée
JAMA_USE_MODSHIB="1"
JAMA_USE_OAI="0" # "1" pour activer les URLs OAI-PMH
JAMA_USE_WEBP="0" # "1" pour utiliser la compression webp pour le tuilage des images (vérifier la compatibilité du serveur IIIF)
JAMA_USE_WEBP="0" # "1" pour utiliser la compression webp pour le tuilage des images (vérifier la compatibilité du serveur IIIF: à ce jour, IIP server est ok, pas Cantaloupe)
JAMA_VAR_DIR="var" # Dossier par défaut pour toutes les données
MODSHIB_SHOW_LOCAL_LOGIN="1"
MODSHIB_SHOW_SSO_LOGIN="0"
> _Astuce_ : créer un fichier `.env` à la racine du projet avec l'ensemble des variables déclarées
### Utilisation avec PostgreSQL
```bash
JAMA_SITE="http://localhost:8000/"
JAMA_DEBUG="0"
...
```
Si vous prévoyez d'utiliser Jama avec un nombre important d'utilisateurs en simultané, il est
préférable d'utiliser PostgreSQL plutôt que SQLite.
## Installation
### Base de données (développement), si JAMA_DB_ADAPTER est postgresql (passer si sqlite)
### Installation de JAMA, création d'un super-utilisateur et d'un projet de test
Modifiez `$HOME/.jama/env`:
make install
## Démarrage (développement)
JAMA_DB_ADAPTER="postgresql"
JAMA_DB_HOST="$JAMA_DB_HOST"
JAMA_DB_NAME="$JAMA_DB_NAME"
JAMA_DB_PASSWORD="$JAMA_DB_PASSWORD"
JAMA_DB_PORT="$JAMA_DB_PORT"
JAMA_DB_USER="$JAMA_DB_USER"
make run
Lancez à nouveau l'installation:
Vous avez alors accès à la page d'accueil (par défaut http://localhost:8000) et à la page d'administration de django (par défaut http://localhost:8000/admin/)
make install
## Commandes CLI
@@ -87,7 +102,7 @@ Vous avez alors accès à la page d'accueil (par défaut http://localhost:8000)
Une commande permet d'ajouter des fichiers locaux à Jama au nom d'un
utilisateur Jama:
uv run ./manage.py addlocalfiles /var/fichiers_a_ajouter/ jacques 1 --extensions .jpg .tif
uv run jama addlocalfiles /var/fichiers_a_ajouter/ jacques 1 --extensions .jpg .tif
Ici, le dossier `fichiers_a_ajouter` sera parcouru récursivement et les fichiers
avec une extension _.jpg_ ou _.tif_ seront ajoutés dans Jama dans le project ayant l'identifiant 1,
@@ -109,7 +124,7 @@ Les enregistrements retournés correspondent aux collections Jama pour lesquelle
## Création d'un nouveau projet:
(venv) code/jama: uv run python manage.py newjamaproject "mon projet"
(venv) code/jama: uv run jama newjamaproject "mon projet"
Projet "mon projet" créé avec le compte administrateur "admin_mon_projet" et la clef d'API "EOwy6laNTMBDUvH6pGuOvGdMEpYM2F9M"
## Étendre JAMA
@@ -178,11 +193,10 @@ Une possibilité est de préfixer le nom de la méthode avec le nom de votre app
## Relancer un tuilage en échec
```
$ uv run python manage.py shell
$ uv run jama repl
Python 3.13.1 (main, Jan 14 2025, 22:47:38) [Clang 19.1.6 ] on linux
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> from resources.models import File
>>> f = File.objects.filter(title="the_failed_filename").first()
>>> f
<File: the_failed_filename>
@@ -192,11 +206,10 @@ Type "help", "copyright", "credits" or "license" for more information.
## Lister le nombre de tuilage manquant
```
$ uv run python manage.py shell
$ uv run jama repl
Python 3.13.1 (main, Jan 14 2025, 22:47:38) [Clang 19.1.6 ] on linux
Type "help", "copyright", "credits" or "license" for more information.