Je vais essayer d'être le plus explicite possible.
J'ai un site que je n'ai pas développé et que j'administre depuis le début en ligne avec un code d'accès.
Maintenant pour corriger le site de ses erreurs de jeunesse, il faut que je me plonge dans l'univers très intéressant des outils de programmation qui ont structuré le site (MySql, phpmyadmin, etc.).
Dans un premier temps j'ai récupéré avec Filezilla tout le contenu du site (répertoires et fichiers).
Pour l'instant en passant par l'hébergeur, je peux effectivement accéder au phpmyadmin et corriger certains champs de certaines tables.
Maintenant, j'aimerais améliorer le site en local (serveur sur mon pc).
J'ai donc installé Wamp.
Mais maintenant je ne vois pas comment retrouver tout ce qui existe déjà (quand je passe par mon hébergeur) en local?
Existe t il un processus pour recopier tout ce qui est déjà en cours quand je passe par mon hébergeur?
J'ai Dreamweaver cs3. Néanmoins, pour l'instant je ne l'utilise pas encore puisque dreamweaver me demande de créer un préfixe d'Url.
Bref, j'ai tout le contenu du site avec ses fichiers .php, etc, etc (par le FTP), j'ai l'accès au phpmyadmin avec mon hébergeur quand je suis en ligne, mais je ne vois pas comment retrouver l'architecture en local sur mon pc.
Récupérer les bases de données existantes chez un hébergeur - à condition que ce soit des bases MySQL - et les transférer en local.
Chez votre hébergeur, lancer PhpMyAdmin Nota : Suivant les hébergeurs, cela ne s'appelle pas toujours PhpMyAdmin ; ce peut être Gestion des bases de données, Administration SQL, etc.
Vérifier dans l'Accueil (Home - Petite Maison) -- Jeu de caractères pour MySQL : UTF-8 Unicode (utf8) -- Interclassement pour la connexion MySQL : utf8_unicode_ci
Choisir la Base de données à exporter (Mysql et information_schema sont deux bases indispensables au fonctionnement de MySql et auxquelles on ne doit pas toucher).
Onglet Exporter
- Cadre de gauche Exporter -- Choisir la ou les tables à exporter -- Choisir le format : Pour une sauvegarde permettant une éventuelle future restauration, le format SQL est le plus approprié. De plus, c'est un format purement texte qui peut donc être édité et éventuellement découpé en plusieurs parties.
- Cadre de droite Options -- Commentaires mis en en-tête : vide, mais on peut mettre un commentaire -- Pas coché : Utiliser le mode transactionnel -- Pas coché : Désactiver la vérification des clés étrangères -- Mode de compatibilité SQL : NONE
- Cadre Structure : Cocher Structure -- Coché : Ajouter DROP TABLE / VIEW / PROCEDURE / FUNCTION -- Coché : Ajouter IF NOT EXISTS -- Coché : Inclure la valeur courante de l'AUTO_INCREMENT -- Coché : Protéger les noms des tables et des champs par des "`" -- Pas coché : Ajouter CREATE PROCEDURE / FUNCTION
- Cadre Inclure sous forme de commentaires -- Au choix, coché ou non coché : Dates de création/modification/vérification
- Cadre Données : Cocher Données -- Coché : Insertions complètes -- Coché : Insertions étendues -- Taille maximum de la requête générée : 50000 -- Pas coché : Insertions avec délais (DELAYED) -- Pas coché : Ignorer les erreurs de doublons (INSERT IGNORE) -- Coché : Utiliser l'hexadecimal pour les BLOB -- Type d'exportation : INSERT
- Cocher Transmettre -- Modèle de nom de fichier (1): __DB__ -- Compression : Valider aucune
Valider le bouton Exécuter puis choisir l'endroit de la sauvegarde et eventuellement le nom du fichier. Personellement : nom_base_(préfixe_tables ou nom_table ou totale)_année-mois-jour.sql
Voilà, votre base (ou vos tables) sont sauvegardées.
Le fichier étant au format texte, avec un éditeur de texte (Notepad suffit), vous pourrez éditer le fichier, modifier des valeurs (Attention, quand même à ce que vous faites...), extraire et sauvegarder une seule table, etc.
--- Restauration ---
Lancer Wampserver Lancer PhpMyadmin
Avant la restauration, il sera peut-être nécessaire de créer la base de données à restaurer si elle n'existe pas.
Choisir la Base de données à restaurer (Même pour une seule table de cette base) Onglet Importer - À l'aide du bouton Parcourir, choisir le fichier précédemment sauvegardé. - Jeu de caractères du fichier : utf8 - Coché ou pas coché : Importation partielle -- Nombre d'enregistrements (requêtes) à ignorer à partir du début : 0 - Format du fichier d'importation : SQL - Options -- Mode de compatibilité SQL : NONE - Valider le bouton Exécuter
Attendre la fin des opérations et le message de bonne excution du genre : L'importation s'est terminée avec succès, xxx requêtes exécutées.
Pour le site en local, vous dites avoir récupéré (Téléchargé) tous les dossiers et fichiers du site avec Filezilla.
Si votre site, chez l"hébergeur, se nommait mon_site.hébergeur.fr, vous créez un dossier wamp\www\mon_site\ dans lequel vous mettez les dossiers et fichiers précédemment téléchargés et avec la même arborescence que sur le site.
Vous modifiez le fichier WINDOWS\system32\drivers\etc\hosts pour avoir la ligne :
127.0.0.1 localhost mon_site
mon_site étant le nom du dossier wamp\www\mon_site\
Vous modifiez le fichier wamp\bin\apache\apache2.2.11\conf\extra\httpd-vhosts.conf pour avoir : (Adaptez les chemins en fonction de votre installation)
encore merci pour les infos, mais là, je bute sur l'importation de ma base de données (serveur de l'hébergeur)vers mon pc.
Vous mentionnez: Avant la restauration, il sera peut-être nécessaire de créer la base de données à restaurer si elle n'existe pas.
effectivement, la base de données n'existe pas encore, mais si je dois la créer, faut il que je crée les 9 tables telles qu'elles sont présentes sur le serveur de l'hébergeur? ou est ce simplement un fichier à créer et nommer "mon_site" par exemple, et ensuite procéder à l'importation?
de toute évidence il faut créer la base de données (que ce soit avec ou sans les 9 tables qui constituent la base de données) mais quelles informations cocher/décocher/renseigner? J'avoue que c'est complexe!
il y a d'abord un tableau nommé "base de données" avec 2 lignes à cocher ou non: information schema mysql
puis "activer les statistiques"
et enfin en guise de dernière ligne:
créer une base de données:
un champ vide + un champ avec un ascenseur débutant par interclassement et un bouton créer
Merci encore pour votre aide.
bien à vous,
Mark
ps:
2 autres questions que j'allais oublier:
a/ Dans le cas où il faille créer les 9 tables, doit on aussi créer les "enregistrements"?
b/ J'ai créé le fichier sql de type nom_base_(préfixe_tables ou nom_table ou totale)_année-mois-jour.sql comme vous le conseillez, et au final le fichier créé fait 141 ko.
Est ce une taille normale? Comme j'ai pas encore finalisé la restauration, je ne sais pas si c'est correct ou non.
Modifie 1 fois. Derniere modification le 21/01/2009 à 15:27 par markp.
Lancer Wampserver Lancer PhpMyAdmin Cliquer (à gauche) sur Home (Petite Maison)
Dans la partie gauche il y a les bases de données donc information_schema et mysql auxquelles il ne faut JAMAIS toucher.
Partie droite, sous MySql Localhost, Créer une base de données : - Vous mettez le même nom que celui de la base chez votre hébergeur - Pour interclassement choisir latin1_general_ci (À moins que vous ne soyez certain que c'était autre chose chez votre hébergeur).
Bien vérifier que dessous, pour Interclassement pour le connexion Mysql il y a : utf8_unicode_ci
Valider le bouron Créer Votre base a été créée, la sélectionner dans la partie droite puis valider l'onglet Importer et suivre la procédure d'importation décrite dans ma précédente contribution.
N'ayez aucune crainte, tant que vous gardez bien « au chaud » votre fichier de sauvegarde SQL, on pourra revenir en arrière.
J'ai bien créé sur [localhost] la base de données "monsite" telle qu'elle est nommée à l'identique lorsque je suis connecté sur le serveur de mon hébergeur.
Donc cette base de données ("en local" ne comporte aucune des 9 tables telles qu'elles sont présentes chez l'hébergeur.
Ensuite j'ai importé le fichier créé en suivant la procédure d'exportation, fichier d'extension "sql" que j'ai nommé: monsite_2009_01_21 qui fait 141 ko.
Lorsque j'ai cliqué sur le bouton "créer", l'action a généré un message d'erreur:
ERREUR
requête SQL -- -- Base de données: 'monsite' -- CREATE DATABASE 'atomiclechat' DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;
Après plusieurs essais, toujours le même message d'erreur précédemment décrit.
J'ai tenté d'importer directement le fichier sql nommé "monsite.sql" sans créer en amont la base de données "vide de toutes tables" (au nombre de 9 comme celles présentes sur le serveur de l'hébergeur).
Cette "façon" de procéder entraine la création de la base de données portant donc le meme nom que le fichier sql.
Dans un premier temps la base de données ne comporte aucune table....
La base de données se créé "automatiquement" (elle apparait à gauche: monsite (0), le "0" pour zéro table) mais le message d'erreur référencé # 1064 qui est généré semble logique si en dessous du nom de la base créée (monsite(0)) est mentionné:
"aucune table n'a été trouvée dans cette base.
Donc au regard de cette mention "aucune table n'a été......." le message d'erreur # 1064 a pour texte: You have an error in your sql syntax; check the manual that corresponds to your mysql server version for the right syntax to use near ''Mod&e' at line 19
Et c'est sur la table "produit" que le processus d'importation semble s'être bloqué. L'importation s'est arrêtée au 158 ème enregistrement sur les 229 enregistrements présents dans la table produit (tels qu'ils sont présents dans la table "stockée" sur le serveur de l'hébergeur).
mémo: voir en pied d'email la liste des noms de tables, merci.
Dansun second temps (après avoir cliqué sur le bouton "retour" la base de données a cette fois ci QUATRE tables sur les NEUF.
Lorsque je clique sur le champ retour (en bas à droite du message d'erreur), la base de données apparait à gauche MAIS avec seulement 4 tables sur les 9 au total.
Le message vu plus haut "aucune table n'a été trouvée dans cette base" semble étonnant puisque cette "façon de faire" créé automatiquement la base de données avec, certes, seulement 4 tables sur 9, mais les 4 tables sont tout de même bien physiquement présentes.
Alors faut il "creuser" du côté de la syntaxe sql compte tenu de l'erreur #1064?
Ou faudrait il créer la base de données "monsite" (vide de toute table) puis créer les 9 tables ("vides" et ensuite finaliser par la procédure d'importation pour "remplir" les 9 tables?
Ou enfin, créer les tables manquantes (5 à 9) et relancer l'importation?
Pas évident tout ca! Eh bé!
Merci d'avance pour vos lumières car pour l'instant ma matière n'est pas très "grise" en ce domaine très technique!
Bien à vous
Mark
ps:
les 9 tables sur le serveur de l'hébergeur sont nommées comme suit:
categorie commande consulte produit avec 229 enregistrements publicite temail user user_commande ventes
En local, les 4 tables qui ont été créées sur les 9 sont les suivantes:
categorie commande consulte produit avec 158 enregistrements
Modifie 3 fois. Derniere modification le 22/01/2009 à 09:04 par markp.
En suivant « à la lettre » la procédure d'exportation telle que je l'ai décrite dans ma première réponse, la ligne :
CREATE DATABASE 'atomiclechat' DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;
n'aurait JAMAIS du être présente dans le fichier de sauvegarde SQL. Ou alors c'est que la version PhpMyAdmin de votre hébergeur n'est pas standard ou a été modifiée ou que vous n'avez pas suivi « à la lettre » mes explications.
Les premières lignes « actives », hors commentaires (lignes commençant par --) devraient être :
DROP TABLE IF EXISTS `categorie`; CREATE TABLE IF NOT EXISTS `categorie` (
D'autre part, vous parlez d'un bouton « Créer » lors de la procédure d'importation, or il s'agit du bouton « Exécuter ». Est-ce un lapsus ou une erreur ?
Comme, à priori, votre fichier SQL contient l'instruction de création de la base de données, vous allez procéder comme suit :
Sous Wampserver, lancez PhpMyAdmin choisissez la base que vous aviez précédemment créée : atomiclechat, puis Onglet Supprimer, puis OK. Revenir à l'accueil (Home, Petite Maison), puis Onglet Importer Choisir votre fichier par le bouton Parcourir Bouton Exécuter.
Merci pour vous être penché sur l'importation pour laquelle je rencontre des difficultés.
Avec votre dernier message j'ai résolu le problème.
En définitive vous étiez très clair sur la procédure, je dirai même plus 'avec une précision d'orfèvre'!
Car effectivement en suivant à la lettre votre méthodologie, la création s'est faite sans aucun souci.
Maintenant il faut que je comprenne comment articuler "wamp", les données downloadées via ftp, et dreamweaver pour voir comment on gère en local le site notamment pour l'améliorer/modifier.
Bien à vous,
Et merci encore pour votre contribution!
Mark
ps: vous êtes très pédagogue car savez au fil de l'échange identifier les points sur lesquels le "newbie" bute.
markp a écrit: ------------------------------------------------------- > En définitive vous étiez très clair sur la procédure, je dirai même plus 'avec une précision d'orfèvre' ! Ce sont de « bons » restes de plusieurs années de Contrôleur Qualité Principal dans la maintenance aéronautique et de rédaction de « Procédures ».
D'autant plus que l'aéronautique est un secteur de pointe qui nécessite des contrôles qualité incessants!
Maintenant il me reste à comprendre comment on articule le serveur en local (géré par wamp), avec le logiciel dreamweaver dans une optique d'amélioration des tables et du contenu du site.
Si vous aviez des liens Internet où il serait fait en quelque sorte une présentation "généraliste", je suis preneur!
Enfin, certainement que d'autres questions "wamp" seront à venir d'ici peu. ;-)
Je pose pour principe - sauf cas exceptionnel dûment explicité - de ne donner que des solutions que j'ai pu valider ou essayer. Or, je n'utilise pas Dreamweaver, ni aucun autre environnement du même style et je ne saurais pas vous aider sur ce point. N'y aurait-il pas des « forums » sur le site de l'éditeur de Dreamweaver.
Oui, effectivement, il y a des pistes à explorer en combinant par exemple les mots clés "wamp" et "dreamweaver" lorsque l'on fait une recherche dans Google.
Si je peux me permettre, puis je savoir quels sont les outils logiciels que vous utilisez si l'environnement de type "Dreamweaver" ou approchant n'est pas le vôtre?¨
Pour mes sites, dont le principal [aviatechno.free.fr] tout est développé « à la main » à l'aide de :
- Éditeur de texte UltraEdit (Français) pour l'écriture HTML, PHP et les fichiers de style CSS.
- Presse-Papier multiple Clipmate pour les codes HTML et PHP récurrents.
- SmartDraw Pro pour les schémas électriques.
- Paint Shop Pro (Français) pour le traitement des images.
- Wampserver paramétré au « plus près possible » de l'environnement de l'hébergeur.
- Firefox navigateur Internet - Version Française, avec les extensions : * Web Developer - Voir contours, nom des cadres, etc. Voir et éditer les styles, etc. * HTML Validator - Vérifie le code HTML à la volée... * IE Tab - Voir la page avec le moteur Internet Explorer dans un onglet de Firefox.