Code source wiki de Tekiens.net

Version 3.1 par Kevin FRICK le 2024/11/05 18:42

Masquer les derniers auteurs
Louis GRANDEL 1.1 1 {{box cssClass="floatinginfobox" title="**Contents**"}}
2 {{toc/}}
3 {{/box}}
4
5 = Le projet =
6
7 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.
Kevin FRICK 3.1 8 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.
Louis GRANDEL 1.1 9
10 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.
11
12 == Hébergement ==
13
Louis GRANDEL 1.10 14 Tekiens.net est hébergé sur la vm tekiens-prod.prod.infra.atilla.org sur [[Laika>>Infrastructure.Serveurs_physiques.Laika.WebHome]] dans:
Louis GRANDEL 1.1 15
16 {{code language="bash"}}
17 cd /srv/tekiens-net/
18 {{/code}}
19
20 (% class="wikigeneratedid" %)
21 La base de donnée est dans la vm mysql de bill (mysq-prod) sous le nom tekiens_net
22
23 == Développement ==
24
Kevin FRICK 3.1 25 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.
Louis GRANDEL 1.1 26
27 Il existe 2 dépôt git du projet, un hébergé sur le [[gitlab ATILLA>>https://gitlab.atilla.org/tekiens-net/tekiens-net/]] et un autre [[ici>>https://gitlab.com/ptlc8/tekiens-net]]
28
Kevin FRICK 3.1 29 Le site utilise [[Flask>>https://flask.palletsprojects.com]] pour son back-end, [[VueJS>>https://vuejs.org/]] pour son front-end et sa base de donnée en SQL (MySQL ou MariaDB).
Louis GRANDEL 1.1 30
Kevin FRICK 3.1 31 === Intégration (CI) ===
Louis GRANDEL 1.1 32
Kevin FRICK 3.1 33 La CI fonctionne actuellement avec la CI du GitLab d'Atilla, et donc avec les gitlab runners (dans la VM gitlab-runners-prod.atilla.org).
Louis GRANDEL 1.1 34
Kevin FRICK 3.1 35 Ses différentes étapes sont définis dans le fichier [[.gitlab.yml du projet>>https://gitlab.atilla.org/tekiens-net/tekiens-net/-/blob/master/.gitlab-ci.yml?ref_type=heads]] : actuellement le projet est juste linté puis conteurisé et rapidement testé.
Louis GRANDEL 1.1 36
Kevin FRICK 3.1 37 === Déploiement (CD) ===
Louis GRANDEL 1.1 38
Kevin FRICK 3.1 39 Il n'y a aucune étape de déploiement automatisé (c'est manuel 😵), il faudrait le rajouter dans les étapes du .gitlab-ci.yml.
40
41 Normalement le build de l'application devrait être fait automatiquement mais pour le faire à la main voici les commandes à faire dans la VM :
42
Louis GRANDEL 1.1 43 {{code language="bash"}}
44 cd /srv/tekiens-net
45
Kevin FRICK 3.1 46 # mise à jour du repo
Louis GRANDEL 1.1 47 git pull
48
Kevin FRICK 3.1 49 # script installant les dépendances manquantes
Louis GRANDEL 1.1 50 ./run.sh install
Kevin FRICK 3.1 51
52 # script pour automatiser le build du front
Louis GRANDEL 1.1 53 ./run.sh build
54
Kevin FRICK 3.1 55 # redémarrage du serveur HTTP (pour mettre à jour le back)
Louis GRANDEL 1.1 56 systemctl reload apache2
57 {{/code}}
58
59 == Maintenance ==
60
61 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.
62 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.
63
64 Les scripts sont dans le dossier :
65
66 {{code language="bash"}}
67 cd /srv/tekiens-net/back
68
69 {{/code}}
70
71 Pour créer une association:
72
73 {{code language="bash"}}
74 ./create_asso.py <asso_id> <password>
75 {{/code}}
76
77 Pour changer le mot de passe d'une association:
78
79 {{code language="bash"}}
80 ./change_password.py -p <password> -i <id_association>
81 {{/code}}