mirror of
				https://gitlab.crans.org/bde/nk20
				synced 2025-10-30 23:39:54 +01:00 
			
		
		
		
	Format README and fix link
This commit is contained in:
		
							
								
								
									
										76
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										76
									
								
								README.md
									
									
									
									
									
								
							| @@ -6,64 +6,67 @@ | ||||
|  | ||||
| ## Installation sur un serveur | ||||
|  | ||||
| On supposera pour la suite que vous utilisez Debian/Ubuntu sur un serveur tout nu ou bien configuré. | ||||
| On supposera pour la suite que vous utilisez une installation de Debian Buster ou Ubuntu 20.04 fraîche ou bien configuré. | ||||
|  | ||||
| 1. Paquets nécessaires | ||||
| Pour aller vite vous pouvez lancer le Playbook Ansible fournit dans ce dépôt en l'adaptant. | ||||
| Sinon vous pouvez suivre les étapes ici. | ||||
|  | ||||
|         $ sudo apt install nginx python3 python3-pip python3-dev uwsgi | ||||
|         $ sudo apt install uwsgi-plugin-python3 python3-venv git acl | ||||
| ### Installation avec Debian/Ubuntu | ||||
|  | ||||
|     La génération des factures de l'application trésorerie nécessite une installation de LaTeX suffisante : | ||||
| 1.  **Installation des dépendances APT.** | ||||
|  | ||||
|     ```bash | ||||
|     $ sudo apt install nginx python3 python3-pip python3-dev uwsgi uwsgi-plugin-python3 python3-venv git acl | ||||
|     ``` | ||||
|  | ||||
|     La génération des factures de l'application trésorerie nécessite une installation de LaTeX suffisante, | ||||
|  | ||||
|     ```bash | ||||
|     $ sudo apt install texlive-latex-extra texlive-fonts-extra texlive-lang-french | ||||
|     ``` | ||||
|  | ||||
| 2. Clonage du dépot | ||||
| 2.  **Clonage du dépot** dans `/var/www/note_kfet`, | ||||
|  | ||||
|     on se met au bon endroit : | ||||
|     ```bash | ||||
|     $ mkdir -p /var/www/note_kfet && cd /var/www/note_kfet | ||||
|     $ sudo chown www-data:www-data . | ||||
|     $ sudo chmod g+rwx . | ||||
|     $ sudo -u www-data git clone git@gitlab.crans.org:bde/nk20.git . | ||||
|     ``` | ||||
|  | ||||
|         $ cd /var/www/ | ||||
|         $ mkdir note_kfet | ||||
|         $ sudo chown www-data:www-data note_kfet | ||||
|         $ sudo usermod -a -G www-data $USER | ||||
|         $ sudo chmod g+ws note_kfet | ||||
|         $ sudo setfacl -d -m "g::rwx" note_kfet | ||||
|         $ cd note_kfet | ||||
|         $ git clone git@gitlab.crans.org:bde/nk20.git . | ||||
| 3. Environment Virtuel | ||||
|  | ||||
|    À la racine du projet: | ||||
| 3.  **Création d'un environment de travail Python décorrélé du système.** | ||||
|  | ||||
|     ```bash | ||||
|     $ python3 -m venv env | ||||
|     $ source env/bin/activate | ||||
|     (env)$ pip3 install -r requirements/base.txt | ||||
|         (env)$ pip3 install -r requirements/prod.txt # uniquement en prod, nécessite un base postgres | ||||
|         (env)$ deactivate | ||||
|     (env)$ pip3 install -r requirements/prod.txt  # uniquement en prod, nécessite une base postgres | ||||
|     (env)$ deactivate  # sortir de l'environnement | ||||
|     ``` | ||||
|  | ||||
| 4. uwsgi  et Nginx | ||||
|  | ||||
|     Un exemple de conf est disponible : | ||||
| 4.  **Pour configurer UWSGI et NGINX**, des exemples de conf sont disponibles. | ||||
|     **_Modifier le fichier pour être en accord avec le reste de votre config_** | ||||
|  | ||||
|     ```bash | ||||
|     $ cp nginx_note.conf_example nginx_note.conf | ||||
|  | ||||
|     ***Modifier le fichier pour être en accord avec le reste de votre config*** | ||||
|  | ||||
|     On utilise uwsgi et Nginx pour gérer le coté serveur : | ||||
|  | ||||
|     $ sudo ln -sf /var/www/note_kfet/nginx_note.conf /etc/nginx/sites-enabled/ | ||||
|     ``` | ||||
|  | ||||
|     Si l'on a un emperor (plusieurs instance uwsgi): | ||||
|  | ||||
|     ```bash | ||||
|     $ sudo ln -sf /var/www/note_kfet/uwsgi_note.ini /etc/uwsgi/sites/ | ||||
|     ``` | ||||
|  | ||||
|     Sinon: | ||||
|     Sinon si on est dans le cas habituel : | ||||
|  | ||||
|     ```bash | ||||
|     $ sudo ln -sf /var/www/note_kfet/uwsgi_note.ini /etc/uwsgi/apps-enabled/ | ||||
|     ``` | ||||
|    | ||||
|     Le touch-reload est activé par défault, pour redémarrer la note il suffit donc de faire `touch uwsgi_note.ini`. | ||||
|  | ||||
| 5. Base de données | ||||
|  | ||||
|     En prod on utilise postgresql.  | ||||
| 5.  **Base de données.** En production on utilise PostgreSQL.  | ||||
|  | ||||
|         $ sudo apt-get install postgresql postgresql-contrib libpq-dev | ||||
|         (env)$ pip3 install psycopg2 | ||||
| @@ -135,10 +138,9 @@ On supposera pour la suite que vous utilisez Debian/Ubuntu sur un serveur tout n | ||||
|         (env)$ ./manage.py makemigrations | ||||
|         (env)$ ./manage.py migrate | ||||
|  | ||||
| 7. Enjoy | ||||
| 7.  *Enjoy \o/* | ||||
|  | ||||
|  | ||||
| ## Installer avec Docker | ||||
| ### Installation avec Docker | ||||
|  | ||||
| Il est possible de travailler sur une instance Docker. | ||||
|  | ||||
| @@ -163,11 +165,11 @@ et  mettez à jour vos variables d'environnement | ||||
|              - traefik.frontend.rule=Host:ndd.example.com | ||||
|              - traefik.port=8000 | ||||
|  | ||||
| 3. Enjoy : | ||||
| 4.  Enjoy : | ||||
|  | ||||
|         $ docker-compose up -d nk20 | ||||
|  | ||||
| ## Installer un serveur de développement | ||||
| ## Lancer un serveur de développement | ||||
|  | ||||
| Avec `./manage.py runserver` il est très rapide de mettre en place | ||||
| un serveur de développement par exemple sur son ordinateur. | ||||
|   | ||||
		Reference in New Issue
	
	Block a user