Tekiens.net ✨

Modifié par Kevin FRICK le 2024/11/05 18:55

Le projet

Dans la continuité des sites eistiens.net, tekiens.net se veut être une plateforme au service des associations et de la vie étudiante de CY tech.
La première version du site propose une page pour chaque association ainsi qu'une page regroupant les événements publiés par celles-ci.

Le site est actuellement géré par Louis Grandel et Kévin Frick mais une nouvelle équipe projet devrait arriver à la fin d'année 2024.

Hébergement

Tekiens.net est hébergé sur la vm tekiens-prod.prod.infra.atilla.org sur Laika dans:

cd /srv/tekiens-net/

La base de donnée est dans la vm mysql de bill (mysq-prod) sous le nom tekiens_net

Développement

Le développement est actuellement géré par l'équipe de développement de tekiens.net qui que vous pouvez retrouver sur le serveur discord du projet.

Il existe 2 dépôt git du projet, un hébergé sur le gitlab ATILLA et un autre ici

Le site utilise Flask pour son back-end, VueJS pour son front-end et sa base de donnée en SQL (MySQL ou MariaDB).

Intégration (CI)

La CI fonctionne actuellement avec la CI du GitLab d'Atilla, et donc avec les GitLab runners.

Ses différentes étapes sont définis dans le fichier .gitlab.yml du projet : actuellement le projet est juste linté puis conteurisé et rapidement testé.

Déploiement (CD)

Il n'y a aucune étape de déploiement automatisé (c'est manuel 😵), il faudrait le rajouter dans les étapes du .gitlab-ci.yml.

Normalement le build de l'application devrait être fait automatiquement mais pour le faire à la main voici les commandes à faire dans la VM :

cd /srv/tekiens-net

# mise à jour du repo
git pull

# script installant les dépendances manquantes
./run.sh install

# script pour automatiser le build du front
./run.sh build

# redémarrage du serveur HTTP (pour mettre à jour le back)
systemctl reload apache2

Maintenance

Chaque association a un compte sur le site et pour le moment le seul moyen de changer un mot de passe ou de créer une association est de lancer les scripts éponymes directement sur la VM.
Impossible de récupérer les mots de passe directement en BDD ceux-ci sont chiffrés avec bcrypt, donc si un mot de passe est perdu il faut en recréer un.

Les scripts sont dans le dossier :

cd /srv/tekiens-net/back

 Pour créer une association:

./create_asso.py <asso_id> <password>

Pour changer le mot de passe d'une association:

./change_password.py -p <password> -i <id_association>