No description
Find a file
erdnaxe e2c826ec1d Merge branch 'no_ip_whitelist' into 'master'
Rework account forms

See merge request bde/photo21!2
2021-10-08 20:14:21 +02:00
accounts Check trusted email domains 2021-10-08 20:13:15 +02:00
photo21 Update translations 2021-10-08 13:03:49 +02:00
photologue_custom Require login if not in authorized IP range 2021-09-23 11:41:35 +02:00
.gitignore Initial commit 2021-09-22 17:52:19 +02:00
COPYING Add COPYING 2021-09-22 21:33:46 +02:00
manage.py Fix shebang in manage.py 2021-10-01 09:08:23 +02:00
README.md Add README.md 2021-09-22 21:32:32 +02:00
requirements.txt Use Django Crispy forms 2021-10-08 11:37:48 +02:00
tox.ini changed signup to accounts 2021-10-07 16:59:16 +02:00

Serveur photos 2021

License: GPL v3

Table des matières

Installation d'une instance de développement

L'instance de développement installe la majorité des dépendances dans un environnement Python isolé. Bien que cela permette de créer une instance sur toutes les distributions, cela veut dire que vos dépendances ne seront pas mises à jour automatiquement.

  1. Installation des dépendances de la distribution. Il y a quelques dépendances qui ne sont pas trouvable dans PyPI. On donne ci-dessous l'exemple pour une distribution basée sur Debian, mais vous pouvez facilement adapter pour ArchLinux ou autre.

    $ sudo apt update
    $ sudo apt install --no-install-recommends -y \
        ipython3 python3-setuptools python3-venv python3-dev \
        gettext git
    
  2. Clonage du dépot là où vous voulez :

    $ git clone git@gitlab.crans.org:bde/photo21.git && cd photo21
    
  3. Création d'un environment de travail Python décorrélé du système. On n'utilise pas --system-site-packages ici pour ne pas avoir des clashs de versions de modules avec le système.

    $ python3 -m venv env
    $ source env/bin/activate  # entrer dans l'environnement
    (env)$ pip3 install -r requirements.txt
    (env)$ deactivate  # sortir de l'environnement
    
  4. Migrations et chargement des données initiales. Pour initialiser la base de données avec de quoi travailler.

    (env)$ ./manage.py collectstatic --noinput
    (env)$ ./manage.py compilemessages
    (env)$ ./manage.py migrate
    (env)$ ./manage.py loaddata initial
    (env)$ ./manage.py createsuperuser  # Création d'un utilisateur initial
    
  5. Enjoy :

    (env)$ ./manage.py runserver 0.0.0.0:8000
    

En mettant 0.0.0.0:8000 après runserver, vous rendez votre instance Django accessible depuis l'ensemble de votre réseau, pratique pour tester le rendu de la note sur un téléphone !

Installation d'une instance de production

TODO

Documentation

La documentation des classes et fonctions est directement dans le code et est explorable à partir de la partie documentation de l'interface d'administration de Django. Commentez votre code !

FAQ

Regénérer les fichiers de traduction

Pour regénérer les traductions vous pouvez vous placer à la racine du projet et lancer le script makemessages. Il faut penser à ignorer les dossiers ne contenant pas notre code, dont le virtualenv.

python3 manage.py makemessages -i env

Une fois les fichiers édités, vous pouvez compiler les nouvelles traductions avec

python3 manage.py compilemessages