Exploitation
Commandes usuelles
Démarrer la plateforme :
./dc up –d
Controller l’état de la plateforme, avec docker-compose et avec docker :
./dc ps
docker ps
Consulter les logs d’un conteneur :
./dc logs phpfastcgi
Arrêter la plateforme :
./dc stop
Arrêter la plateforme et effacer les conteneurs et l’ensemble des données associées (!) :
./dc down
Gestion des mots de passe utilisateurs
Format
Optimouv stocke un hash bcrypt des mots de passe dans la base de données MySQL.
Changer un mot de passe sur Optimouv
- Se connecter à Optimouv avec le compte admin.
- Accéder à la section « Administration » > « Gestion des utilisateurs ».
- Editer un compte utilisateur.
- Saisir un nouveau mot de passe et confirmer.
Changer un mot de passe en ligne de commande
Se connecter au conteneur phpfastcgi :
./dc exec phpfastcgi bash
Aller dans le dossier de l’application :
cd /optimouv
Changer le mot de passe :
php app/console fos:user:change-password USERLOGIN
(...)
exit
Augmenter la capacité de calcul
De base l’application Optimouv dispose de 1 job de calcul de meilleur lieu de rencontre
et 1 job d’optimisation des poules.
Ainsi Optimouv sollicite jusqu’à 2 cœurs de la machine simultanément pour ces tâches de calcul.
Si on souhaite effectuer plus de calculs en parallèle afin de servir plus d’utilisateurs simultanément
et que les ressources de la machine le permettent, on peut instancier plus de jobs de calcul.
C’est la commande scale
de docker-compose que permet de le faire.
L’exemple ci-dessous permet de « redimensionner » à la volée afin d’obtenir 4 jobs d’optimisation des poules et 2 jobs de calcul du meilleur lieu de rencontre :
./dc scale worker_optimisations=4 worker_bestplace=2
Les jobs d’optimisation des poules sont particulièrement gourmands en CPU. Si on souhaite servir 10 utilisateurs simultanément sur cette fonctionnalité, un point de départ consiste à disposer d’une machine / VM disposant d’au moins 12 cœurs : 1 cœur pour chaque job et au moins de 2 cœurs pour le reste de l’application. Un suivi des indicateurs système doit permettre de contrôler l’utilisation du CPU et de la RAM, et ainsi vérifier la bonne adéquation de la capacité de l’infrastructure vis à vis de son utilisation.
Réinitialiser la base de données
Une fois l’application déployée / en service, si le besoin de réinitialiser la base de données se présente, il convient de suivre l’une des deux méthodes indiquées ci-dessous : soit par phpMyAdmin ou soit par Docker.
Avec phpMyAdmin
Récupérer le fichier init.sql présent dans docker/mysql/
, puis dans phpMyAdmin :
- Effectuer une sauvegarde de la BDD actuelle : sélectionner la BDD « optimouv » > onglet « Export » > Go.
- Renommer la BDD : sélectionner la BDD « optimouv » > onglet « Operations » > section « Rename database to » > compléter le nouveau nom et laisser coché « Adjust privileges ».
- Recréer une nouvelle BDD dans l’état initiale : sélectionner « Server: mysql » en haut de la page > onglet « Import » > sélectionner le fichier init.sql > Go.
Enfin changer le mot de passe du compte admin (comme décrit dans la section « Sécurisation compte administrateur Optimouv »).
Avec Docker
Arrêter le conteneur mysql
et le supprimer :
./dc stop mysql
./dc rm mysql
Relancer lancer la plateforme :
./dc up –d
Enfin changer le mot de passe du compte admin (comme décrit dans la section « Sécurisation compte administrateur Optimouv »).