Pour ce projet, nous devons réaliser individuellement un site présentant les données de notre choix. Ces données, contrairement à la SAÉ105, doivent être stockées dans une base de donnés MySQL pour être manipulable bien plus facilement qu'en JSON.
Il doit aussi avoir un "back office" permettant à un éventuel admin de gérer les données facilement sans avoir à utiliser PhpMyAdmin ou le shell.
Enfin, la base de données doit contenir deux tables reliées entre elles. Dans mon cas, il s'agit de SCP ainsi que des utilisateurs ayant écrit ou traduit les publications sur le site de http://fondationscp.wikidot.com/. Celles-ci doivent avoir au moins six (6) champs (sans compter l'ID) dans l'une, et trois (3) dans l'autre.
Le site est hébergé sur un VPS à l'adresse http://mmi23f23.sae203.ovh, sous un nom de domaine géré par l'établissement.
Le server web utilisé est The Apache HTTP Server Project, alias httpd.
La configuration du site est disponible dans le dossier apache/.
Pour build et compiler le site sur mon VPS, j'utilise gulp afin de minifier mon CSS avec cssnano, mon JS avec UglifyJS (⚠️ Attention aux astigmates et aux épileptiques photosensibles, le site d'UglifyJS est vieux et pas du tout accessible. ⚠️). Enfin, il me sert à minifier mon PHP/HTML et à déployer mon site avec sshpass et scp.
Pour déployer vous-même mon projet sur votre propre VPS, suivez les étapes suivantes :
Vérifiez vos versions respectives de node, npm et npx :
node --version
npm --version
npx --version
Si l'un d'entre eux n'est pas installé, suivez les instructions ici.
Installez le cli de gulp
npm install --global gulp-cli
Vérifiez si vous avez git d'installé
git --version
Sinon, suivez ces instructions ici.
Clonez le repo git
git clone https://github.com/movva-gpu/SAE203.git
cd SAE203
Installez les dépendances du projet
npm install
Configurez une base de données MySql puis importez la
mysql nomDeLaBase < sql/sae203Base.sql
Créez une configuration en suivant l'exemple de conf/example
Enfin, déployez le site
gulp