[Aide] Je me noie entre FTP, SQL, localhost et PHP...
Résolu/Fermé
Shize815
Messages postés
5
Date d'inscription
vendredi 3 octobre 2014
Statut
Membre
Dernière intervention
30 septembre 2017
-
3 oct. 2014 à 16:24
Celinette - 11 juil. 2021 à 00:32
Celinette - 11 juil. 2021 à 00:32
A voir également:
- Ftp //localhost
- Localhost:8080 - Forum Webmastering
- Localhost:8888 ✓ - Forum Réseaux sociaux
- Ftp localhost ✓ - Forum Réseau
- Ftp //192.168.l.2121 ✓ - Forum Réseaux sociaux
- Ftp - Forum Réseau
3 réponses
Nhay
Messages postés
838
Date d'inscription
vendredi 2 novembre 2012
Statut
Membre
Dernière intervention
17 décembre 2015
126
3 oct. 2014 à 19:07
3 oct. 2014 à 19:07
Salut, salut !
Je vais essayé de t'aider, n'hésite pas à m'indiquer si tu a besoin de plus d'éclaircissement sur certains points.
En gros, pour que le code PHP puisse s'exécuter, il faut qu'un serveur s'en occupe.
Ton Patron à donc un Serveur quelque part, pour pouvoir lire/modifier les fichiers qui sont dessus (Tes pages php, html, ...) tu doit passer par un logiciel FTP (File Transfert Protocole).
Pour développer en Local, tu est obligé d'installer un logiciel pour simuler le comportement d'un serveur (easyPHP sert à ça, tout comme Wamp).
(Bon, en local pas besoin de FTP vue que tout est sur ton PC).
L'adresse pour accéder au site est localhost
EsayPhp te permet d'avoir une base de donnée, et PHPmyadmin te permet de la gérer.
Le fichier .sql te permet d'importer la base de donnée de ton Patron.
Tu doit donc :
- Installer EsayPHP pour avoir un "serveur" local.
- Récupérer les fichiers du serveur FTP de ton Patron et les mettent dans le bon dossier d'easyPHP (Fais gaffe à pas supprimer les fichiers du FTP, ton patron ne serait pas content)
- Créer une base de donnée, et y importer le(s) fichier(s) sql.
Il faudra ensuite changer les connexion à la base de donnée (Ou le fichier de config) pour qu'il se connecte à la tienne.
Change ensuite dans la base de donnée le mot de passe de l'admin (Via PhpMyAdmin)
Par contre, ton Patron de fait bosser le Week-End ? C'pa très classe ça.
Je vais essayé de t'aider, n'hésite pas à m'indiquer si tu a besoin de plus d'éclaircissement sur certains points.
En gros, pour que le code PHP puisse s'exécuter, il faut qu'un serveur s'en occupe.
Ton Patron à donc un Serveur quelque part, pour pouvoir lire/modifier les fichiers qui sont dessus (Tes pages php, html, ...) tu doit passer par un logiciel FTP (File Transfert Protocole).
Pour développer en Local, tu est obligé d'installer un logiciel pour simuler le comportement d'un serveur (easyPHP sert à ça, tout comme Wamp).
(Bon, en local pas besoin de FTP vue que tout est sur ton PC).
L'adresse pour accéder au site est localhost
EsayPhp te permet d'avoir une base de donnée, et PHPmyadmin te permet de la gérer.
Le fichier .sql te permet d'importer la base de donnée de ton Patron.
Tu doit donc :
- Installer EsayPHP pour avoir un "serveur" local.
- Récupérer les fichiers du serveur FTP de ton Patron et les mettent dans le bon dossier d'easyPHP (Fais gaffe à pas supprimer les fichiers du FTP, ton patron ne serait pas content)
- Créer une base de donnée, et y importer le(s) fichier(s) sql.
Il faudra ensuite changer les connexion à la base de donnée (Ou le fichier de config) pour qu'il se connecte à la tienne.
Change ensuite dans la base de donnée le mot de passe de l'admin (Via PhpMyAdmin)
Par contre, ton Patron de fait bosser le Week-End ? C'pa très classe ça.
JooS
Messages postés
2468
Date d'inscription
mardi 22 janvier 2008
Statut
Membre
Dernière intervention
8 juin 2016
228
Modifié par JooS le 5/10/2014 à 23:54
Modifié par JooS le 5/10/2014 à 23:54
Salut,
Tout a été bien expliqué par Nhay, j'explique autrement !
Alors, avant d'avoir appris à coder en PHP, tu aurais du comprendre son fonctionnement !
PHP est un langage back-end, c'est à dire qu'il s'exécute coté serveur, pas comme le langage C ou C++ qui s'exécute sur ta propre machine (PC) !
Autre chose, ce n'est pas un langage compilé !
Lorsque tu programmes en C, après avoir terminer ton application, tu compiles ton code source afin qu'il soit traduit en code (instructions) machine (binaire), et grâce à l'exécutable, tu pourras accéder à ton application !
En revanche, avec PHP, lorsque tu termines ton application, il n'y a aucune phase de pré-complication, tu enregistres tes fichiers, et les instructions restent en langage moderne, et puisqu'il n'y a pas de pré-compilation, alors il n'y a pas d'exécutable !
Comment accéder à ton application, en exécutant directement les pages (scripts) voulues.
Donc si je tape "www.commentcamarche.net", le serveur (Apache) recherche la page "index" (par défaut), si il ne la trouve pas, alors il renvoie une erreur 404, sinon, il vérifie le type de fichier, si c'est ".html", alors il renvoie directement cette page au navigateur, sinon, si c'est ".php", alors il charge le module PHP (compilateur) en mémoire, et puis à chaque fois qu'il trouve la balise ouvrante "<?php" il passe la main au compilateur PHP, alors le compilateur compile et exécute la suite d'instructions jusqu'à qu'il rencontre la balise fermante "?>", donc il rend la main au serveur, et cette opération se répète jusqu'à la fin du fichier.
Une fois la fin du fichier atteinte, un résultat qui a été généré sera renvoyé au navigateur, ce résultat ne contiendra forcement aucune instruction PHP, mais généralement que du HTML, CSS et Javascript.
Donc si tu as tout compris, alors tu as bien saisi que pour le bon fonctionnement de toute ses opérations, on a besoin d'un serveur Apache pour interpréter les requêtes HTTP, un module (compilateur) PHP pour exécuter les pages PHP.
Maintenant, si ton application PHP doit "à un certain moment" interagir avec une base de donnée (via MySQL par exemple), alors il faut également un serveur de base de données.
Donc PHP envoie la requête SQL au serveur de base de donnée ou plus précisément au gestionnaire de base de données (MySQL par exemple), MySQL exécute la requête SQL et retourne un résultat, PHP récupère ce résultat ...
EasyPHP et Wampserver sont deux logiciels qui installent tous ces outils (Apache, PHP, MySQL) au complet sur ta machine, d'ailleurs le mot WAMP veut dire (Windows, Apache, MySQL, PHP).
Donc comme ça a été dit plus haut, tu dois installer l'un de ces logiciels afin de simuler le comportement d'un serveur web sur ta machine.
Pour le répertoire, c'est généralement "www", moi je travaille sous Wampserver, donc je ne peux le confirmer.
Concernant Filezilla, tu ne vas rien faire avec, il ne va te servir que pour télécharger les fichiers PHP (et autres) du serveur de ton patron, et pourquoi pas le jour ou tu aura terminer ton application et que ton patron t'aura donné le feu vert, tu pourras la déployer sur son serveur afin qu'elle soit accessible à travers son nom de domaine.
Comment créer la base de donnée, et ben si tu as tout compris, tu dois envoyer une requête SQL à MySQL, MySQL va exécuter cette requête et te retourner un résultat.
Maintenant, si tu ne maîtrise pas le langage SQL, alors tu peux créer ta base de donnée à l'aide de phpMyAdmin, c'est une application web qui te facilite la création, modification, suppression de tout ce qui est relié à une base de données, mais aussi l'IMPORTATION et l'exportation de bases de données (ou autres) sous forme de fichier SQL (ou autre types de fichier).
PhpMyAdmin s'installe aussi avec EasyPHP ou Wampserver.
Voila, à un certain moment, on a dit que PHP doit envoyé la requête SQL à MySQL, et MySQL se chargera de l'exécuter, mais c'est deux entités sont indépendante, donc pour que PHP puisse communiquer avec MySQL, il doit connaitre son adresse, le nom d'utilisateur qu'on lui attribué, et le mot de passe.
C'est pour ça qu'il t'a dit (plus haut) de changer la configuration initiale.
Puisque tu as exécuter EasyPHP sur ton PC, alors le serveur Apache, ainsi que le serveur de base de données sont tous installés sur ton PC, donc ils sont tous accessible via l'adresse local de ton PC (127.0.0.1) ou localhost, et puisque Apache doit traduire des requêtes HTTP afin de comprendre quelle page tu veux afficher, alors on doit y accéder via le protocole HTTP, or on ajoute seulement le http "http://localhost".
Donc dans ton nouveau fichier de configuration de base de données, tu auras :
Adresse du serveur (host) : "localhost"
Utilisateur : root (par défaut)
Mot de passe : (Aucun, par défaut)
et biensure le nom de ta base de données (si tu veux le changer) que tu va créer grâce à phpMyAdmin (en important le fichier SQL que ton patron t'a envoyé).
Bon courage.
Mettez en résolu quand c'est résolu ...
Tout a été bien expliqué par Nhay, j'explique autrement !
Alors, avant d'avoir appris à coder en PHP, tu aurais du comprendre son fonctionnement !
PHP est un langage back-end, c'est à dire qu'il s'exécute coté serveur, pas comme le langage C ou C++ qui s'exécute sur ta propre machine (PC) !
Autre chose, ce n'est pas un langage compilé !
Lorsque tu programmes en C, après avoir terminer ton application, tu compiles ton code source afin qu'il soit traduit en code (instructions) machine (binaire), et grâce à l'exécutable, tu pourras accéder à ton application !
En revanche, avec PHP, lorsque tu termines ton application, il n'y a aucune phase de pré-complication, tu enregistres tes fichiers, et les instructions restent en langage moderne, et puisqu'il n'y a pas de pré-compilation, alors il n'y a pas d'exécutable !
Comment accéder à ton application, en exécutant directement les pages (scripts) voulues.
Donc si je tape "www.commentcamarche.net", le serveur (Apache) recherche la page "index" (par défaut), si il ne la trouve pas, alors il renvoie une erreur 404, sinon, il vérifie le type de fichier, si c'est ".html", alors il renvoie directement cette page au navigateur, sinon, si c'est ".php", alors il charge le module PHP (compilateur) en mémoire, et puis à chaque fois qu'il trouve la balise ouvrante "<?php" il passe la main au compilateur PHP, alors le compilateur compile et exécute la suite d'instructions jusqu'à qu'il rencontre la balise fermante "?>", donc il rend la main au serveur, et cette opération se répète jusqu'à la fin du fichier.
Une fois la fin du fichier atteinte, un résultat qui a été généré sera renvoyé au navigateur, ce résultat ne contiendra forcement aucune instruction PHP, mais généralement que du HTML, CSS et Javascript.
Donc si tu as tout compris, alors tu as bien saisi que pour le bon fonctionnement de toute ses opérations, on a besoin d'un serveur Apache pour interpréter les requêtes HTTP, un module (compilateur) PHP pour exécuter les pages PHP.
Maintenant, si ton application PHP doit "à un certain moment" interagir avec une base de donnée (via MySQL par exemple), alors il faut également un serveur de base de données.
Donc PHP envoie la requête SQL au serveur de base de donnée ou plus précisément au gestionnaire de base de données (MySQL par exemple), MySQL exécute la requête SQL et retourne un résultat, PHP récupère ce résultat ...
EasyPHP et Wampserver sont deux logiciels qui installent tous ces outils (Apache, PHP, MySQL) au complet sur ta machine, d'ailleurs le mot WAMP veut dire (Windows, Apache, MySQL, PHP).
Donc comme ça a été dit plus haut, tu dois installer l'un de ces logiciels afin de simuler le comportement d'un serveur web sur ta machine.
Pour le répertoire, c'est généralement "www", moi je travaille sous Wampserver, donc je ne peux le confirmer.
Concernant Filezilla, tu ne vas rien faire avec, il ne va te servir que pour télécharger les fichiers PHP (et autres) du serveur de ton patron, et pourquoi pas le jour ou tu aura terminer ton application et que ton patron t'aura donné le feu vert, tu pourras la déployer sur son serveur afin qu'elle soit accessible à travers son nom de domaine.
Comment créer la base de donnée, et ben si tu as tout compris, tu dois envoyer une requête SQL à MySQL, MySQL va exécuter cette requête et te retourner un résultat.
Maintenant, si tu ne maîtrise pas le langage SQL, alors tu peux créer ta base de donnée à l'aide de phpMyAdmin, c'est une application web qui te facilite la création, modification, suppression de tout ce qui est relié à une base de données, mais aussi l'IMPORTATION et l'exportation de bases de données (ou autres) sous forme de fichier SQL (ou autre types de fichier).
PhpMyAdmin s'installe aussi avec EasyPHP ou Wampserver.
Voila, à un certain moment, on a dit que PHP doit envoyé la requête SQL à MySQL, et MySQL se chargera de l'exécuter, mais c'est deux entités sont indépendante, donc pour que PHP puisse communiquer avec MySQL, il doit connaitre son adresse, le nom d'utilisateur qu'on lui attribué, et le mot de passe.
C'est pour ça qu'il t'a dit (plus haut) de changer la configuration initiale.
Puisque tu as exécuter EasyPHP sur ton PC, alors le serveur Apache, ainsi que le serveur de base de données sont tous installés sur ton PC, donc ils sont tous accessible via l'adresse local de ton PC (127.0.0.1) ou localhost, et puisque Apache doit traduire des requêtes HTTP afin de comprendre quelle page tu veux afficher, alors on doit y accéder via le protocole HTTP, or on ajoute seulement le http "http://localhost".
Donc dans ton nouveau fichier de configuration de base de données, tu auras :
Adresse du serveur (host) : "localhost"
Utilisateur : root (par défaut)
Mot de passe : (Aucun, par défaut)
et biensure le nom de ta base de données (si tu veux le changer) que tu va créer grâce à phpMyAdmin (en important le fichier SQL que ton patron t'a envoyé).
Bon courage.
Mettez en résolu quand c'est résolu ...
Shize815
Messages postés
5
Date d'inscription
vendredi 3 octobre 2014
Statut
Membre
Dernière intervention
30 septembre 2017
6 oct. 2014 à 11:05
6 oct. 2014 à 11:05
Merci beaucoup c'est très très complet j'ose à peine imaginer le temps qu'il t'a fallu pour écrire tout ça !
Je vais essayer de m'en sortir aujourd'hui (mais je suis en arrêt maladie) et demain à mon retour au travail, et si j'y arrive je classe ce sujet en résolu.
En tout cas merci mille fois de votre dévotion et de votre temps les gars :)
Je vais essayer de m'en sortir aujourd'hui (mais je suis en arrêt maladie) et demain à mon retour au travail, et si j'y arrive je classe ce sujet en résolu.
En tout cas merci mille fois de votre dévotion et de votre temps les gars :)
Shize815
Messages postés
5
Date d'inscription
vendredi 3 octobre 2014
Statut
Membre
Dernière intervention
30 septembre 2017
7 oct. 2014 à 10:37
7 oct. 2014 à 10:37
Voilà alors j'ai installé easyPHP j'ai mis les fichiersde mon patron téléchargés avec Filezilla dans le dossier "project" du coup quand je vais dans "web local', section "projet", il y est, sauf que quand je clique dessus j=ça m'affiche ça :
Link to database cannot be established: SQLSTATE[HY000] [1045] Access denied for user 'mobilier'@'localhost' (using password: YES)
bon par contre j'ai réussi à importer sa bdd mais je trouve pas le fichier de config...
Bref, une demi-victoire en somme !
Désolé d'être aussi lent à la détente ^^' je suis lent à comprendre mais une fois que j'ai compris, j'ai compris, ça reste et c'est limpide !
Link to database cannot be established: SQLSTATE[HY000] [1045] Access denied for user 'mobilier'@'localhost' (using password: YES)
bon par contre j'ai réussi à importer sa bdd mais je trouve pas le fichier de config...
Bref, une demi-victoire en somme !
Désolé d'être aussi lent à la détente ^^' je suis lent à comprendre mais une fois que j'ai compris, j'ai compris, ça reste et c'est limpide !
JooS
Messages postés
2468
Date d'inscription
mardi 22 janvier 2008
Statut
Membre
Dernière intervention
8 juin 2016
228
7 oct. 2014 à 12:02
7 oct. 2014 à 12:02
Et ben il faut que tu recherches le fichier de configuration.
Essaye de trouver la ligne et le fichier ou l'erreur est engendré, puis tu pourra remonter à la source (là ou les paramètres de connexion à ta BD sont définies), sinon au pire dés cas, tu demandes à ton patron si il s'y connait (mais je pense que ça fera une mauvaise impression car c'est facile de trouver le fichier de config).
Sinon tu peux faire une recherches via notepadd++, tu lui fournit le répertoire de ton projet, et le mot clé "mobilier", et il t'affichera tout les fichiers ou ce mot clé est présent, et tu n'aura qu'à reconnaître le bon fichier.
Essaye de trouver la ligne et le fichier ou l'erreur est engendré, puis tu pourra remonter à la source (là ou les paramètres de connexion à ta BD sont définies), sinon au pire dés cas, tu demandes à ton patron si il s'y connait (mais je pense que ça fera une mauvaise impression car c'est facile de trouver le fichier de config).
Sinon tu peux faire une recherches via notepadd++, tu lui fournit le répertoire de ton projet, et le mot clé "mobilier", et il t'affichera tout les fichiers ou ce mot clé est présent, et tu n'aura qu'à reconnaître le bon fichier.
mpmp93
Messages postés
6648
Date d'inscription
mercredi 13 avril 2011
Statut
Membre
Dernière intervention
28 septembre 2015
1 339
3 oct. 2014 à 20:38
3 oct. 2014 à 20:38
Bonjour,
Vous dites: "....pour récupérer son FTP (je sais toujours pas ce que c'est dans la pratique, je saisis pas la différence entre ça et une base de donnée SQL"
C'est pas grave. Vous êtes en stage. Donc vous apprenez..... Et c'est en stage que vous devez l'apprendre. Et si vous savez pas, vous demandez en stage.
A+
Vous dites: "....pour récupérer son FTP (je sais toujours pas ce que c'est dans la pratique, je saisis pas la différence entre ça et une base de donnée SQL"
C'est pas grave. Vous êtes en stage. Donc vous apprenez..... Et c'est en stage que vous devez l'apprendre. Et si vous savez pas, vous demandez en stage.
A+
5 oct. 2014 à 22:28
Du coup quelques questions subsistent :
Comment savoir dans quel dossier d'easyPHP mettre les fichiers récupérés en FTP ? Dans les dossiers "project" quand on ouvre l'onglet "développer en local" (ou équivalent je sais plus bien), ça le fait ?
Comment créer une base de donnée je devrais m'en sortir mais comment importer la sienne ensuite ? Est-ce que sa localisation sur mon DD a une importance ?
Mais ça a la rigueur je pense que je peux trouver, Google est mon ami !
La vraie précision dont j'aurais besoin en revanche porte sur ça :
"Il faudra ensuite changer les connexion à la base de donnée (Ou le fichier de config) pour qu'il se connecte à la tienne.
Change ensuite dans la base de donnée le mot de passe de l'admin (Via PhpMyAdmin)"
Je n'ai pas bien compris ce que je dois changer et dans quel but...? Je dois changer les requêtes du site pour qu'il pioche dans ma bdd au lieu de celle en ligne ?
Et pourquoi changer le mdp ?
Merci en tout cas c'est très gentil d'aider un débutant noyé comme ça ^^'
Et oui en plus il devait m'aider a lancer le site en local sur ma machine mais il a préféré partir en weekend a 12h30... Tant pis ! Haha
6 oct. 2014 à 08:27
Pour le moment le code est configuré pour ce connecté à la vrai base de donnée, tu doit donc changer les paramètres de connexion (utilisés lors des mysql_connect) pour allez vers ta base en local,(JooS a bien expliqué ça dans son message), la plupart du temps les gens utilise un fichier de configuration pour stocker les données de la BDD, si il n'y a pas tu devra changer tout les mysql_connect.
J'ai supposé que tu n'avais pas le mot de passe admin, si tu l'a tant mieux, sinon, il faudra bien le changer pour pouvoir te connecter à l'interface du site.
PS : Lis bien le message de JooS si ce n'est pas fais , il est plus complet que moi et peut donc grandement t'aider.
11 juil. 2021 à 00:32