8539 sujets

Développement web côté serveur, CMS

Salut les dev,

Je suis en formation, je viens de débuter mon stage : optimisation d'un site (Symfony 4) déjà existant réalisé par des stagiaires précédents.
Je n'ai pas leur git, j'ai juste accès au serveur, depuis lequel j'ai tout téléchargé. Une fois le projet dans mon dossier Wamp, il ne s'affiche pas dans le navigateur (connexion échouée) ; il doit y avoir des config à effectuer pour le récupérer en développement, mais lesquelles ? J'ai changé le .env ("APP_ENV=dev") mais ça ne semble pas suffire.
Egalement, comment puis je récupérer la base de données avec toutes ses données, depuis ce même serveur ?

Au plaisir/soulagement de vous lire Smiley lol
Modérateur
Hello,

*je ne connais pas Symfony, mais la marche à suivre serait (je peux me tromper):
- Sur l'application, tu dois avoir un fichier de config (.env de mémoire). Tu remplaces la config par la tienne (fais une sauvegarde du fichier avant de modifier Smiley cligne
- sur le serveur distant, tu fais un dump de la base de données :
scp te sera utile.
si c'est mysql

mysqldump -u utilisateur -pmot_de_passe database_name > database_name.sql

si c'est postgres

pg_dump database_name > database_name.sql

- sur ton app en local, il faudra surement faire un migrate
- sur ta base de données en local, tu importes ton dump (les données venant du serveur)
Modifié par niuxe (22 Jun 2022 - 04:02)
Salut

Il ne suffit pas de "telecharger" le projet.

Il faut installer SYMFONY aussi, faire un petit composer install enssuite
Modérateur
JENCAL a écrit :
Salut

Il ne suffit pas de "telecharger" le projet.

Il faut installer SYMFONY aussi, faire un petit composer install enssuite


bien sûr. Le truc évident que j'ai zappé dans ma description Smiley confused
Merci pour vos réponses Smiley ravi

niuxe :
Ma configuration du fichier .env s'est résumé à ceci :
- modif de la ligne APP_ENV= prod en APP_ENV =dev
- renseignement du nom de la base de données et des accès correspondants dans la ligne DATABASE_URL (dans mon cas : DATABASE_URL="mysql://root@127.0.0.1:3306/db_majoliebase?serverVersion=5.7&charset=utf8mb4")
.

Ensuite, ayant compris qu'on n'importe pas la base de données depuis le serveur, mais qu'on la recréée en local et qu'on importe ensuite dedans les données par un export de données de la base originale (située dans le serveur), je me suis exécuté, donc :
- depuis le serveur distant (IONOS me concernant), export de la base de données en production. Ca m'a généré un fichier SQL contenant tout le script nécessaire à la recréation de la base.
- dans PHPMyAdmin, sur la page d'accueil, onglet "Importer"->charger le SQL précédemment généré. La base est recréée avec toutes ses données enregistrées lors de l'export.
Et ça c'est cool.
Il faut ensuite renseigner le nom de la base dans la ligne DATABASE_URL dans le .env. pour la relier au code du site.

Ce qui correspond donc en gros à ce que tu as dit, à ceci près que je n'ai pas fait de migration, et que je n'ai pas utilisé les instructions que tu m'as indiqué (c'était bien des commandes à exécuter dans le dossier concerné?).
Je n'ai pas trop capté à quoi servait scp (j'ai encore assez de mal avait la doc toute sèche de ce genre)?

JENCAL :
J'ai pas tout dit dans mon post initial, j'ai déjà fait du Symfony il y a quelques temps donc j'ai déjà tout l'environnement, Wamp pour les services liés au serveur ; je n'ai pas créé ce projet donc je n'ai pas exécuté les commandes composer de base, elles sont déjà en place.
Le composer install je m'en suis déjà servi précédemment : j'avais cloné un projet Git dans lequel, à l'ouverture dans l'IDE, il manquait le dossier vendor(pas encore trop bien capté le rôle exact du vendor et surtout pourquoi on peut le recréer sans problème à volonté), que j'ai donc recréé avec la commande composer install, puis le projet était fonctionnel.

Dans mon cas présent, après avoir chargé tous les fichiers depuis le serveur, le vendor était bien présent donc je n'ai pas eu recours à composer install . Est ce nécessaire quand même d'après toi, et si oui ça sert à quoi ?

En tout cas à l'heure actuelle j'en suis là : après avoir fait ce que je viens d'écrire, mon problème du post initial est en partie résolu : j'ai récupéré les données de la base du site en prod, et je peux afficher mon projet dans le navigateur via le serveur localhost:8000 (serveur natif PHP activé depuis la ligne de commande grâce à php -S localhost:8000 dans le dossier concerné) - parceque le site recherchait la base de données et qu'il la eue -, MAIS ca ne fonctionne pas sous localhost:8080 (serveur Wamp), pas plus qu'en Virtual Host, ni sous localhost:5500 ( serveur GoLive de VSCode). Je suis content quand même là, je peux commencer à avancer un peu mon dev mais il doit y avoir un problème avec ces trucs de serveurs car mes autres projets tournent sous Wamp sans souci habituellement.


Merci vraiment de votre attention, si vous avez un retour à faire je suis preneur. Je continuerai de dire comment je m'en sors pour les futurs newbies de passage. Peace.
Modérateur
21t0r01 a écrit :

Je n'ai pas trop capté à quoi servait scp (j'ai encore assez de mal avait la doc toute sèche de ce genre)?


C'est lorsque tu te connectes à distance. Il suffit de lire le manuel
commandlinux.com a écrit :

...
DESCRIPTION
scp copies files between hosts on a network. It uses ssh(1) for data transfer, and uses the same authentication and provides the same security as ssh(1). scp will ask for passwords or passphrases if they are needed for authentication.
...

Modifié par niuxe (27 Jun 2022 - 01:15)
21t0r01 a écrit :
Merci pour vos réponses Smiley ravi


JENCAL :
J'ai pas tout dit dans mon post initial, j'ai déjà fait du Symfony il y a quelques temps donc j'ai déjà tout l'environnement, Wamp pour les services liés au serveur ; je n'ai pas créé ce projet donc je n'ai pas exécuté les commandes composer de base, elles sont déjà en place.
Le composer install je m'en suis déjà servi précédemment : j'avais cloné un projet Git dans lequel, à l'ouverture dans l'IDE, il manquait le dossier vendor(pas encore trop bien capté le rôle exact du vendor et surtout pourquoi on peut le recréer sans problème à volonté), que j'ai donc recréé avec la commande composer install, puis le projet était fonctionnel.

Dans mon cas présent, après avoir chargé tous les fichiers depuis le serveur, le vendor était bien présent donc je n'ai pas eu recours à composer install . Est ce nécessaire quand même d'après toi, et si oui ça sert à quoi ?


Salut salut

a titre d'exemple :

on est plusieurs dev sur un projet PHP.
Mon collegue ajoute une nouvelle librairie et l'utilise.
Il fait sa merge request pour merge dans master.
Moi je récupère master pour commencer un nouveau dev.
Je dois OBLIGATOIREMENT faire un "composer install".
Sinon je n'aurais pas sa nouvelle lib et l'appli partira en erreur.

Composer install te permet d'installer les dépendances de ton projets. Dans /vendor, tu as Doctrine, tu as Symfony, tu as Flex, et bien d'autre choses.

Dans ton cas le vendor est présent dans les sources que tu as télécharger, ce qui n'est pas forcement une bonne solution. mais même s'ils sont présents tu ne sais pas s'ils sont vraiment à jour. autant faire un composer install ça ne mange pas de pain (en plus ça te clear le cache etc..)
Modifié par JENCAL (27 Jun 2022 - 10:12)