README.rst 5.26 KB
Newer Older
Feth Arezki's avatar
Feth Arezki committed
1
==========
2
enDI
Feth Arezki's avatar
Feth Arezki committed
3
==========
tonthon's avatar
tonthon committed
4

heliot's avatar
heliot committed
5 6
Un progiciel de gestion pour les CAE (Coopérative d'activité et d'emploi), 
les collectifs d'entrepreneurs indépendants.
tonthon's avatar
tonthon committed
7

Feth Arezki's avatar
Feth Arezki committed
8 9
Licence
-------
10

heliot's avatar
heliot committed
11 12
Ceci est un logiciel libre, pour les conditions d'accès, d'utilisation, 
de copie et d'exploitation, voir LICENSE.txt
13

Feth Arezki's avatar
Feth Arezki committed
14 15
Nouvelles fonctionnalités/Anomalies
-----------------------------------
16

17
Site officiel : http://endi.coop
18

heliot's avatar
heliot committed
19 20 21
L'essentiel du développement est réalisé sur financement de Coopérer pour 
entreprendre. Si vous souhaitez plus d'information, une offre d'hébergement,
vous pouvez les contacter info@cooperer.coop
22

Feth Arezki's avatar
Feth Arezki committed
23 24
Si vous rencontrez un bogue, ou avez une idée de fonctionnalité, il est possible
de signaler cela aux développeurs directement ou en utilisant le système de
Jocelyn's avatar
Jocelyn committed
25
tickets de GitLab (framagit).
26
Exception : pour les bogues de sécurité, merci d'écrire un courriel à votre administrateur.
tonthon's avatar
tonthon committed
27

28 29
Instructions pour l'installation du logiciel
--------------------------------------------
30

31
Installation des paquets (nécessaire pour l'installation dans un environnement virtuel):
32

33 34
Sous Debian:

35 36
.. code-block:: console

37
    apt-get install virtualenvwrapper libmariadbclient-dev build-essential libjpeg-dev libfreetype6 libfreetype6-dev libssl-dev libxml2-dev zlib1g-dev python-mysqldb redis-server libxslt1-dev
38

39

40 41 42 43
Sous Fedora:

.. code-block:: console

G.Tjebbes's avatar
G.Tjebbes committed
44
    dnf install virtualenvwrapper mardiadb-devel python-devel libxslt-devel libxml2-devel libtiff-devel libjpeg-devel libzip-devel freetype-devel lcms2-devel libwebp-devel tcl-devel tk-devel gcc redis-server
45

46 47 48 49
Création d'un environnement virtuel Python.

.. code-block:: console

50
    mkvirtualenv endi
51 52 53 54 55

Téléchargement et installation de l'application

.. code-block:: console

56 57
    git clone https://framagit.org/endi/endi.git
    cd endi
58 59 60
    python setup.py install
    cp development.ini.sample development.ini

61 62 63 64 65 66 67 68
Téléchargement des dépendances JS (requiert nodejs)

.. code-block:: console
   npm --prefix js_sources install

Compilation du code JS::

.. code-block:: console
69
   make prodjs devjs
70

71 72 73
Éditer le fichier development.ini et configurer votre logiciel (Accès à la base
de données, différents répertoires de ressources statiques ...).

74 75 76 77
Initialiser la base de données

.. code-block:: console

78
    endi-admin development.ini syncdb
79

Jocelyn's avatar
Jocelyn committed
80 81 82 83 84 85 86 87
.. note::

    L'application synchronise automatiquement les modèles de données.

Puis créer un compte administrateur

.. code-block:: console

88
    endi-admin development.ini useradd [--user=<user>] [--pwd=<password>] [--firstname=<firstname>] [--lastname=<lastname>] [--group=<group>] [--email=<email>]
Jocelyn's avatar
Jocelyn committed
89

90 91 92 93 94 95 96
N.B : pour un administrateur, préciser

.. code-block:: console

    --group=admin


G.Tjebbes's avatar
G.Tjebbes committed
97
Puis lancer l'application web
98 99 100 101 102

.. code-block:: console

    pserve development.ini

G.Tjebbes's avatar
G.Tjebbes committed
103 104
Éxécution des tâches asynchrones
---------------------------------
G.Tjebbes's avatar
G.Tjebbes committed
105

G.Tjebbes's avatar
G.Tjebbes committed
106 107 108 109
Un service de tâches asynchrones basé sur celery et redis est en charge de
l'éxécution des tâches les plus longues.

Voir :
110
https://framagit.org/endi/endi_celery
G.Tjebbes's avatar
G.Tjebbes committed
111

G.Tjebbes's avatar
G.Tjebbes committed
112
pour plus d'informations.
G.Tjebbes's avatar
G.Tjebbes committed
113

114 115 116
Mise à jour
-----------

117
La mise à jour d'enDI s'effectue en plusieurs temps (il est préférable de
118 119 120 121 122 123
sauvegarder vos données avant de lancer les commandes suivantes)

Mise à jour de la structure de données

.. code-block:: console

124
    endi-migrate app.ini upgrade
125 126 127 128 129

Configuration des données par défaut dans la base de données

.. code-block:: console

130
    endi-admin app.ini syncdb
131

132 133 134 135 136 137 138 139 140 141
Met à jour les dépendances JS

.. code-block:: console

    npm --prefix js_sources install

Compile le JavaScript (sur une machine de dév.) :

.. code-block:: console

142
    make prodjs devjs
143 144 145 146 147 148

OU (sur une machine de production) :

.. code-block:: console

    make prodjs
149

150 151 152
Développement
-------------

153
Dans un contexte de développement, installez enDI avec les commandes
154 155 156 157
suivantes

.. code-block:: console

158 159
    git clone https://framagit.org/endi/endi.git
    cd endi
160
    pip install pyramid_debugtoolbar
161
    # Ici on install enDI en mode developpement
162
    python setup.py develop
163 164
    # Même si ça peut sembler bizarre, on peut également avoir besoin de faire :
    pip install -r requirements.txt
165
    cp development.ini.sample development.ini
166 167
    npm --prefix js_sources install
    make devjs
168 169


170 171 172 173 174 175 176 177 178 179 180
Base de données avec Vagrant
^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Pour héberger la base de données dans une machine virtuelle jettable et
reproductible sans toucher à la machine hôte, une configuration Vagrant est
disponible. Pour l'utiliser :

.. code-block:: console

    apt install virtualbox vagrant

181

182 183 184 185 186 187 188
Et pour lancer cette machine :

.. code-block:: console

    vagrant up

Un serveur MariaDB est alors installé et configuré (port local 13306 de l'hôte
189
local, base: endi, login: endi, password: endi).
190 191 192 193 194 195 196 197 198 199 200

Des configurations adaptées à vagrant sont commentées dans ``test.ini.sample`` et
``developement.ini.sample``.

Au besoin, la base peut être remise à zéro avec :

.. code-block:: console

    vagrant provision


201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218
Tests
------

Installer les dépendances de test

.. code-block:: console

    pip install -r test_requirements.txt

Copier et personaliser le fichier de configuration

.. code-block:: console
    cp test.ini.sample test.ini

Lancer les tests

.. code-block:: console

219
   py.test endi/tests
lluc's avatar
lluc committed
220 221 222 223 224
   
Documentation utilisateur
--------------------------

Le guide d'utilisation se trouve à cette adresse :
heliot's avatar
heliot committed
225
https://doc.endi.coop