Tirage au sort de cadeaux, en famille ou entre amis.
Dans les explications ci-dessous, le répertoire d'installation désigne le répertoire du serveur Apache où sera installé tkdo.
- pour la construction du package d'installation :
- docker et son plugin compose installés
- utilisateur membre du groupe
docker
(pour exécuterdocker
etdocker compose
sanssudo
)
- serveur :
- php 7.3 avec les extensions
dom
,mbstring
,pdo_mysql
etzip
- Apache avec le module
mod_rewrite
- l'utilisation de fichiers
.htaccess
dans le répertoire d'installation est autorisée (à défaut, copier le contenu de .htaccess dans une directiveDirectory
dans la configuration Apache) - le répertoire d'installation est le répertoire racine de l'hôte Apache
(à défaut, ajouter
--base-href /prefixe/du/repertoire/cible
à la fin du scriptbuild
dans package.json) - l'hôte Apache est accessible en HTTPS (à défaut, commenter la règle de redirection vers HTTPS dans .htaccess)
- php 7.3 avec les extensions
Plusieurs variables d'environnement permettent de configurer Tkdo (voir le fichier .env pour la liste de ces variables).
Tout ou partie de ces variables peuvent être redéfinies dans un fichier api/.env.prod
,
qui sera automatiquement intégré au package d'installation à l'étape suivante,
et/ou directement dans les variables d'environnement du serveur Apache.
./apache-pack
Décompresser dans le répertoire d'installation l'archive tkdo-v*.tar.gz
obtenue.
Attention : certains hébergeurs proposent des fonctions d'upload d'archives les décompressant automatiquement, mais qui peuvent parfois tronquer les noms de fichiers si l'arborescence est trop profonde (
api/vendor
par exemple). Télécharger dans ce cas plutôt l'archive en tant que simple fichier, et la décompresser manuellement.
Puis, depuis le répertoire d'installation :
$ cd api
$ ./composer.phar doctrine -- orm:generate-proxies
Processing entity "xxx"
[...]
Proxy classes generated to "/home/lgnby/www/tkdo/api/var/doctrine/proxy"
$ ./composer.phar doctrine -- migrations:migrate
[...]
------------------------
++ finished in xxxms
++ used xxxM memory
++ xxx migrations executed
++ xxx sql queries
L'envoi des notifications périodiques par mail nécessite la configuration d'une tâche planifiée
pour exécuter api/bin/notif-quotidienne.php
une fois par jour, à l'heure de votre choix.
Par exemple :
0 6 * * * php /var/www/api/bin/notif-quotidienne.php
Créer le compte admin
en spécifiant son e-mail
(à défaut, si l'option --admin-email
est omise,
l'e-mail utilisé sera admin@host
où host
est le nom d'hôte de TKDO_BASE_URI
) :
$ ./composer.phar console -- fixtures --admin-email admin@host
Initialisation ou réinitialisation de la base de données (production)...
xxx créés.
[...]
OK
Ce compte administrateur (identifiant admin
, mot de passe admin
)
vous permettra de vous connecter à l'application pour créer ensuite d'autres comptes.
Pour des raisons de sécurité, il est fortement recommandé
de changer le mot de passe du compte admin
dès la fin de l'installation.
Note 1 : certains hébergeurs ne proposent pas d'accès ssh. Utiliser dans ce cas des outils comme Web Console pour accéder à la console.
Note 2 : sur certains hébergements, le binaire php disponible dans le path est un binaire CGI et/ou en PHP 5. Utiliser dans ce cas
phpinfo()
pour déterminer le chemin du binaire PHP 7 utilisé pour l'exécution des pages Web, et exécuter directementbin/doctrine.php
etbin/console.php
avec le binaire CLI correpondant (/usr/local/php7.3/bin/php
par exemple) au lieu d'utiliser les scripts composer correspondants. L'utilisation de l'option-n
peut aussi être nécessaire pour éviter l'utilisation du php.ini du serveur, si ce dernier désactive par exemple l'affichage des exceptions.
Une fois connecté à l'application avec un compte administrateur, la page d'administration vous permet :
- de gérer les comptes utilisateurs (création, consultation, modification, réinitialisation du mot de passe)
- de gérer les occasions (création, consultation, modification, ajout de participants, tirages)