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écuterdockeretdocker composesanssudo)
- serveur :
- php 7.3 avec les extensions
dom,mbstring,pdo_mysqletzip - Apache avec le module
mod_rewrite - l'utilisation de fichiers
.htaccessdans le répertoire d'installation est autorisée (à défaut, copier le contenu de .htaccess dans une directiveDirectorydans 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 scriptbuilddans 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-packDé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/vendorpar 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 queriesL'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.phpCré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.
[...]
OKCe 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.phpetbin/console.phpavec le binaire CLI correpondant (/usr/local/php7.3/bin/phppar exemple) au lieu d'utiliser les scripts composer correspondants. L'utilisation de l'option-npeut 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)