CapsHil / Projet_Web_2017_ESIEA

Apache License 2.0
1 stars 3 forks source link

Need README for backend #5

Closed CapsHil closed 7 years ago

CapsHil commented 7 years ago

Please can you write a readme/how-to to deploy, start & use your backend part. Thanks !

Taiki-San commented 7 years ago

Thinking about it, I think once a couple of directory are created, the database set up and running and the web server set up, there isn't anything to do to "start" the database. I can list what to do/write a small script but not sure if setting loading MySQL and configuring the web server fall in the scope of the backend deployment.

Taiki-San commented 7 years ago

I think this script could be used as a basis for the setup https://github.com/lj2007331/lnmp Config will probably need some tweaking but I don't have any handy way to run the Docker container, and not quite sure how to configure one anyway :/

Rude-Monkey commented 7 years ago

@CapsHil is going to handle the container config. We just need to know how to get your app up and running on a bare metal configuration before we try to build a container.

Taiki-San commented 7 years ago

The thing is that I'm not sure where the boundary is between the ridiculously light configuration needed to run the actual backend and the layers of configurations to get its stack (web server redirecting requests to PHP with a working MySQL database) running...

The backend itself only need a MySQL database running, with the tables in https://github.com/CapsHil/Projet_Web_2017_ESIEA/blob/dev/backend/db_schema.sql loaded and the login details in https://github.com/CapsHil/Projet_Web_2017_ESIEA/blob/dev/backend/config.inc.php. The PHP code I wrote is pretty much stateless and doesn't need anything specific to "start".

Rude-Monkey commented 7 years ago

@Taiki-San @Bougainville Please consider us others as two-year-old kids who need a refresher course about php apps.

We just want to know how to run the backend :

Taiki-San commented 7 years ago

Sure.

LAMP (Linux Apache MySQL PHP) is an extremely common and well documented setup but if you want to use a different web server, feel free to do so. Ping me if you want me to find a tutorial on how/what to install and configure to get a basic setup working.

I hope this was helpful, ping me if you want me to lend a hand.

CapsHil commented 7 years ago

[URGENT] @Taiki-San @Bougainville Désolé pour la remarque, mais ceci n'est absolument pas RESTfull... Un exemple de path REST :

Les arguments doivent être passé via le BODY HTTP sous format JSON (de préférence mais pas obligatoire, est clairement entrain de s'imposer comme la norme polymorphe).

Vous avez un script pour seeder la BDD lors de l'install ?

Comment j'importe le schema de la BDD dans MySQL ?

Taiki-San commented 7 years ago

Arf, j'avais ouvert #4 pour qu'on voit ça plus tôt... Je vais voir comment forcer PHP à prendre une forme plus REST. En particulier, pour ce qui est des arguments, ça risque d'être funky.

Pour la BDD, il suffit d'importer le fichier .sql dans MySQL (https://stackoverflow.com/questions/17666249/how-to-import-an-sql-file-using-the-command-line-in-mysql) pour avoir le schéma. Le fichier config.inc.php aura à être mis à jour avec les identifiants.

Pour ce qui est de seeder la base, n'ayant pas le jeu de test (on ne va pas mettre des fichiers .mp3 sur GitHub), il n'y a pas vraiment grand chose à mettre dedans. On peut créer quelques utilisateurs si nécessaire mais ça sera sûrement plus simple à faire depuis l'UI et enlève des étapes à la mise en prod.

CapsHil commented 7 years ago

Ça c'est cadeau pour faire du REST ;) https://github.com/mevdschee/php-crud-api

Je vais me débrouiller pour MySQL le but étant de n'avoir absolument aucune action à réaliser manuellement lors du first build.

Taiki-San commented 7 years ago

Eh, on est tombé sur le même chose :P J'étais en train de partir sur https://www.leaseweb.com/labs/2015/10/creating-a-simple-rest-api-in-php/ pour n'avoir à remplacer que l'interprétation des arguments et les path/nomenclature.

Le problème est que je ne veux pas exposer tout ma BDD, seulement mes APIs un peu plus haut niveau, à moins qu'on se soit mal compris.

CapsHil commented 7 years ago

Fait comme tu préfères, tant qu'on est plus obligé de parametriser l'URL :P

Taiki-San commented 7 years ago

Vendu, on est dessus :P

Taiki-San commented 7 years ago

Bon, l'API est à jour, je met à jour la documentation et on test tout ça

CapsHil commented 7 years ago

Nice ! Je suis entrain de terminer le deploiement et la config de votre stack sous Docker

Taiki-San commented 7 years ago

Okay. Par contre, il va falloir qu'on discute de comment on s'organise pour l'upload du fichier lors de la création de chanson (si on garde la feature)

CapsHil commented 7 years ago

L'upload me parait pertinent pour le moment, on verra ca une fois qu'on pourra déjà jouer correctement ;)

Taiki-San commented 7 years ago

Entendu :) La documentation est à jour.