# Je me met au PHP... aie!



## Moovance (7 Septembre 2005)

Bonjour à tous !

Je développe depuis des années des sites en html et je réalise qu'il est plus que temps que j'apprenne à les faire en Php. Alors c'est décidé je m'y mets !
Je viens de récupérer pas mal de tutoriaux pour apprendre mais j'avoue que la confusion vient de s'installer quant à l'installation nécessaire à faire sur mon Mac pour pouvoir visualiser tout ça !

J'ai downloader un package nommé "entropy-php-5.0.4" mais concrètement je ne vois rien de nouveau nul part, j'ai lu qu'il fallait "activer" Php dans le système du Mac par le Terminal et aussi faire je ne sais qu'elle modification pour accéder à la racine (Root) de l'ordinateur ???!!!

Je suis perdue !   

Quelqu'un pourrait-il m'éclairer ?! Ou m'indiquer un site ou un livre simple et accessible aux débutants ?!

Par avance je vous en remercie car j'ai vraiment envie de me lancer et d'y arriver !


----------



## [MGZ]Slug (7 Septembre 2005)

Pour debuter, rien ne vaut PHP Debutant. Ou alors la methode hardcore (generalement a eviter a moins d'avoir deja des bases de programmation dans d'autres langages) : le manuel de reference.

Enfin apres les tutoriels, ca ne fait pas de mal de feuilleter le manuel de reference.

Pour activer php sur ton Mac il te suffit d'aller dans le terminal et de taper ca :

sudo pico /etc/httpd/httpd.conf

Ensuite tu appuyes sur ctrl-w et tu tapes php4

Tu devrais alors tomber sur cette ligne

#LoadModule php4_module        libexec/httpd/libphp4.so

Il faut la transformet en

LoadModule php4_module        libexec/httpd/libphp4.so

Ensuite, tu refais une recherche sur php4 jusqu'a trouver cette ligne :

#AddModule mod_php4.c

La encore il faut virer le #.

AddModule mod_php4.c

Tu appuyes sur ctrl-x. Pico va te demander si tu veux sauvegarder les changements : tu appuyes sur Y pour lui dire que oui.

Ensuite, tu fonces dans les Preferences Systeme, onglet Partage ... Activer le partage Web.

Et hop tu as php qui fonctionne ... pas besoin d'installer quoique ce soit.

@+

Guillaume


----------



## Moovance (9 Septembre 2005)

Merci de ta réponse complète ! Et rapide !

J'ai suivit tes instructions à la lettre et j'ai modifié le terminal comme indiqué.

Par contre je ne sais pas comment vérifer si la manipulation a fonctionnée. J'ai récupéré sur un site un fichier php qui est censé me donner cette réponse mais je ne sait pas ce que je suis censée voir qui me dirait que ça marche ! e ne peux ouvrir ce fichier qu'avec Dreamweaver, je ne peux pas le visualiser dans Safari. Est-ce normal ?
J'ai l'habitude du html, je connais le code et je visualise toujours mes pages dans les navigateurs au fur et à mesure de leur création. Peut-on faire pareil avec du php?

Merci encore de m'aider juste pour cette mise en place, après c'est promis je vais apprendre le code du php !  :rose: 

Chris




			
				[MGZ]Slug a dit:
			
		

> Pour debuter, rien ne vaut PHP Debutant. Ou alors la methode hardcore (generalement a eviter a moins d'avoir deja des bases de programmation dans d'autres langages) : le manuel de reference.
> 
> Enfin apres les tutoriels, ca ne fait pas de mal de feuilleter le manuel de reference.
> 
> ...


----------



## Marc-André (9 Septembre 2005)

Le plus simple pour voir si ça fonctionne c'est comme ceci
crée un fichier avec un utilitaire de texte (j'utilise BBEdit mais textEdit fonctionne bien)

insère les information suivante:

```
<?php
phpinfo()
?>
```

Ensuite sauve le avec un nom comme "test.php" dans la racine de ton serveur web
/library/webserver/documents/dossierquetuveux/

ouvre Safari

http://localhost/dossierquetuveux/test.php

une page d'information va apparaître si php est bien installé et qu'il fonctionne.

Marc-André


----------



## Moovance (9 Septembre 2005)

Merci Marc-André pour ta réponse. 

Alors, j'en suis là :
J'ai ouvert Safari et tapé juste http://localhost et je vois tout un message qui explique l'on voit cette page parce que l'administrateur du site a modifié la configuration de ce serveur Web...

J'ai ensuite créé un dossier "testphp" dans le dossier "Sites" de l'ordinateur. Dedans j'y ai mis un fichier avec le code que tu m'as donné, enregistré avec l'extension .php (avec Dreamweaver) et là rien. J'ai un message "erreur 404"...

C'est où que j'ai raté un épisode ?!!!

Merci de me sortir de ce tourbillon infernal !   

Chris




			
				Marc-André a dit:
			
		

> Le plus simple pour voir si ça fonctionne c'est comme ceci
> crée un fichier avec un utilitaire de texte (j'utilise BBEdit mais textEdit fonctionne bien)
> 
> insère les information suivante:
> ...


----------



## geoffrey (9 Septembre 2005)

l'adresse est http://localhost:8888 (si tu n'as pas touché aux reglages de base)


----------



## Marc-André (9 Septembre 2005)

Moovance a dit:
			
		

> Merci Marc-André pour ta réponse.
> 
> Alors, j'en suis là :
> J'ai ouvert Safari et tapé juste http://localhost et je vois tout un message qui explique l'on voit cette page parce que l'administrateur du site a modifié la configuration de ce serveur Web...
> ...


Tu as installé le fichier dans Utilisateur/Site/
donc pour voir la page tu dois regarder http://localhost/~tonuser/test.php

Pour des raisons de compatibilité je te conseil de faire ton site pas dans ton utilisateur mais à dans le système.

HD/library/webserver/documents/DOSSIERdetonsite/


On lâche pas tu va y arriver!

Marc-André


----------



## Yoop (11 Septembre 2005)

MAMP il installe pas directement php, mysql et apache? ou active car c'est deja installé tout ca nan?


----------



## geoffrey (12 Septembre 2005)

MAMP installe MySQL et configure Apache et PHP.


----------



## p4bl0 (13 Septembre 2005)

geoffrey a dit:
			
		

> l'adresse est http://localhost:8888 (si tu n'as pas touché aux reglages de base)


 Ça c'est avec MAMP et je pense que c'est le mieux pour lui, MAMP.info

n'oublie pas le siteduzero.com/php/


----------



## SveDec (20 Septembre 2005)

Hello 
Je récupère le sujet car je suis dans la même situation ...
Alors j'ai tout fait comme s'était écrit, j'ai modifié mes deux lignes dans le terminal, j'ai fait un test.php avec SubEthaEdit que j'ai enregistré  dans mon répertoire Sites.
Mais quand dans Safari je tape http://localhost/~mon_nom/test.php , il m'affiche le code (ici <?php - phpinfo() - ?> (les tiret représentent des sauts de ligne)) et rien d'autre !
J'ai donc essayé de caser ça dans une page html normale, entre les deux <BODY> te </BODY>, mais là, il ne m'affiche plus rien ^^
Dnc help


----------



## SveDec (22 Septembre 2005)

Personne ? ^^
Désolé mais à cause de ça mon apprentissage est bloqué donc je suis impatient


----------



## SveDec (26 Septembre 2005)

UP !
svp, je sais que certains ici peuvent me répondre !


----------



## fissunix (26 Septembre 2005)

Hello,

Va faire un tour sur Entropy, télécharge un des paquets, par exemple la dernière version. Ensuite tu installes le paquet et tu refais un test...

C'est la manière la plus simple de t'aider   

Donne des nouvelles !

A+


----------



## SveDec (26 Septembre 2005)

> There is an outdated PHP 4 module for Mac OS X 10.2, but that one is not maintained at all and has serious security issues.


J'ai 10.2 ... J'installe quand même ?


----------



## SveDec (26 Septembre 2005)

Bonsoir 
J'ai installé le truc d'Entropy là ... le PHP Version 4.3.4 (parce qu'en fait le truc c'est que je n'avais pas installé PHP c'est ça ??), et ... ca marche ! ^^
Et si je dois utiliser du PHP 5, je me casserais le Q à upload à chaque fois ... où j'achèterais un G5 :-/
Merciiiiiiiii fissunix ^^


----------



## redelap (27 Septembre 2005)

Mamp semble, à mon avis, le plus confortable... 
je l'ai installé, il tourne sans problème..
Maintenant je me casse la tête avec les CSS, le PHP (4 et 5 installé avec Mamp), et MySQL..
pas évident... si je veux travailler sans tableau...

Pour info j'ai testé l'éditeur BorakHTML... 
et là, je demande l'avis des gourous de la prog: Est t'il bien adapté... ?

Perso, j'y vois qq avantages:
il est en Français (en british, je suis vite perdu et saturé..)
Il permet déviter de longues heures de recherche sur des erreurs de frappe (actuellement c'est l'horreur)
Il me semble complet...
les exemples de nom de balises sont des mots français.. (ça cause mieux quand on épluche)
Il est gratuit..

me trompu-je dans mon choix ?
merci..


----------



## geoffrey (27 Septembre 2005)

En general on utilise n'importe quel editeur de texte pour faire du css, php, html... pas besoin d'editeur si tu sais ce que tu fais  (perso j'utilise smultron qui est gratuit et tres bien à mon gout)

Maintenant MAMP est un bon choix qui facilite la vie


----------



## SveDec (27 Septembre 2005)

Sinon, tu as l'apparament classique SubEthaEdit 
Dites, c'est quoi exactement MAMP ?


----------



## Marc-André (27 Septembre 2005)

> MAMP signifie: Macintosh, Apache, Mysql et PHP.



et ça ce trouve ici  

Marc-André


----------



## SveDec (27 Septembre 2005)

Et si j'ai déjà installé Entropy, si j'installe MAMP ca m'avantagerais ?
Je rappelle aussi que je suis sous 10.2, donc que c'est pas forcément compatible est mon système (je n'ai rien vu sur le site) :-/


----------



## Anabys (27 Septembre 2005)

Si tu as une config fonctionnelle avec Entropy ce n'est pas la peine d'installer MAMP, à moins que tu veuilles avoir 2 config indépendantes avec des versions de Apache, PHP ou MySQL différentes.


----------



## SveDec (27 Septembre 2005)

Euh .....
Je vais ptet pas installer MAMP alors ^^
Sauf is ca me permettrais d'avoir PHP 5, ce dont je doute (avec Entropy j'ai PHP 4 je rappelle)


----------



## geoffrey (27 Septembre 2005)

Avec MAMP, tu as le choix entre PHP4 et 5


----------



## SveDec (27 Septembre 2005)

Même avec une potentielle version pour 10.2 ???


----------



## geoffrey (27 Septembre 2005)

Arf j'oublais ce petit detail 

Comme MAMP ne fait qu'activer le php deja present sur OS X, ca dependra donc si le php5 etait deja installé sur OS 10.2. Si non, y'a peut etre moyen de l'installer (avec fink peut etre ??)


----------



## SveDec (27 Septembre 2005)

J'ai rien installé du tout moi ^^
Enfin Entropy m'a apparament installé la version 4, puis j'ai enlevé les deux # dans le terminal, et c'est tout !


----------



## geoffrey (27 Septembre 2005)

Ce que je voulais dire c'est que php est présent sur ton systeme, et que des softs comme entrophy (que je ne connais pas) et MAMP ne font qu'activer (en enlevant certains commentaires -> ligne commencant par # dans les scripts).

Donc imaginons qu'il te faille absolument PHP5, et que sur OS 10.2 il ne soit pas présent par défault (comme c'est le cas sur Tiger et Panther), tu as toujours la solution de l'installer (php5).


----------



## SveDec (27 Septembre 2005)

Aah ok, je commence à comprendre ^^
Je pensais en fait qu'il fallait télécharger et installer php, puis l'activer ^^
Ben si quelqu'un sait si je peux télécharger php 5, je suis preneur :]
Enfin je dis ça, je sais même pas si c'est vraiment important de l'avoir, par rapport à php 4 ^^


----------



## Anabys (27 Septembre 2005)

Je n'ai pas fait de recherches très poussées, mais sur la page officielle PHP ils redirigent vers Entropy pour les binaires OS X. Or, sur Entropy, la seule config disponible pour 10.2 est PHP 4.3.4.

Cependant, je te conseille de rester sur PHP 4 tant que tu n'as pas expressément besoin de PHP 5 (en plus la plupart des softs sont encore conçus pour PHP 4).


----------



## geoffrey (28 Septembre 2005)

On avance


----------



## SveDec (28 Septembre 2005)

lol 
Bon dans ce cas je ne vais pas me compliquer la vie, je vais rester avec ce que j'ai, et ce sera très bien :lol:


----------



## Joµana (4 Octobre 2005)

Merci de ce super tuto .
Néanmoins je ne comprenais pas pourquoi , malgrès que j'ai suivi à la lettre toute tes indications , ma page de test ne marchait pas .
Après avoir fait quelques recherches , je me suis aperçu qu'il fallait par la suite taper la commande :

sudo apachectl graceful

qui permet de relancer le serveur apache et ainsi prendre en compte les modification effectuées précédement 
Voilà ,suite à cette commande ma page de test fonctionne à merveille , peut être que notre ami a ce problème , je ne sais pas ... 

Bonne soirée


----------



## Sovici (11 Octobre 2005)

Bjr,

Je viens de télécharger MAMP pour faire du php, j'ai Dreamweawer, est-ce que l'on pourrait m'aider car je galère un peu pour configurer tout ça ?
Mon mail est ag_dauph@club-internet.fr

Merci infiniment car ça fait depuis le mois d'août que j'essaie.


----------



## Anabys (12 Octobre 2005)

Oh my god !  :mouais: 

1) Ne met pas ton adresse comme ça, tu vas te faire choper par tous les bots de spam en moins de deux.

2) Nous ne sommes pas à ta disposition. Tu poses ta question sur le forum, on fait ce qu'on peut pour y répondre; mais on ne va quand même pas te contacter pour résondre ton problème, faut pas abuser.


----------



## Yoop (12 Octobre 2005)

Anabys a dit:
			
		

> Oh my god !  :mouais:
> 
> 1) Ne met pas ton adresse comme ça, tu vas te faire choper par tous les bots de spam en moins de deux.
> 
> 2) Nous ne sommes pas à ta disposition. Tu poses ta question sur le forum, on fait ce qu'on peut pour y répondre; mais on ne va quand même pas te contacter pour résondre ton problème, faut pas abuser.



Tout pareil!

Pis fais une ptite recherche sur le forum, tu trouveras j'en suis sur des réponses à ta/tes question(s)!


----------



## Ship (16 Octobre 2005)

Bonjour a tous  
Après avoir acheté mon premier mac j'ai voulu me remettre au PHP (que je commence tout juste à apprendre), et après avoir lu ce topic j'ai décidé de prendre MAMP...

L'instalation s'est bien passé, mais c'est à l'ouverture des pages de mon site que ca s'est corsé  
Tout les liens des pages ne marchent plus : la feuille de style de la page ne s'active pas, et le lien vers la seconde page m'amène sur une page d'erreur (" The requested URL /actualites/actualites.php was not found on this server. ")
Et quand j'esseye d'ouvrir une autre page du site directement par sa direction ( http://localhost:8888/monsite/repertoire/page.php ) il m'affiche une page où seul le texte s'affiche (plus d'images et de feuille de style). 

merci d'avance pour votre aide


----------



## Anabys (16 Octobre 2005)

> une page o&#249; seul le texte s'affiche



Tu veux dire le code source du fichier PHP, ou le texte que ce fichier est cens&#233; g&#233;n&#233;rer ?

Dans le second cas, c'est un probl&#232;me de liens et cela n'a rien &#224; voir avec ton installation de MAMP qui est fonctionnelle.


----------



## Ship (16 Octobre 2005)

Oui c'est le second cas, mais les liens n'ont aucun problème pourtant ...
Dans Dreamweaver et Golive les pages passent normalement, y compris dans l'apercu de Golive, par contre coté navigateur les liens ne passent plus lorsque les pages sont en .php (en .html elles passent très bien)


----------



## Yoop (16 Octobre 2005)

Anabys a dit:
			
		

> Tu veux dire le code source du fichier PHP, ou le texte que ce fichier est censé générer ?



Je pense que c'est le texte que le fichier est censé générer vu qu'il dit qu'il n'y a pas d'images et pas de "design".


----------



## Anabys (16 Octobre 2005)

Oui je pense aussi... mais on sait jamais...


----------



## tomyqc (17 Octobre 2005)

Étrange qd je fais le test pour vérifier si mon php fonctionne apres avoir le package Entropy-PHP-5.0.4-1.dmg le seul qui fonctionne c'est celui en .php

Celui en .php3 ne fonctionne pas. 

C'est normal ca ??


----------



## geoffrey (17 Octobre 2005)

Il n'y a que php 4 et php 5 &#224; la base sur le mac.


----------



## Anabys (17 Octobre 2005)

> Celui en .php3 ne fonctionne pas.



Oui c'est tout &#224; fair normal. C'est &#224; Apache que tu indiques quel module associer &#224; une extension donn&#233;e. Par d&#233;faut le PHP est configur&#233; pour fonctionner avec les fichiers portant l'extension .php.

C'est la ligne suivante, dans httpd.conf, qui d&#233;finit cela:
AddType application/x-httpd-php .php

Si tu veux que l'extension .php3 soit &#233;galement prise en compte, tu devras la rajouter sur ce m&#234;me mod&#232;le.


----------



## Sovici (17 Octobre 2005)

En fait j'ai effectivement besoin d'aide comme tout le monde qui se ,joind à un forum. Je pensais que c'était cela la philosophie d'Internet, mais je me rend compte qu'il y a beaucoup de personnes qui n'ont pas réglé leur problème d'ego. De plus c'est macromedia qui m'a conseillé d'aller sur ce site en espérant trouver qqn de sympa pour m'orienter afin de régler mon problème de configuration  afin de pouvoir passer à des choses plus intéressantes. Je crois que le mot "espérer" n'était pas exagéré. Je continue pour ceux ou celles qui comprennent mon prblm de configuration. J'ai télécharger MAMP et je ytravaille avec Dreaweawer. Je rencontre un problème au moment où j'en suis à la procédure de création d'une connexion sur Dream. Il y a un petit formulaire avec des champs à remplir. Voici les titres de ces champs à remplir : Nom de connexion - Serveur Mysql - Nom d'utilisateur - Mot de passe - Base de données.
J'aimerais savoir si il faut laisser MAMP  dans le dossier applications où s'il faut le migrer dans gestion des sites.
Désolé si c'est un peu long mais je ne voulais pas ennuyer les internautes, je pensais qu'il était possible de le faire simplement soit par mail, ou iChat vore au tél à mes frais bien sûr. Dans d'autres sites sur d'autres sujets j'aipu entretenir ce genre de relation.
Merci d'avance


----------



## geoffrey (17 Octobre 2005)

MAMP doit etre laiss&#233; dans le repertoire Applications.

Sinon les infos que tu recherches sont quelque part sur le site de MAMP, j'ai pas mon mac sous les yeux donc faudra googliser


----------



## Anabys (17 Octobre 2005)

Sovici a dit:
			
		

> En fait j'ai effectivement besoin d'aide comme tout le monde qui se ,joind à un forum. Je pensais que c'était cela la philosophie d'Internet, mais je me rend compte qu'il y a beaucoup de personnes qui n'ont pas réglé leur problème d'ego. De plus c'est macromedia qui m'a conseillé d'aller sur ce site en espérant trouver qqn de sympa pour m'orienter afin de régler mon problème de configuration  afin de pouvoir passer à des choses plus intéressantes. Je crois que le mot "espérer" n'était pas exagéré. Je continue pour ceux ou celles qui comprennent mon prblm de configuration. J'ai télécharger MAMP et je ytravaille avec Dreaweawer. Je rencontre un problème au moment où j'en suis à la procédure de création d'une connexion sur Dream. Il y a un petit formulaire avec des champs à remplir. Voici les titres de ces champs à remplir : Nom de connexion - Serveur Mysql - Nom d'utilisateur - Mot de passe - Base de données.
> J'aimerais savoir si il faut laisser MAMP  dans le dossier applications où s'il faut le migrer dans gestion des sites.
> Désolé si c'est un peu long mais je ne voulais pas ennuyer les internautes, je pensais qu'il était possible de le faire simplement soit par mail, ou iChat vore au tél à mes frais bien sûr. Dans d'autres sites sur d'autres sujets j'aipu entretenir ce genre de relation.
> Merci d'avance



Sur la forme:
Les paragraphes, c'est bien, ça facilite la lecture. Là j'ai carrément pas envie de lire ton message.

Sur le fond:
Si j'étais à ta place, vu ton premier message, je ne ferais pas de remarque quand à l'ego des autres... Tu est ici sur un forum, avec des gens qui répondent à tes questions de manière totalement bénévole. Ce n'est pas un service après-vente, ce n'est pas la hotline de Macromedia. Si tu veux venir ici tu es comme tout le monde le bienvenu, mais tu dois respecter les règles de base communes aux forums, dans lesquels il est considéré comme impoli de laisser son adresse e-mail en disant "écrivez moi pour m'aider".

Sur ton problème:
Laisse MAMP dans le répertoire Applications, c'est aussi bien. Mais peu importe en fait. Une fois le serveur SQL lancé, tu dois créer 1) un utilisateur, 2) une base. 

Je ne connais pas MAMP mais je suppose que l'utilisateur root existe déjà. Quant à la base, si aucune n'existe, il te faudra en créer une.

Une fois cela fait, renseigne les champs:
Nom de connexion => peu importe
Serveur Mysql => "localhost"
Nom d'utilisateur => "root"
Mot de passe => (ton mot de passe root mysql si tu en as un)
Base de données => le nom de la base de données

Norlamement DW devrait fonctionner. Si ce n'est pas le cas dis nous s'il renvoie un message d'erreur particulier, et quelle version tu utilises (MX, 2004, 8 ?).


----------



## geoffrey (17 Octobre 2005)

Et le port par d&#233;fault de mysql avec MAMP est 8889.


----------



## Sovici (18 Octobre 2005)

Merci sincèrement pour ta réponse, je reconnaîs volontiers que j'ai écris de manière compulsive, mais loin de moi l'idée d'utiliser les autres pour un sav. 
J'avais naïvement pensé que je pouvais éviter de faire de longs échanges sur la mise en place d'une configuration pour travailler avec Dreamweawer et phpmyadmin. Cela fait plus de 2 mois que je galère. Je suis sur Mac comme tout le monde ici je suppose et je n'arrive pas à me connecter avec la base. 

? Par exemple quand j'ai fait une petite base de données, et que je l'exporte, le fichier va sur le bureau avec ".sql" en suffixe. Jusqu'ici c'est normal, mais après où dois-je place ce fichier en travaillant avec MAMP afin de pouvoir y avoir accès avec Dreamweawer ?
[J'ai Dreamweawer MX 2004]

Merci encore chaleureusement de m'avoir répondu, je mettrai moi aussi mon égo au vestiaire.

Amitiés,


----------



## Anabys (18 Octobre 2005)

Pas de souci pour l'ego et tout &#231;a, on en parle plus 

Concernant ton probl&#232;me:

Th&#233;orie:
Les fichiers .sql sont en fait des fichiers de texte brut contenant une s&#233;rie de requ&#234;tes que peut interpr&#233;ter le moteur MySQL. Ils sont typiquement utilis&#233;s pour les exportations/importations de tables. Ils peuvent &#234;tre utilis&#233;s pour travailler avec la base en direct, mais ce n'est vraiment pas productif du tout (c'est m&#234;me une id&#233;e qui ferait sauter au plafond tout d&#233;veloppeur PHP/SQL), car il faudrait 1) cr&#233;er la requ&#234;te, 2) l'enregistrer dans le fichier, 3) importer les requ&#234;tes contenues dans le fichier dans la base. Ca prend un temps fou, c'est tr&#232;s compliqu&#233; &#224; coder, et &#231;a bouffe plein de ressources serveur. On utilise donc le syst&#232;me suivant 1) formation de la requ&#234;te et stockage de cette requ&#234;te dans une variable PHP, 2) envoi de la requ&#234;te, depuis PHP, au serveur SQL.

Autrement dit, ton fichier .sql n'est pas &#224; placer &#224; un endroit pour faire fonctionner ton logiciel.

En outre, Dreamweaver (DW) te permet de _construire_ le site, il n'est pas fait pour l'_utiliser_. Tu ne dois donc pas travailler directement sur le contenu de ta base de donn&#233;es depuis DW, ni m&#234;me sur sa structure. Tout ce que fait DW est g&#233;rer le code PHP (ou un autre langage de script, mais en g&#233;n&#233;ral c'est le couple PHP+MySQL que l'on utilise) dans ses phases de r&#233;daction et d'ex&#233;cution. Et c'est ce code PHP qui ex&#233;cutera les requ&#234;tes SQL, et qui sera donc en relation avec la base de donn&#233;es.

Pratique:
- Tu construis la structure de ta base SQL avec un outil appropri&#233;, du genre PHPMyAdmin.
- Tu construit ton code source avec DW.
- Tu testes ton code source avec DW, ou mieux encore directement avec Safari ou Firefox, ton MAMP &#233;tant install&#233; avec Apache, PHP et MySQL.

Tu pourras trouver de nombreux didacticiels sur internet (site du Z&#233;r0, PHP d&#233;butants, etc.) pour bien comprendre la fa&#231;on de proc&#233;der. Pour le cas pr&#233;cis d'une base de donn&#233;es en partant de rien, tu as aussi cet article.


----------



## Sovici (18 Octobre 2005)

Merci, je commence à rougir, mais bon ça doit être l'énervement? je perds vite les pédales. mais tu as raison, oublions !  
Je vais lire attentivement le tuto que tu m'as transmis et ensuite je te tiendrai au courant de mes avancements.
Encore un grand merci pour ton calme et tes infos précieuses.
Amitiés, eek:


----------



## geoffrey (18 Octobre 2005)

Au fait, pourquoi tiens tu tellement &#224; utiliser dreamweaver. Quel genre de site comptes tu faire ?


----------



## Sovici (19 Octobre 2005)

Bjr,

Un site comme celui-là, en mieux bien-sûr ! Avec animation, page d'accueil, etc.
http://www.garagerossandes.fr/
J'ai entendu que certain font des sites à la main (comme ils disent), mais moi je pense que c'est plus facile pour moi. Je suis néophyte?
J'ai des photos, à traiter et des mise sen pages spéciales à faire.
À la base je suis plus d'une culture de la pao.
Amitiés,


----------



## geoffrey (19 Octobre 2005)

L'avantage de le faire "a la main" c'est que t'as pas besoin de d'abord comprendre comment Dreamweaver fonctionne , sinon pour une mise en page simple comme celle que tu as montr&#233;, si tu veux absolument un editeur WISIWIG, utilise plutot NVU, qui est gratuit et plus simple d'utilisation.

Avant de te lancer dans un mix PHP/MySQL/HTML/MAMP/..., prepare la mise en page de ton site, les photos, le design, l'allure g&#233;n&#233;rale, ... et apres tu pourras bien te soucier de voir comment rajouter du PHP et une base de donn&#233;es la dessus.


----------



## Anabys (19 Octobre 2005)

Tout pareil que le message ci-dessus, sauf pour NVU: DW est bien plus puissant (et plus agr&#233;able &#224; utiliser, mais &#231;a c'est avis perso), donc s'il le poss&#232;de d&#233;j&#224; autant l'utiliser. L'alternative NVU c'est dans le cas o&#249; quelqu'un n'a pas encore DW ou n'a pas le budget (ou une connexion assez rapide... :rateau: naan mod&#233;rez pas c'est de l'humour  ) pour l'acqu&#233;rir.


----------



## geoffrey (19 Octobre 2005)

On est d'accord sur la puissance de DW, mais bon, pour moi NVU est plus simple &#224; utiliser et pour faire un site comme celui propos&#233;, ca suffit largement.


----------



## Sovici (19 Octobre 2005)

Merci à tous pour vos précieux conseils.
Vous êtes formidables, avec vous enfin j'avance? C'est un vrai plaisir.
Oui j'utilise Dreamweawer depuis la fin d'année dernière pour faire mon site. Je me suis arrêté à un exemple de site qui me sert à montrer les possibilités. Le référencement est volontairement pas bon et il y a beaucoup d'anomalies car j'ai aussi utilisé du flash. Sachant qu'il m'a fallut 3 mois et que je ne connaissais absolument rien auparavant.
Voici l'adresse, j'ai un peu honte mais c'est pour mon usage personnelle. Aujourd'hui je veux en faire un simple est efficace en php avec une base de données.
http://ag_dauph.club.fr/index.htm
Pour l'heure j'en suis à essayer de connecter Dreamweawer à ma base MySQL.
Je bloque ici et voilà ce que me dit la fenêtre de dialogue :
1045 Acces denied for user 'root'@'localhost' (using password: YES)
J'utilise MAMP alors ça peut peut être renseigner plus précisément mon problème.
Amitiés,

? P.S. : j'ai lu et imprimer ton tuto sur php et mysql, c'est passionnant et je comprends mieux certaines choses qui m'étaient abstraites.
Je travaille avec phpmyadmin.


----------



## geoffrey (19 Octobre 2005)

essaye avec 
user : root
host : localhost:8889

(avec MAMP d&#233;marr&#233


----------



## Sovici (19 Octobre 2005)

Merci,

Mais je ne sais pas ce que tu nommes host.
Sur Dreamweawer pour me connecter à la base j'ai :
- nom de connexion : là je mets ce que je veux
- serveur mysql : là je mets localhost (j'ai aussi essayé localhost:8889 et ça n'a pas marché)
- nom d'utilisateur : là je mets root
- mot de passe : (j'ai mis root)
- base de données : là je mets ce que je veux

Voilà où j'en suis !


----------



## geoffrey (19 Octobre 2005)

je crois que le mot de passe est vide &#224; l'install de MAMP (donc pas de mdp &#224; mettre)

base de donn&#233;es : je crois pas non plus que tu puisse mettre ce que tu veux, faut d'abord cr&#233;er ta base il me semble

pour info : 





> *Est-ce que MAMP fonctionnera si le dossier MAMP n'est pas plac&#233; dans le r&#233;pertoire Applications?*
> 
> Non. Le dossier MAMP doit &#234;tre situ&#233; dans le r&#233;pertoire des programmes - (/Applications) -, pour qu'Apache et MySQL puissent d&#233;marrer.


----------



## Anabys (19 Octobre 2005)

host = "serveur mysql" sous DW


----------



## Sovici (20 Octobre 2005)

Bonjour tout le monde !

Voici où j'en suis :
Je voudrais savoir ce que vous dit cette phrase que je trouve dans la fenêtre de dialogue de Dreamweawer au moment où je tente de me connecter avec mysql (mamp > phpmyadmin).

2002 Can't connect to local mysql server through socket 'tmp/mysql.sock'(2)

Je comprends bien qu'il y a un problème pour se connecter mais je cherche vainement la solution.

Je pense que là je n'en suis pas loin, j'aimerai savoir où il faut placer excatement le fichier .sql (base de données) sachant que je suis sur Mac (comme ceux du site) et que j'utilise MAMP. Je pense que là j'aurais bien compris la base de la configuration.

Merci d'avance pour la solution car c'est toujours à cete étape que ça coince.

Amitiés,


----------



## geoffrey (20 Octobre 2005)

Le fichier .sql n'est pas la base de donn&#233;e , ce n'est qu'un script. Le probleme ne vient pas de la.

Ouvre un terminal, cherche dans le repertoire de MAMP des scripts qui s'appellent start_mysql.sh et stop_mysql.sh (ou quelque chose dans le genre). Execute les (d'abord le stop, puis le start) et dit nous ce que ca donne.

Ensuite avec MAMP, est ce que tu as bien les lumi&#232;res vertes pour le serveur Apache ET le serveur MySQL ?


----------



## Sovici (20 Octobre 2005)

Merci pour ta réponse.

Alors concernant Mamp, oui les deux diodes vertes sont allumées.
Pour le terminal on m'a toujours dit de faire gaffe?
Mais bon, si je suis conseillé alors pas de problème.
Pour faire ce que tu me dis concernant start_mysql je ne sias pas comment procéder.
J'ai ouvert le terminal mais ensuite que dois-je faire car apparemment il attend que j'insère des infos.


----------



## geoffrey (20 Octobre 2005)

cd /Applications/MAMP
find . -name *mysql*sh

et dis nous deja ce que ca donne


----------



## Sovici (20 Octobre 2005)

Alors j'ai cherché mysql (là il y a une étoile que je n ecomprend pas) sh.
Je n'ai rien trouvé sur cette dénomination mais j'ai pris ce qui se rapproche le plus de ton info c'est mysql show et voilà ce j'ai trouvé.
Last login: Thu Oct 20 13:40:52 on ttyp2
Welcome to Darwin!
/Applications/MAMP/bin/mysql4/bin/mysqlshow; exit
Ordinateur-de-charles-souici:~ charlessouici$ /Applications/MAMP/bin/mysql4/bin/mysqlshow; exit
/Applications/MAMP/bin/mysql4/bin/mysqlshow: Access denied for user 'charlessouici'@'localhost' (using password: NO)
logout
[Opération terminée]

J'ai trouvé aussi 2 fichiers startmysql et stopmysql, quand je clique dessus il me demande, de choisir une application, alors je n'ai pas été plus loin. Je te parle de ça car tu m'avais dit que je devais aller sur le terminal pour trouver ces fonctions.

Merci chaleureusement, ça commence à me redonner le moral pour faire ce projet.


----------



## geoffrey (20 Octobre 2005)

* c'est le caract&#232;re g&#233;n&#233;rique en shell, ca repr&#233;sente n'importe quel valeur en fait

les scripts startmysql et stopmysql sont &#224; executer dans le terminal, mais si tu n'y connais rien, c'est peut etre pas la peine de commencer par la.

Est ce que t'as deja essay&#233; de desinstaller, reinstaller MAMP ? Et quelle version de MAMP utilises tu ?


----------



## Sovici (20 Octobre 2005)

La version de mamp est 1.0 (V1.0.1)
Je l'ai téléchargé la semaine dernière.


----------



## Anabys (20 Octobre 2005)

Ca serait pas plus simple d'installer mysql avec serverlogistics et d'utiliser apache/php int&#233;gr&#233; au syst&#232;me ?


----------



## geoffrey (21 Octobre 2005)

A mon avis (sans vouloir etre m&#233;chant), il faudrait que Sovici lise un peu plus de doc, desinstalle les softs, et les reinstalle proprement, cette fois ci en comprenant ce qu'il fait...

Parce qu'on pourra pas l'aider avec le peu d'info qu'il nous donne


----------



## Sovici (21 Octobre 2005)

Merci pour vos réponses précieuses.
Je pense avoir installé au mieux Dreamweawer puisqu'il s'installe automatiquement tout comme Mamp qui lui aussi s'installe automatiquement sur Applications.
mon problème est juste de pouvoir me connecter sur phpmyadmin (ou mysql) à partir de Dream après ce sera bon une fois que j'aurais réussit cette connexion.
En fait ça coince quand je veux confirmer ma connexion. Pourtant je remplit bien les cases me semble t-il !
Je dois reconnaître que jusqu'ici vous m'avez fait sacrément avancé, c'est sincère. Je pesais que les fichiers de bases de données sql étaient la base de données, un peu comme quand on fait une mise en page sur Word par exemple, et que l'on voit le fichier sur le bureau.
Alors que là non, c'est juste un script, pour vous ça doit vous faire marrer mais pour moi c'est une découverte. C'est pour cela que je croyais qu'il fallait poser ce fichier dans un endroit précis, un peu comme un fichier de site de Dream, qui lui, doit être dans un endroit précis.
En tout cas je suis ouvert à vos conseils, mieux que ça je les applique !!!


----------



## geoffrey (21 Octobre 2005)

Et si tu suivait ce tutorial pour commencer 

Fait tout ca a partir du terminal, autrement c'est pas possible.

Maintenant si tu n'as abslument aucune connaissance, il faudra lire de la doc, y'a pas 36 solutions pour apprendre.

Pareil, tu veux faire du dev mais tu ne semble pas avoir trop de connaissance, je veux pas etre dur mais faut pas mettre la charrue avant les boeuf.

Faut decouper ton id&#233;e en plein de petits projets facilement realisable, et pas partir en voulant tout faire &#224; la fois, sinon tu n'y arrivera pas.

Donc etape 1 : utiliser un base MySQL avec un script PHP (cf le tutorial)

Quand tu saura faire ca, on pourra continuer


----------



## Anabys (21 Octobre 2005)

Je vais essayer d'&#233;crire un tuto rapide sur l'installation, &#224; partir de z&#233;ro, d'un environnement PHP et MySQL, que je ferai publier sur le gfblog. Je vous pr&#233;viens ici quand c'est fait.

Edit: le temps de faire mettre au webmaster les images sur le FTP, et c'est bon. C'est ici.


----------



## Sovici (22 Octobre 2005)

Merci pour ce tuto qui vaut un cours de haut niveau dans ce domaine !
J'aimerais te poser une question car j'ai procédé à l'installation en suivant rigoureusement tes conseils afin d'installer proprement tout ce qui est nécessaire pour bien démarrer avec php/mysql.
J'ai bien entrer les infos que tu conseilles pour le terminal.
Ensuite j'ai téléchargé mysql et phpmyadmin sans les placer, ils sont encore sur le finder.
Je viens de voir que j'ai encore un ancien mysql que l'on m'avait fait installé et qui apparait dans les préférences système ne bas dans "autre".
Je ne sais pas par où je dois l'enlever pour le mettre dans la corbeille et quand je fais une recherche de tout les mysql de l'ordinateur, alors là il y en a une tripotée.
Que me conseilles-tu ?
Penses tu que je puisses le garder sans installer le nouveau car on me l'avait fait mettre il y a un mois (quand je travaillais ces jours-ci avec Mamp je le désactivais en cliquant sur le bouton stop)?
Merci, en tout cas je suis admiratif de ton remarquable travail.
Amitiés,


----------



## Anabys (22 Octobre 2005)

merci 

Pour ton MySQL c'est un peu compliqu&#233;... En fait &#231;a se r&#233;sume &#224; &#231;a:
- si tu a plusieurs installations de MySQL, dont une avec serverlogistics, l'installer fera une simple mise &#224; jour
- si tu as plusieurs installations de MySQL, mais aucune de serverlogistics, l'installer fera -normalement- une installation simple.

D'ordinaire je te conseillerai de tout d&#233;sinstaller et d'installer la version de serverlogistics "proprement", mais MySQL se r&#233;pand un peu partout dans ton syst&#232;me, et il est compliqu&#233; de le d&#233;sinstaller. 

En outre, puisque tu as d&#233;j&#224; l'ic&#244;ne de MySQL dans la rubrique "Autres" des pr&#233;f&#233;rences syst&#232;me, c'est que tu as d&#233;j&#224; install&#233; une distribution serverlogistics ou semblable.
Essaye de reprendre le tuto en sautant l'installation de MySQL: il te restera &#224; 1) d&#233;marrer MySQL (avec le panneau des pr&#233;f&#233;rences syst&#232;me), 2) configurer phpMyAdmin, 3) v&#233;rifier que cela fonctionne en ex&#233;cutant phpMyAdmin depuis ton navigateur.


----------



## Sovici (23 Octobre 2005)

Bonjour dominical,

Voilà, un pas de plus pour l'homme que je suis et un gros budget temps pour moi aussi?
Je viens de voir que je suis connecté à ma base avec Dream, j'aipu lire les infos sur la base de données que j'avais faite.
Maintenant il faut que je potasse Dream pour pouvoir comprendre comment utiliser les infos de la bdd sur une page de Dream.
En tout cas tu as été très sympa, et ton tuto et digne des meilleurs bouquins sur le genre.
Il est même plus didactique à mon sens.

Question subsidiaire. Je dois faire rapidement un site simple, je veux utiliser le php bien sûr, est-ce qu'il faut, à partir de Dream, penser comme le html (page d'ouverture en index htm, etc.) ? Et aussi est-ce qu'il y a un gros chamboulement quand on passe du local au ftp (mettre en ligne) ?

Bonne journée à tous !


----------



## Anabys (23 Octobre 2005)

J'ADORE CE THREAD 

Alors, d&#233;j&#224;, je vais briser toutes tes illusions: la documentation de Dreamweaver ne te permettra pas d'apprendre &#224; manier les bases MySQL avec PHP. Donc, oublie. La doc porte que le fonctionnement de DW, mais maintenant que &#231;a fonctionne, il te faut apprendre PHP pour t'en sortir (en fait, c'est l&#224; que &#231;a devient difficile  ).

Pour construire ton site, tu dois en effet penser en HTML, avec un index et tout. La seule diff&#233;rence, majeure et capitale, c'est que tu dois TOUJOURS garder &#224; l'esprit que le code que tu &#233;cris en PHP sera ex&#233;cut&#233; sur le serveur *avant* l'affichage de la page.

Je te conseille (mais alors tr&#232;s tr&#232;s tr&#232;s vivement) de commencer sur des bonnes bases et d'abandonner d&#232;s le d&#233;but l'extension .html (ou .htm), et de faire des fichiers .php.

Tu peux pour cela opter pour deux structures (je pr&#233;f&#232;re la seconde, mais c'est une question de go&#251;t, et ce n'est pas forc&#233;ment la meilleure solution):

1)

<html>
<head>
...
</head>
<body>
Blablablablablablablablablablablabalbalba
<?php
//Code php
fonction1();
fonction2();
echo $r&#233;sultat_du_code
?>
</body>
</html>


2)

<?php

$output = '<html><head>...</head><body>';
//traitement des donn&#233;es
fonction1();
fonction2();
// etc...
$output .= $r&#233;sultat_du_code
$output .= '</body></html>';

echo $output;

?>

Pour finir: sur chamboulement entre local et distant (ftp)
Si tu construis ton application de mani&#232;re intelligente, il n'y a *strictement* aucun changement entre le local et le ftp, hormis le changement des coordonn&#233;es du serveur MySQL.

Il FAUT pour cela que tu emploies syst&#233;matiquement des liens relatifs, et non pas des liens absolus.

Il FAUT &#233;galement que tu d&#233;finisses les coordonn&#233;es MySQL dans un fichier s&#233;par&#233; (i.e. config.inc.php) que tu appelles &#224; partir d'includes. Cf. le premier tuto.

Je sais pas si je vais pas un peu trop vite l&#224;... mais c'est essentiel de d&#233;terminer ce genre de "conventions" d'&#233;criture du code d&#232;s le d&#233;but, et de s'y tenir par la suite.

En tout cas, continue &#224; poser tes questions ici, on y r&#233;pondra


----------



## Sovici (23 Octobre 2005)

merci  

C'est super sympa, tu m'aides vraiment et j'apprécie ta franchise autant que ta générosité.
Je vais bien regarder tout ça !
En tout cas tu as raison de me prévenir qu'il faut garder une façon de travailler jusqu'au bout.
Il ne faut pas que je m'éparpille.
Ta deuxième version est en php si j'ai compris, et c'est ce que je désire faire.
Je te tiens au courant de mes avancements.
En tout cas je constate que dans ce site il y a une réelle volonté d'aider en répondant de manière circonstanciée aux questions. Ça aide à avoir le moral dans les moments de flips !
Amitiés,


----------



## SveDec (24 Octobre 2005)

Ca doit s'échanger ferme les points disco là ^^


----------



## geoffrey (24 Octobre 2005)

C'est de l'eau benite la qu'il faudrait jeter sur Anabys


----------



## Anabys (24 Octobre 2005)

Oui, je boirais m&#234;me la bouteille toute enti&#232;re (!) pour me donner le courage de remplacer les " double-quotes par des ' simples quotes dans les 3.000 -et des poussi&#232;res- lignes de code que je dois nettoyer


----------



## Sovici (25 Octobre 2005)

Bonjour  

Je continue à compulser php et mysql avec Dreamweawer.
Je voulais savoir s'il était possible de faire un site en html pour commencer et ensuite sans trop changer le travail fait en html passer en php ?
Si je dois le faire tout de suite en php, est-ce qu'il y a une grande différence avec le html.
Je dis cela car je dois absolument mettre mon site en ligne cette semaine avant de le peaufiner.
Je sais qu'en html, la première page doit être index.htm mais en php je ne sais pas !
Je n'aurais pas dans un premier temps à travailler avec mysql, je le ferai après, c'est pour cela que je voulais savoir si je pouvais commencer à faire le site en php avec Dream.
@ + !


----------



## geoffrey (25 Octobre 2005)

Tu te serais pas un peu cass&#233; la tete pour rien avec MySQL  

Ce que tu peux faire c'est du html inclus dans des balises php, comme te l'as expliqu&#233; "too-good-to-be-true" Anabys 

Comme ca tu t'embetes pas avec du php.


----------



## Anabys (25 Octobre 2005)

Explique nous en d&#233;tails comment tu con&#231;ois ton site, stp Sovici, en disant notamment:
- Pour toi, ou pour le public ?
- Ax&#233; contenant, ou contenu ?
- Contenu statique, ou n&#233;cessitant de fr&#233;quentes mises &#224; jour ?
- Un seul concepteur, ou travail en &#233;quipe ?
- L'utilisateur est un simple visiteur, ou peut-il modifier le contenu ?
- De simples visiteurs, ou des utilisateurs r&#233;guliers et enregistr&#233;s ?
- ETC. (tout ce que tu veux faire avec, comment tu le penses)

En effet, PHP/MySQL, ce n'est peut &#234;tre pas utile. Si, dans la liste ci-dessus, tu optes pour les options de gauche, HTML suffit. Si en revanche tu optes pour les options de droite, il faudra en effet recourir au couple PHP/MySQL.


----------



## Sovici (25 Octobre 2005)

Bonsoir et merci pour ta réponse ou tes questions.
En effet, je me posais la question du php car je commençais à bien me débrouiller en html, et passer au php relève pour moi de l'exploit car je ne connaissais rien il y a encore quelques heures.
J'ai des petits sites à faire. Par exemple, actuellement je dois faire un site pour un garage qui a une enseigne d'agent Peugeot.
Il vend des voitures d'occasions et des neuves aussi.
Il y a toutes les semaines des nouveautés.
J'aurais aimé alors ne pas me casser la tête à toujours refaire la mise en page.
Php/mysql me paraît tout indiquer pour ce genre de travail.
Aussi j'aimerais rendre le site plus interactif.
Par exemple si quelqu'un cherche une marque de voiture précise, ou l'année, etc. alors un petit moteur de recherche s'avère essentiel.
Voilà en gros.
Aussi j'ai des personnes qui aimeraient avoir leurs sites en forme de catalogue, alors là-aussi Mysql, s'y prête.
Bien entendu, il y a d'autres choses qui m'intéressent comme faire un forum, des comptes sécurisés, etc.
Mais je préfère commencer par le début.
Amitiés,


----------



## Anabys (25 Octobre 2005)

Pour des nouveaut&#233;s toutes les semaines, c'est clair il te faut MySQL. Ca serait beaucoup trop "chiant" d'avoir &#224; uploader les sources HTML &#224; chaque modification (bien que des syst&#232;mes comme Contribute puissent y rem&#233;dier, je ne suis pas fanatique de ce genre de trucs...).

Pour un site interactif, entendu comme "pouvant avoir des interactions avec l'utilisateur", il est clair que le HTML n'est pas suffisant et qu'il faut un langage de script. L&#224; encore le PHP est tout indiqu&#233;.

Pour un moteur de recherche, c'est clairement une base de donn&#233;es qu'il faut utiliser, puisque c'est sont essence m&#234;me.

Des sites en forme de catalogue, il te fait cr&#233;er une base de donn&#233;es solide et bien pens&#233;e. L'affichage en catalogue se fait ensuite avec PHP, et ce n'est pas tr&#232;s compliqu&#233; une fois qu'on ma&#238;trise les bases.

Par contre, faire un forum, oublie (enfin, perso, moi j'oublie). Pour des comptes s&#233;curis&#233;s tu as un aper&#231;u &#224; la fin de l'article sur les base de donn&#233;es. C'est vraiment rudimentaire comme exemple (sessions php + stockage des login/password dans le hardcode), mais &#231;a fonctionne et &#231;a donne une id&#233;e de la chose. Pour un syst&#232;me plus &#233;volu&#233; (et surtout plus s&#233;curis&#233, il vaut mieux s'orienter vers un stockage des identifiants de connexion dans la base de donn&#233;es en hash.


Conclusion, il te fait bien utiliser PHP et MySQL. Cependant, ce n'est pas pour autant que tu fois abandonner le HTML (ou plut&#244;t, le XHTML...). En effet, il est primordial, essentiel, et m&#234;me vital (non, j'exag&#232;re pas) de comprendre le fonctionnement de ces technologies, et la mani&#232;re qu'elles ont d'interagir entre elles. Le PHP ne peut en aucun cas remplacer le HTML: un site 100% PHP et 0% HTML, c'est une s&#233;rie de pages blanches. Les deux langages sont compl&#233;mentaires: le PHP s'occupe du contenu, et le HTML du contenant.

En gros, il faut apprendre par coeur:



> Le principe du PHP, un autre langage de programmation, est tout &#224; fait diff&#233;rent. En effet, dans ce cas c&#8217;est le serveur qui ex&#233;cute le code source et qui renvoit le r&#233;sultat au navigateur. Le serveur ne se contente pas d&#8217;envoyer les donn&#233;es, il les analyse et leur applique un traitement avant de les envoyer. On dit que le PHP &#8220;s&#8217;&#233;x&#233;cute c&#244;t&#233; serveur&#8221; alors que le HTML est trait&#233; c&#244;t&#233; client.
> 
> Vous remarquerez que je n&#8217;emploie pas le verbe &#8220;s&#8217;ex&#233;cuter&#8221; pour parler du HTML. Il s&#8217;agit l&#224; d&#8217;une autre diff&#233;rence -majeure- entre le HTML et le PHP: le HTML n&#8217;est pas ex&#233;cutable, il est purement statique. En d&#8217;autres termes, alors que le HTML se borne &#224; d&#233;crire une situation de faits (tel mot est en italique, telle phrase est en gras, telle image doit &#234;tre affich&#233;e, etc.), le PHP peut avoir des comportements qui produisent des effets sous certaines conditions. Par exemple: si le nom est Dupont, alors il devra &#234;tre affich&#233; en rouge.
> 
> ...



Si t'as compris les deux horribles phrases en italique, c'est bon, tu es pr&#234;t pour attaquer la conception du site. Sinon, il te faudra manger encore un peu de th&#233;orie pour tout bien comprendre. Ca peut para&#238;tre une perte de temps de se consacrer &#224; l'apprentissage de la th&#233;orie, mais ce n'est pas le cas. En fait, il vaut mieux passer quelques jours &#224; tout bien comprendre, et se lancer dans un projet propre, que de commencer directement &#224; &#233;crire les lignes de code pour s'aper&#231;evoir ensuite qu'il faut tout recommencer &#224; z&#233;ro parce que l'on n'a pas pris le probl&#232;me sous le bon aspect. Tu peux me croire l&#224; dessus, j'en ai fais &#224; maintes reprise l'am&#232;re exp&#233;rience 

PS: bon ce fil de discussion a 5 pages, je continue jusqu'&#224; ce qu'il ai 50 pages, apr&#232;s &#231;a d&#233;passera mes comp&#233;tences


----------



## Jacou (6 Décembre 2005)

Bonjour à tous,
alors voilà, je découvre pas mal de chose de puis hier seulement, entre le html, le php, apache etc
j'utilises nvu pour faire mes pages,et j'ai installé MAMP suite à ce que j'ai lu la page n°1 de ce thread.
MAIS, il y a toujours un mais !
comment faire pour visualiser un fichier php grâce à MAMP ?
je suis les tuto de "le site du zero" mais le pauvre il est sur pc  alors du coup quand il afiche ses exercices via notepad++, ben moi je suis largué et je peux pas "expérimenter". 
Pourtant, si j'ai bien compris, MAMP doit me permettre de voir mes pages en php avant de les envoyer sur le net...c'est bien ça ?
Please, dites comment faire ....
Merci


----------



## Nephou (6 Décembre 2005)

Mamp installe un envirronnement de développement constitué d'un serveur apache, de php 4 ou 5 au choix et d'une base mySQL.

Pour visualiser un fichier php utilise ton navigateur web préféré et saisi l'adresse du serveur local créé par mamp à savoir http://localhost:8888/.

Le dossier de ton ordinateur servi par apache est "htdocs" dans le dossier "mamp" dans "applications". C'est là où tu dois mettre tes fichiers .php.

notepad++ est un éditeur de texte comparable à smultron


----------



## thalyla (8 Décembre 2005)

Veuillez cliquer sur une des icônes de « Réponse rapide » dans les messages ci-dessus pour activer la réponse rapide.


----------



## Anabys (8 Décembre 2005)

lol ;o)


----------



## thalyla (8 Décembre 2005)

thalyla a dit:
			
		

> Veuillez cliquer sur une des icônes de « Réponse rapide » dans les messages ci-dessus pour activer la réponse rapide.


je prends la discussion en cours, car maintenant que mamp fonctionne sur mon mac (OS 10.3.9) je ne peux pas me connecter à ma base (visible dans phpMyAdmin) depuis safari (http://localhost:8888/monfichier.php) .Ma requete est ok sur PC et easyPHP. :hein: 
J'ai installé Cocoa et lui se connecte sans problème, mais je dois tester des requettes depuis un navigateur pour ma formation.
Du coup je suis bloquée, et je prends du retard, ce dont je n'ai vraiment pas besoin !!!
Please de l'aide !!! j'ai bien lu toute la discussion, j'ai essayé plein de changements dans les paramètres mais rien à faire. Quand je lance safari il m'affiche une belle page blanche, sans aucun message pouvant m'indiquer une piste à suivre. 
atchao et déjà merci     Si ça continu je vais devoir acheter un PC !!!


----------



## fredmac75 (9 Décembre 2005)

thalyla a dit:
			
		

> je prends la discussion en cours, car maintenant que mamp fonctionne sur mon mac (OS 10.3.9) je ne peux pas me connecter à ma base (visible dans phpMyAdmin) depuis safari (http://localhost:8888/monfichier.php) .Ma requete est ok sur PC et easyPHP. :hein:
> J'ai installé Cocoa et lui se connecte sans problème, mais je dois tester des requettes depuis un navigateur pour ma formation.
> Du coup je suis bloquée, et je prends du retard, ce dont je n'ai vraiment pas besoin !!!
> Please de l'aide !!! j'ai bien lu toute la discussion, j'ai essayé plein de changements dans les paramètres mais rien à faire. Quand je lance safari il m'affiche une belle page blanche, sans aucun message pouvant m'indiquer une piste à suivre.
> atchao et déjà merci     Si ça continu je vais devoir acheter un PC !!!


  Salut thalyla, question bête : As tu pensé à démarrer MAMP avant d'ouvrir Safari ?


----------



## thalyla (9 Décembre 2005)

fredmac75 a dit:
			
		

> Salut thalyla, question bête : As tu pensé à démarrer MAMP avant d'ouvrir Safari ?


OUI , il est démarré et les serveurs sont en verts, jusque tout va bien. Je peux même me connecter à la base  par Cocoa qui marche bien chez moi. Mais pour ma formation il faut que je teste le code via un navigateur , cest bête.  J'ai bien mis mon dossier dans htdocs de mamp. Dans le navigateur l'adresse : http://localhost:8888/monfichier.php..... MAIS RIEN, même pas un petit message  :mouais:


----------



## fredmac75 (9 Décembre 2005)

thalyla a dit:
			
		

> OUI , il est démarré et les serveurs sont en verts, jusque tout va bien. Je peux même me connecter à la base  par Cocoa qui marche bien chez moi. Mais pour ma formation il faut que je teste le code via un navigateur , cest bête.  J'ai bien mis mon dossier dans htdocs de mamp. Dans le navigateur l'adresse : http://localhost:8888/monfichier.php..... MAIS RIEN, même pas un petit message  :mouais:



Est-ce que tu appels le bon nom de fichier ? fait un essai avec un fichier qui s'appel monfichier.php puis écris ça 





> <? echo 'bonjour tahlyla'; ?>


. Que se passe t-il ?


----------



## thalyla (9 Décembre 2005)

je teste ok


----------



## thalyla (9 Décembre 2005)

ça marche SUPER !!!, le problème c'est quand je lui demande de récupérer ma base ex  du début du code :
<?
$host="localhost:8888";
$user="root";
$password="root";
$bdd="url";
mysql_connect ($host,$user, $password) or die ("erreur dans la connexion");
mysql_select_db($bdd) or die ("erreur base de donnée");
?>
Dans mon test après le lui demandé d'afficher ma base dans un tableau , maisje pense que le problème est dans l'entête
A voir...


----------



## Nephou (9 Décembre 2005)

Le port dont se sert mamp pour le serveur mySQL est 8889  (mais le serveur http est bien, lui, sur le port 8888)


----------



## thalyla (9 Décembre 2005)

:hein:  mais encore cela veut dire qu'il faut que je change 8888 en 8889 dans mon php ???
mais non cela ne marche toujours pas ....


----------



## fredmac75 (9 Décembre 2005)

thalyla a dit:
			
		

> ça marche SUPER !!!, le problème c'est quand je lui demande de récupérer ma base ex  du début du code :
> <?
> $host="localhost:8888";
> $user="root";
> ...



Bienvenu dans l'univers du débogage...
Bon, est ce que les deux premières lignes mysql_connect et mysql_select_db affiche "erreur dans la connexion" ou bien "erreur base de donnée" ?

A ce stade tu ne lui demandes pas de récuperer ta base de données. Tu inities simplement une connexion ...


----------



## thalyla (9 Décembre 2005)

OUI , mais j'ai suppimé les lignes qui demande l'affichage du tableau. Je reprends un exo plus simple et je reviens avec plus de pêche !!!


----------



## Anabys (9 Décembre 2005)

C'est normal alors, il faut bien afficher les infos, sinon écran blanc


----------



## thalyla (11 Décembre 2005)

j'ai oubliée de préciser que je ne vous envoyé qu'un extrait du code  :rose: , dans mon .php il y avait toute une partie où je demandais d'afficher  un tableau .
Je pris ce matin un nouvel exercice (tiré d'un bouquin) où la il affiche une message de réussite si l'on est bien connecté, et bien TOUJOURS UNE BELLE PAGE BLANCHE !!!!

code :<html>
<head>
<title> Listing 11.1 Ouverture d'une connexion à une base de données </title>
</head>
<body>
<div>
<?php
$host="localhost";
$port="8889";
$utilisateur="root";
$mdpasse="root";
$bdd="URL";
$lien = @mysql-connect($host,$port,$utilisateur,$mdpasse );
if (! $lien){
die("impossible de se connecter à Mysql: ".mysql_error();
}
print "<h2> Connexion réussie au serveur </h2> \n\n";
@mysql_select_db($bdd)
or die ("Impossible d'ouvrir $bdd : ".mysql_error() );
print "La base de données a été sélectionnée \"$bdd\"<br/>\n";
mysql_close ($lien);
?>
</div>
</body>
</html>
Est ce vous voyez un soucis ??? J'ai ajouté dans les variable la variable $port, mais même en changeant ça rien à faire , alors que je vous rappelle que COCOA lui se connecte     atchao


----------



## fredmac75 (11 Décembre 2005)

Thalyla,
si tu veux que l'on t'aide, répond aux questions que l'on te pose ...

----------------
je résume :
1 - tu tapes <? echo'bonjour' ?>, et cela fonctionne bien. il t'affiche bonjour... donc la liaison avec apache fonctionne
2 - sur  @mysql-connect($host,$port,$utilisateur,$mdpasse );
if (! $lien){die("impossible de se connecter à Mysql: ".mysql_error();

il me semble que le @ est de trop ... et tu peux simplifier ta requête en :
$link = mysql_connect($host,$utilisateur,$mdpasse) or die ("impossible de se connecter à mysql ".mysql_error());
echo 'connexion réussie';

Fait ça, et dis nous ce qui s'affiche (ou pas) ...


----------



## thalyla (11 Décembre 2005)

effectivement après test j'ai bien le message que s'affiche connexion réussie... le problème s'est qu'il saffiche même si je vire la fonction connection de la requête  :mouais:  
En fait il ne se connecte pas et fais seulement apparaitre la fonction echo (dommage, cela ma presque remonté le moral !!!!)


----------



## fredmac75 (11 Décembre 2005)

thalyla a dit:
			
		

> effectivement après test j'ai bien le message que s'affiche connexion réussie... le problème s'est qu'il saffiche même si je vire la fonction connection de la requête  :mouais:
> En fait il ne se connecte pas et fais seulement apparaitre la fonction echo (dommage, cela ma presque remonté le moral !!!!)



Est-ce que par hasard tu aurais un "include" ou un "require" qui traine dans le haut de ta page (au tout début) ?


----------



## Anabys (11 Décembre 2005)

1) Dans l'exemple ci-dessus, le echo s'affichera que la connexion à la base de données soit établie ou non.

2) Le connect or die n'est rien d'autre qu'un try/catch, donc s'il n'y a pas de message d'erreur (il n'y en a pas si la page reste blanche), c'est que la connexion est établie.

3) Le logiciel s'appelle CocoaMySQL, pas COCOA.

4) C'est un peu rapide de déduire que la connexion à la base de données ne fonctionne pas si l'on a même pas essayé de récupérer des données...

Crée une table "test" avec 2 champs, un "prenom" et l'autre "nom".
Crée une entrée avec prenom "martin", nom "dupont".

Puis:

```
$sql = "SELECT * FROM test WHERE prenom='martin'";
$req = $req = mysql_query($sql) or die("Erreur SQL: <br />".mysql_error());
$data = mysql_fetch_assoc($req);
echo 'Le nom de martin est: '.$data['nom'];
```

Si ça affiche dupont c'est bon, sinon en effet il y a un problème.


----------



## thalyla (11 Décembre 2005)

Quand je teste je demande de récupérer des données sur ma base, mais je n'ai pas mentionné tout le code qui  demande l'affichage pour ne pas encombrer le forum. Je vais essayer de faire ton test  m ais je ne sais pas comment je peux récupérer ton code. je ne vois pas de pièce jointe ???   :rose:  :rose:  :rose:


----------



## thalyla (11 Décembre 2005)

fredmac75 a dit:
			
		

> Est-ce que par hasard tu aurais un "include" ou un "require" qui traine dans le haut de ta page (au tout début) ?



NON il n'y a rien de plus ... qui traine


----------



## fredmac75 (11 Décembre 2005)

Anabys a dit:
			
		

> ...
> 4) C'est un peu rapide de déduire que la connexion à la base de données ne fonctionne pas si l'on a même pas essayé de récupérer des données...


Non, contrairement à ce que tu dis, l'initialisation d'une connexion est une chose, la récupération des données en est une autre. Avant toute chose, il faut savoir si la connexion est acceptée par Mysql. Ca ne sert strictement à rien de vouloir faire une requête si la connexion n'est pas OK...

C'est une question de méthode... avec la requête que je propose, il est possible de savoir si la connexion s'initie. Si la réponse est négative (affichage du mysql_error), le problème vient de là. Si la réponse est positive, il est possible de faire un select (étant entendu qu'une table existe) et de demander l'affichage du résultat.

Mais bon chacun sa méthode de débogage ...


----------



## Anabys (11 Décembre 2005)

Oui bah basiquement c'est que j'ai dit au point 2) de ma réponse...

Et je maintiens qu'il n'est pas possible de déduire que la connexion n'est pas établie du fait que la page reste blanche, dès lors qu'il n'a pas été vérifié qu'il y avait des données à afficher.


----------



## fredmac75 (11 Décembre 2005)

Anabys a dit:
			
		

> Et je maintiens qu'il n'est pas possible de déduire que la connexion n'est pas établie du fait que la page reste blanche, dès lors qu'il n'a pas été vérifié qu'il y avait des données à afficher.



Ca n'est pas non plus ce que je dis... je dis simplement qu'il ne sert à rien de vouloir afficher un requête, si l'on à pas pris soin de vérifier si une connexion était initiée. Si tu demandes l'affichage d'un requête, comment savoir si l'erreur provient de la connexion SQL, de l'accès à la base de données ou encore du Select... trois possibilités quand même.

Mais dans un cadre plus pédagogique et pour répondre aux problèmes de Thalyla, il est préférable de conseiller la passage d'un paramètre pour chaque requête. Dans le cas présent, un paramètre qui vérifie cette connexion et renvoi un affichage en ce sens (ex: "connexion effectuée")...

Pour nous cela peut paraître une évidence, mais pour quelqu'un qui débute en php/sql, il est bon de lui présenter une démarche constructive qui lui permette d'identifier plus facilement ces erreurs. Ne crois-tu pas ?


----------



## thalyla (11 Décembre 2005)

bon j'ai un début d'affichage avec safari  

```
<html><body>
<?php
$host="localhost";
$utilisateur="root";
$mdpasse="root";
$bdd="test";
$link = mysql_connect($host,$utilisateur,$mdpasse) or die ("impossible de se connecter à mysql ".mysql_error());
echo "connexion réussie <br/>\n";
mysql_select_db ($bdd)
or die ("impossible de se connecter $bdd: ".mysql_error());
print "La base de donnée a été selectionnée \"$bdd\"<br/>\n";
$resultat=mysql_query("SELECT*FROM personnel where PER_PRENOM='Marc'");
$nomb_lignes=mysql_num_rows ($resultat);
print "<p> $nomb_lignes marc ont ajouté des données</p>\n";
?>
</body></html>
```
par contre avec internet explorer il faut que je que ma conexion à internet soit active sinon il m'affiche "le chargement de "accès à l'url : http://localhost:8888/monfichier.php" a echoué"
donc je continue avec safari, mais ce n'est pas clair !!!  :hein: 
Sachant que les codes que je teste sont sur PC et le navigateur firefox cela peut engendrer des erreurs ???
a suivre et merci de votre patience


----------



## kasom (11 Décembre 2005)

Bon alors j'ai rien, mais alors rien suivit de la discussion ! J'arrive comme un mort dans la soupe, complétement à l'improviste... genre skouateur. C'est juste histoire de poster un message et de m'occuper 

Mais j'ai quand même un ptit truc à dire pour aider : Si on touche que dalle dans les utilisateurs système, l'utilisateur privilégié qui à absolument tous les droit c'est belle et bien ROOT ($utilisateur="root";), mais cet utilisateur magic... n'a pas de mot de passe (sauf modification). Donc à moins qu'il y ait une raison, la variable *$mdpasse* n'est pas $mdpasse="root"; mais devrait être $mdpasse=""; .

Enfin, voilà ce que je peux dire... ah oui ! Et aussi : BONNE NUIT 


Think... simply think !

Kasom


----------



## Anabys (12 Décembre 2005)

Oui fred je suis d'accord, mais: 
- son code est clean 
- la page reste blanche: donc le "or die(message)" n'est pas généré, donc la connexion se fait bien
- donc => c'est un problème, soit dans la récupération des données, soit dans leur affichage.

Si avec CocoaMySQL cela fonctionne, on peut en déduire que le serveur fonctionne, et que les tables ne sont à priori par corrompues.

@thalyla >
 InternetExplorer est une saleté, il ne fait rien correctement. Si ça fonctionne avec Safari, c'est que ça fonctionne. En outre, tu n'as pas à te préoccuper du changement de plateforme (Mac/Win), ni de navigateur (Safari/Firefox), puisque le code PHP est exécuté par le serveur. Le navigateur n'intervient pas là dedans. En revanche, quand tu fait un echo ou un print, là il faut que le code XHTML soit compatible avec le navigateur, puisque c'est lui qui l'affichera.


----------



## fredmac75 (12 Décembre 2005)

Anabys a dit:
			
		

> Oui fred je suis d'accord, mais:
> - son code est clean
> - la page reste blanche: donc le "or die(message)" n'est pas généré, donc la connexion se fait bien
> - donc => c'est un problème, soit dans la récupération des données, soit dans leur affichage.
> ...




je ne sais même plus quel code elle utilise réellement ?


----------



## Anabys (12 Décembre 2005)

Celui du post #112


----------



## thalyla (12 Décembre 2005)

Ok j'ai tout compris : le laisse tomber cette SALETÉ d'internet explorer qui interprète MAL ce que je lui dis    et je continue de collaborer avec Safari pour la suite de mes codes !!!


----------



## geoffrey (12 Décembre 2005)

thalyla a dit:
			
		

> Ok j'ai tout compris : le laisse tomber cette SALETÉ d'internet explorer qui interprète MAL ce que je lui dis    et je continue de collaborer avec Safari pour la suite de mes codes !!!



 bonne ID


----------



## Anabys (12 Décembre 2005)

btw ça change rien au code PHP lui même hein


----------



## NeoDym.art (14 Décembre 2005)

Aller, pour en rajouter une couche, spécialement parce ue ce topic ma bien plû;

Je voudrais savoir qu'est ce que je peux faire avec une application tel MacSQL3.... et comment? et pourquoi? et...? je peux gérer ça avec un serveur?

J'ai un joli petit bouquin de plusieur centaine de pages sur le code SQL, qu'"ils" utitlisent sans cesse avec Acess de windaube, et moi je voulais savoir comment je pouvait utilisé ce code: s'insére il partout, portabilité parfaite, par exemple, avec le code SQL puis-je appelé une base MySQL avec du code SQL dans un script en Java, (et l'applescript permet aussi de tel appels?)

Peut on interoger une base filemaker pro avec du code SQL...
En fait toute les questions sur le mystérieux SQL, car au fond PHP permet sur le net toutes ces interogations.

T.


----------



## Anabys (15 Décembre 2005)

MacSQL est un logiciel qui permet de passer des requêtes au serveur SQL depuis une interface graphique. "frontend gui" comme ils disent. A mon avis (pas partagé par tous), cela ne sert que dans 2 cas: 1) pour les newbies qui ne veulent pas avancer et qui ne veulent pas se compliquer la vie, 2) pour ceux qui ont besoin d'effectuer 3872 requêtes par jour sur 372 bases différentes... Dans les autres cas, je pense qu'il est préférable d'apprendre le SQL et d'opérer directement sur le serveur en SSH. A toi de voir ce que tu préfères, l'utilisation d'un tel logiciel t'évite de trop te prendre la tête pour passer tes requêtes au serveur, mais tu seras limité aux fonctions qu'il supporte. Il y a aussi MySQLAdministrator et CocoaMySQL qui sont gratuits et qui font basiquement la même chose. Sinon, directement en ligne, phpMyAdmin ou eskuel.

Le SQL est le langage de communication avec le serveur de la base de données. Pour dire au serveur de te donner le contenu du champ "nom" de la table "famille", par exemple, tu dois lui dire "SELECT nom FROM famille". Pour insérer une valeur dans la table famille, tu devras lui dire "INSERT INTO famille nom='dupont'". Et ainsi de suite. Ce que font les logiciels comme ceux précités n'est rien d'autre que la génération et la transmission au serveur de telles instructions à partir des interactions de l'utilisateur avec l'interface graphique.

Tous les serveurs de données n'utilisent pas le SQL de la même manière (et ils n'utilisent même pas tous le SQL). C'est normal, ça dépend de leur fonctionnement, et de leurs possibilités. Si tu veux faire simple et efficace, MySQL est parfait. Tu auras l'avantage de trouver ce serveur sur 99,99% des hébergeurs qui proposent une base de données. Si tu veux quelque chose de plus puissant, du genre Oracle ou Sybase, ça sera beaucoup plus compliqué -et cher-, et je ne pense pas que ça soit adapté à tes besoins.

On peut communiquer avec certains serveurs de base de données depuis un programme PHP. C'est le cas de MySQL et de PostgreSQL notamment (les serveurs gratuits les plus répandus). Le trio Apache+PHP+MySQL est devenu célèbre, il est très utilisé (exemple: ce forum), et tu trouveras beaucoup d'aide et de support pour apprendre à mettre tout ça en oeuvre. 

Attention cependant, chez la plupart des hébergeurs, la base MySQL n'est accessible que depuis leurs serveurs à partir d'un code PHP. Donc tu ne pourras pas utiliser un code PHP sur un serveur X qui fait appel à la base de données de l'hébergeur Y. Le second problème majeur de MySQL est la restauration des bases de données, car les outils en ligne qu'ils proposent (phpMyAdmin, eskuel) ne supportent pas les fichiers de plus de 2 MO. Et les bases de données de plus de 2 MO, c'est courant. Il faut donc scinder les fichiers (ce qui est chiant et ne fonctionne pas à tous les coups: dernièrement, sur 72 fichiers scindés (grrr), 65 sont passés sans problèmes, et pour les autres j'ai du copier/coller le contenu dans le champ de texte de phpMyAdmin au lieu de passer par le dump basique), ou passer par SSH, sachant que l'accès SSH n'est souvent activé que pour les hébergements de type pro (il ne l'est pas en général pour les offres d'entrée de gamme des hébergeurs).

Pour FM je passe la main à quelqu'un d'autre, je n'ai jamais approfondi ce soft (et je l'aime pas des masses d'ailleurs).


----------



## geoffrey (15 Décembre 2005)

Juste une remarque sur le "code SQL" comme Neo dit. Attention, du code SQL pour access ne marchera certainement pas directement sur une base MySQL. Les requetes simples, oui, mais autrement, chaque base qui existe adapte plus ou moins le SQL à sa sauce.

La meilleure source d'info c'est le net, le site MySQL par exemple , laisse tomber les bouquins.


----------



## NeoDym.art (15 Décembre 2005)

Merci bien! Non je n'ai pas d'utilisation particulière. Une simple question de curiosité car j'ai ça qui stock sur mon mac et je ne savais pas vraiment à quoi sa sert.

Je génère des page html et autre code simple style JS et PHP, flash, mais uniquement pour faire des page plus ou moin simple et peut intreactive. En fait c'est que je ne comprend pas très bien commment se passe toute ces relations entre serveurs, bases de donnnées, ect... Pour l'instant je reste uniquement à codés de jolies pages!

Si j'ai bien compris MySQL et SQL sont deux langages différents, l'un plus spécifique et l'autre qui s'utilise pour interroger des bases de données sur un serveur? je ne comprend pas très bien denouveau leur différences...

Puis -je interragir avecc une base sur mon ordi avec du code PHP et MySQL?

Ou par exemple, develloper un programme qui chaque fois qu'il localise une nouvelle annonce sur un site quelquonc qui met à jour souvent des annonces, il les mettent dans une base de donnée localisée?

(ma curiosité et grande!! il faudrait que j'essaye de déchiffrer et scripter quelque lignes pour essayer: mais le temps manque!)

T.


----------



## Anabys (16 Décembre 2005)

NeoDym.art a dit:
			
		

> Si j'ai bien compris MySQL et SQL sont deux langages différents, l'un plus spécifique et l'autre qui s'utilise pour interroger des bases de données sur un serveur? je ne comprend pas très bien denouveau leur différences...


Non t'as rien compris 
Je vais essayer de la refaire, en plus clair. L'espression "base de données" est polysémique, elle désigne plein de choses différentes: le contenu, le contenant, le serveur, et l'ensemble de ces 3 éléments. On l'emploie un peu à tort et à travers.

Tu pars avec un contenu: par exemple une liste de personnes, avec pour chaque personne le nom, prénom, adresse, numéro de tel. On appelle généralement "base de données" un ensemble de procédés qui vont permettre d'exploiter ces données relatives aux différentes personnes.

Le serveur de données est le moteur de la base de données. C'est lui qui stocke les informations et te permet d'effectuer diverses opérations: ajouter une personne en spécifiant ses nom, prénom, adresse et numéro de tel; trier les personnes, par exemple par ordre alphabétique; afficher les personnes dont le nom commence par A ou B mais pas C et donc le numéro de téléphone débute par 01 mais pas 04; supprimer une personne de la liste, etc. MySQL est un serveur de données.

Pour que le serveur puisse réaliser des opérations sur les données, il faut lui dire de le faire. Il ne va pas s'amuser à trier les personnes par ordre alphabétique sans qu'on lui demande, tu t'en doutes. Pour réaliser ces opérations, il faut donc lui donner des ordres, qu'on appelle des "requêtes" (en anglais, "query" ou "queries" au pluriel). Ces requêtes sont formulées, non pas en anglais ou en français, mais en SQL. SQL est donc le langage que comprend MySQL (et bon nombre d'autres serveurs de données), et qui te permet de formuler les requêtes.

Puis il faut transmettre les requêtes au serveur, car il ne peut pas lire dans les pensées, ni sur la feuille de papier posée sur mon bureau. C'est bien beau de pouvoir écrire une requête en langage SQL disant au serveur de changer le prénom de M. Dupont, en remplaçant Robert par Martin, mais encore faut-il transmettre cette requête au serveur, pour qu'il l'exécute. Pour cela, il y a plusieurs procédures. La procédure "normale" passe par la ligne de commande, comme pour les ordinateurs qui ne connaissaient pas encore d'interface graphique. Tu peux ouvrir le Terminal dans /Applications/Utilitaires/ et, en écrivant ce qu'il faut, transmettre toutes les requêtes que tu veux au serveur. Même principe, si tu veux accéder au serveur MySQL de ton hébergeur, tu utiliseras le protocole SSH (en gros comme telnet, mais sécurité, crypté).

Mais tout ça n'est pas très pratique et ne nous avance pas: on ne va pas s'amuser à écrire les requêtes et à les transmettre au serveur manuellement ! Pour l'utilisateur, toute communication avec le serveur par SSH est de fait exclue (pour de multiples raisons, dont deux qui sont évidentes: 1) il surfe sur internet avec Safari, on va pas lui demander d'ouvrir le terminal pour taper plein de trucs bizarres... 2) il faudrait qu'il connaisse le nom d'utilisateur et mot de passe qui t'a été attribué par l'hébergeur... pas pratique !). C'est là qu'intervient le PHP.

Le rôle du PHP est triple. D'une part il sert à construire les requêtes, d'autre part il sert à transmettre les requêtes au serveur, et pour finir il sert à interpréter et manipuler les réponses du serveur à ces requêtes.

Par exemple, tu crées un formulaire avec le champs nom, prénom, adresse et numéro de téléphone. Ce formulaire va renvoyer vers la page "ajouter.php" quand on appuie sur le bouton "Envoyer". La page "ajouter.php" va récupérer les valeurs transmises par le formulaire, en utilisateur les tableaux globaux PHP (ici ça sera $_POST['nom'], $_POST['prenom'], etc).

Une fois les variables obtenues, on peut construire la requête, il suffit d'assembler les pièces comme dans un jeu de Lego. La requête écrite "à la main" donnerait: "INSERT INTO personnes (nom, prenom) VALUES ('Dupont','Martin')". Mais M. Martin Dupont, tout gentil qu'il est, a rempli le formulaire, et a cliqué sur le bouton "Envoyer", et grâce à cela, on a pu récupérer les données entrées dans les champs dans les tableaux PHP. La requête devient donc: "INSERT INTO personnes (nom, prenom) VALUES ('."$_POST['nom']".','."$_POST['prenom']".')";

Une fois la requête créée, PHP peut l'envoyer au serveur très facilement (en utilisant une certaine fonction).

Si le serveur dit que c'est bon, ton programme PHP le saura et pourra par exemple afficher à l'utilisateur "C'est bon". Si c'est pas bon, ton programme PHP le saura et pourra par exemple afficher à l'utilisateur "C'est pas bon crétin t'as oublié de mettre ton prénom". Il reçoit donc les réponses du serveurs aux requêtes passées, et réagit en fonction de ces réponses.

Voilà, en gros, comment ça fonctionne.

Pour d'autres infos, plus générales encore, tu peux lire  cet article.



			
				NeoDym.art a dit:
			
		

> Puis -je interragir avecc une base sur mon ordi avec du code PHP et MySQL?


Oui, c'est ce qu'explique l'article précité. Il te faut avoir Apache+PHP+MySQL et c'est parti.



			
				NeoDym.art a dit:
			
		

> Ou par exemple, develloper un programme qui chaque fois qu'il localise une nouvelle annonce sur un site quelquonc qui met à jour souvent des annonces, il les mettent dans une base de donnée localisée?


Ca j'ai pas compris par contre :mouais:

Si tu veux dire que ton programme PHP a des interactions avec d'autres serveurs sur internet, c'est exclu. Les programmes PHP s'exécutent sur le serveur sur lequel ils sont installés, et pas plus (pour des raisons évidentes de sécurité). Rien n'empêche cependant un programme PHP d'envoyer du contenu HTTP à un serveur tiers, mais il faudra que ce serveur soit doté des scritps appropriés pour accueillir ce contenu.

Si tu veux tu demandes si les trucs du genre Google Adsense qui balancent des pubs (aux chiottes la pub !!! en passant  ) de partout, et aléatoirement, ou de manière ciblée en fonction du contenu du site qui les accueilles, alors oui, c'est une base de données qui gère le système.

De même ce forum est construit sur une base de données. Quand tu écris un message, et que tu cliques sur "Envoyer", le mécanisme est exactement celui décrit ci-dessus (a fortiori avec vBulletin qui fonctionne justement avec PHP et MySQL).


----------



## NeoDym.art (17 Décembre 2005)

Woaw! merci beaucoups, tout le monde rêve d'une réponse aussi déatiller et clair, vraiment merci! Et maintenant j'ai qu'une envie, c'est de m'y mettre... le temps, toujours le temps! mais je vais le trouver! Surtout avec un article si bien que celui que tu ma proposé.

Je commence à saisir. Pour assécher totatalement ma curisosité: donc SQL et mon gros boouquin ne sont pas très utile dans une base de donnée simple créee avec le serveur données MySQL, puisque PHP intègre déjà certaine commande lui permettant d'interragir avec... ?

Pour expliquer ce que tu n'as pas compris:



> Citation:
> Posté par *NeoDym.art*
> _ Ou par exemple, develloper un programme qui chaque fois qu'il localise une nouvelle annonce sur un site quelquonc qui met à jour souvent des annonces, il les mettent dans une base de donnée localisée?
> _
> ...



En gros, j'illustrait mes questions par un exemple. J'imaginais un site avec des news remis continuellement à jour. Je peux develloper un programme qui chercherait ces news et les mettrait dans une base de donné. Par exemple du JS et du MySQL. Je demandais donc comment le SQL s'intégrait au programme? (ou du PHP?)

T. bonne soirée


----------



## Anabys (17 Décembre 2005)

Si tu veux récupérer les news à partir de sites sur internet, il te faudra probablement recourir au RSS. Là c'est carrément un autre sujet, et c'est autrement plus compliqué. En plus, c'est illégal et intellectuellement contestable de reprendre des articles écrits par d'autres, à moins d'obtenir leur consentement (et ça faut pas rêver, tu l'auras pas).

Par contre tu peux mettre en place un système grâce auquel tu écris tes propres news.

Un formulaire d'ajout de la news en XHTML qui balance l'info en POST vers une page écrite en PHP qui ajoute le contenu des champs dans la base de données. Une page en PHP qui récupère les infos depuis la base de données, et qui les affiche sur une page de ton site. Très facile à faire. L'article mis en lien dans mon précédent message t'aidera à réaliser ceci.


----------



## NeoDym.art (17 Décembre 2005)

Ok merci beaucoups!

J'ai lu en gros ton article: ça n'a pas l'air très compliqué, mais je crains le petit truc qui ne fonctionne pas. C'est toujours comme ça, il y a toujours un truc qui ne fonctionne pas! on appel ça la pratique...

Je vais donc, de ce pas, pratiquer!

T.


----------



## AntoineD (20 Décembre 2005)

Salut ! Je suis en train de lire cet intéressant thread &#8211; j'en suis à la page 2...  &#8211; et j'ai donc essayé d'installer Mamp, a priori ça doit marcher et pourtant :







Arf ! Mamp ne marche pas chez moi ?... 

Bizarre, non ?

A noter que j'avais effectué la mis en marche de php via le terminal comme c'est indiqué au début de ce thread mais bon, rien, nada, ça roulait pas non plus. De quel côté je dois fouiller si je veux régler mon problème ?


----------



## geoffrey (20 Décembre 2005)

t'as bien configurer l'username et le password ?


----------



## AntoineD (20 Décembre 2005)

geoffrey a dit:
			
		

> t'as bien configurer l'username et le password ?



Hum... non, je n'ai eu à le faire nulle part. En tout cas, je ne trouve pas ces réglages dans Mamp. :-/


----------



## geoffrey (20 Décembre 2005)

T'as essayé d'arreter et de redemarrer le serveur MySQL ? Et est ce que tu avais deja installé MySQL tout seul autre part ?


----------



## AntoineD (20 Décembre 2005)

geoffrey a dit:
			
		

> T'as essayé d'arreter et de redemarrer le serveur MySQL ? Et est ce que tu avais deja installé MySQL tout seul autre part ?



Oui, j'ai essayé. 

Et non, je n'ai pas installé mysql. Enfin, je crois. Le seul truc que j'ai fait, c'est la mise en place de php4 via le terminal.


----------



## geoffrey (20 Décembre 2005)

MAMP ne s'en charge pas ? (de la mise en place de php4 ??)


----------



## AntoineD (20 Décembre 2005)

geoffrey a dit:
			
		

> MAMP ne s'en charge pas ? (de la mise en place de php4 ??)



Ben ça je peux pas dire. Mais comme tu peux le voir sur l'image que j'ai posté, la petite diode est verte, le serveur my sql marche et ça doit donc "rouler".

Par ailleurs, quand j'édite mes pages sous dreamweaver, il repère les fonctions php (qui chez moi consistent pour le moment à "include()" surtout).

Y'a un lien ?

Moi je sais pas trop quoi faire... :-/

Et ça va me poser pb. quand je vais commencer à créer une base de donnée pour untableau dynamique, non ?


----------



## geoffrey (20 Décembre 2005)

La diode allumé ca veut simplement dire que ton process MySQL tourne, ca veut pas forcement dire que ca fonctionne...

C'est à partir de MAMP que tu n'arrives pas à te connecter à la base MySQL.

Est ce que avec une appli externe (genre YourSQL ou CocoaSQL) tu arrives à te connecter à la base ? (ou alors en ligne de commande avec le terminal ?)


----------



## AntoineD (20 Décembre 2005)

geoffrey a dit:
			
		

> La diode allumé ca veut simplement dire que ton process MySQL tourne, ca veut pas forcement dire que ca fonctionne...
> 
> C'est à partir de MAMP que tu n'arrives pas à te connecter à la base MySQL.
> 
> Est ce que avec une appli externe (genre YourSQL ou CocoaSQL) tu arrives à te connecter à la base ? (ou alors en ligne de commande avec le terminal ?)




euh... pardon ? (suis pas un grand du webdev moi...   )


----------



## geoffrey (20 Décembre 2005)

Alors il existe des applications graphique qui te permette de gérer des bases de données, deux de ces applis sur mac sont YourSQL et CocoaSQL. Elle te permette d'accéder directement à ta base.

"Tester" la base MySQL démarrée et installée avec MAMP serait deja un bon point de départ pour vérifier ta base.

Sinon il faut utiliser le terminal pour vérifier cela 

Mais ce topic dit deja tout ca (allez, y'a que 7 pages  )


----------



## Anabys (20 Décembre 2005)

Hop je reviens squatter la place.

Alors voilà:
- le problème: les ports de MAMP ne sont pas ceux par défaut, il faut le préciser dans le code
- la solution: lire la documentation de MAMP, ou faire une recherche sur le forum, ou changer les ports de MAMP et mettre ceux par défaut...

Pas la peine de chercher plus loin en fait.

Allez, je retourne près du sapin


----------



## AntoineD (20 Décembre 2005)

Anabys a dit:
			
		

> Hop je reviens squatter la place.
> 
> Alors voilà:
> - le problème: les ports de MAMP ne sont pas ceux par défaut, il faut le préciser dans le code
> ...



Je continue à lire ce thread et justement j'en suis à lire ce tuto. J'vais pas à pas, j'en suis à l'installation de php my admin


----------



## geoffrey (20 Décembre 2005)

Euh, t'es sur ? Parce que chez moi, j'ai installé MAMP et avec les ports par default (8888 pour Apache et 8889 pour MySQL), ca fonctionnait sans problème.


----------



## AntoineD (20 Décembre 2005)

geoffrey a dit:
			
		

> Euh, t'es sur ? Parce que chez moi, j'ai installé MAMP et avec les ports par default (8888 pour Apache et 8889 pour MySQL), ca fonctionnait sans problème.



En parlant de problème, je suis donc sur le tuto dont je parle un peu plus haut et j'ai comme un problème... car on me dit ça :



> Ouvrez avec un éditeur de texte brut (c&#8217;est-à-dire, à éviter Word, OpenOffice ou des logiciels de ce genre) le fichier *config.inc.php* situé  dans le dossier de PHPMyAdmin:
> 
> *Macintosh HD/Utilisateurs/votre_nom/Sites/phpmyadmin/config.inc.php*
> Vers le début du document, renseignez les informations de configuration comme ceci:
> ...



Et vous savez ce que c'est mon problème ? que le fichier *config.inc.php *n'existe pas chez moi 

J'ai pourtant téléchargé un beau truc récent  : phpMyAdmin-2.7.0-pl1

Je fais quoi ? d'autant que phpmyadmin démarree au poil  
il manque juste la possibilité de créer un password "root"...


----------



## Anabys (20 Décembre 2005)

Si, il existe, c'est obligé. Fais une recherche avec spotlight ou un locate dans le terminal. Ca fonctionne et c'est normal: par défaut la propriété password est vide, et ne pas avoir de mot de passe c'est comme avoir un mot de passe vide. Si tu changes le mot de passe, tu devras éditer config.inc.php. Si tu ne changes pas, pas de souci.

Par ailleurs, si tu suis le tuto, tu n'utiliseras pas MAMP mais le serveurs Apache de OS X avec un mysql installé depuis un package officiel (ce que j'ai toujours préféré personnellement, mais les avis sont partagés là dessus). Tu peux alors changer le mot de passe depuis le panneau MySQL des préférences système (menu pomme).

Mais si tu n'y arrives vraiment pas, ce n'est pas dramatique. Ton serveur sql ne sera de toute façon pas accessible depuis internet pour peu que tu sois derrière un routeur.

@geoffrey: oui pratiquement sûr. C'est très très classique qu'un débutant n'arrive pas à faire fonctionner un soft php/mysql avec MAMP, à cause justement du fait que MAMP n'utilise pas les ports par défaut, alors que le fichier de configuration du soft est réglé sur ces ports (ou pire, n'a pas de propriété pour changer le port...). Il y a d'ailleurs eu un thread ici dans la semaine, avec ce problème (je sais pas où il est passé ce thread d'ailleurs... flemme de chercher).


----------



## AntoineD (20 Décembre 2005)

Anabys a dit:
			
		

> Si, il existe, c'est obligé. Fais une recherche avec spotlight ou un locate dans le terminal. Ca fonctionne et c'est normal: par défaut la propriété password est vide, et ne pas avoir de mot de passe c'est comme avoir un mot de passe vide. Si tu changes le mot de passe, tu devras éditer config.inc.php. Si tu ne changes pas, pas de souci.


Eh non ! désolé, il existe pas. Je suis sur 10.3, donc pas de spotlight, mais j'ai fait une recherche et, même en tapant juste "config", j'ai pas celui-ci. J'ai téléchargé phpMyAdmin-2.7.0-pl1.zip

Alors j'ai une astuce : j'ai téléchargé une version plus vieille dont j'ai piqué le fichier dont on parle.


> Par ailleurs, si tu suis le tuto, tu n'utiliseras pas MAMP mais le serveurs Apache de OS X avec un mysql installé depuis un package officiel (ce que j'ai toujours préféré personnellement, mais les avis sont partagés là dessus).


Ok, très bien pour moi. Je peux donc virer MAMP ?

Mais je n'ai toujours pas trouvé comment modifier le mot de passe :



> Tu peux alors changer le mot de passe depuis le panneau MySQL des préférences système (menu pomme).


Ben non, regarde ce que j'ai :












Tu vois, y'a rien...



> Mais si tu n'y arrives vraiment pas, ce n'est pas dramatique. Ton serveur sql ne sera de toute façon pas accessible depuis internet pour peu que tu sois derrière un routeur.


Tant mieux, alors. Je devrais peut-être configuer un firewall, non ?

En tout cas, ça veut dire que je peux tranquillement créer une base et hop ! ?

cool.

En tout cas, encore bravo pour ton tuto et le reste, grâce à tes interventions et aux autres d'ailleurs, on comprend tout très vite, ici 

...la mise en pratique est plus "hardue"...


----------



## Anabys (20 Décembre 2005)

1) Pour config.inc.php: Le fichier s'appelle peut être config.php ou configuration.php ou je ne sais quoi d'autre, sur une version plus ancienne de phpMyAdmin, mais toujours est-il qu'il existe. S'il n'existait pas, phpMyAdmin ne pourrait pas fonctionner. Et ça c'est sûr et certain. Pour savoir comment il s'appelle, reporte toi au fichier readme de ta version de phpMyAdmin.

2) Le panneau des préférences système que tu as est celui de la version officielle de MySQL. Il te faut le panneau serverlogistics, disponible dans cette image disque: http://www.serverlogistics.com/software/packages/panther/CompleteMySQL-4.0.21.dmg.gz

3) Le routeur fait office de firewall, car un port non redirigé, c'est un peu comme un port fermé. Bref, tu peux dormir sur tes deux oreilles.


----------



## fredmac75 (20 Décembre 2005)

Zut grillé, il est vraiment fort anabys


----------



## AntoineD (21 Décembre 2005)

fredmac75 a dit:
			
		

> Zut grillé, il est vraiment fort anabys



Ça, c'est pas faux. 

A vous deux, je dois dire que je comprends pas mal de nouvelles choses dans la construction de mon nouveau site. Je suis notamment en train de bâtir une liste sous forme de tableau qui se devra d'être dynamique pour choisir des reportages en fonction du lieu, de la date, etc.

Merci à vous deux 

Même si ça coince un peu...  Mais ça va finir par rentrer


----------



## Anabys (21 Décembre 2005)

@fred: /blush :king::love:

@antoine: C'est un plaisir d'aider  Et puis j'adore flooder ce thread 
Je reconnais ton site... le post sur la liste du menu, et les dtd qui ne rendent pas bien avec Firefox. C'est réglé apparement !


----------



## fredmac75 (21 Décembre 2005)

AntoineD a dit:
			
		

> ...Je suis notamment en train de bâtir une liste sous forme de tableau qui se devra d'être dynamique pour choisir des reportages en fonction du lieu, de la date, etc.
> 
> ...



Chouette, ça commence à devenir intéressant. J'en ai l'eau à la bouche . Surtout n'hésite pas...


----------



## AntoineD (21 Décembre 2005)

fredmac75 a dit:
			
		

> Chouette, ça commence à devenir intéressant. J'en ai l'eau à la bouche . Surtout n'hésite pas...




...vous allez transpirer ah ah ah


----------



## Anabys (21 Décembre 2005)

Ca ressemble à ça, non ?
Ou à  ça  ?


----------



## AntoineD (21 Décembre 2005)

Anabys a dit:
			
		

> Ca ressemble à ça, non ?



Oui, exactement ! Enfin, ça DEVRA ressembler à ça... 



> Ou à  ça  ?



> Ben là, ce sujet m'aide bien mais je viens d'arriver au moment où le rédacteur (toi ?) dit d'écrire le code qui manque tout seul. Or je suis pas bien sûr d'avoir tout compris... argh.


----------



## Anabys (21 Décembre 2005)

Ok alors voyons:

- Pour le tuto, ce qui t'intéresse c'est tout jusqu'à "Mise en pratique: affichage en liste". Avant ce paragraphe, il y a le code et les explications pour tout bien paramétrer, et ce paragraphe traite du coeur du problème: afficher les données tabulaires.

- Il y a une limitation au tuto: il n'explique pas comment modifier l'affichage des données du tableau (donc le rendre dynamique). C'est con comme chou, mais c'est mieux quand c'est expliqué. Je vais rajouter ça, je vous tiens au courant dès que c'est validé et mis en ligne.


----------



## geoffrey (21 Décembre 2005)

Tiens j'en profite pour poser une question dont je n'ai pas eu la réponse sur le forum de dotclear. C'est par rapport à mon blog (cf l'icone dans ma signature), j'aimerais ajouter un bouton "convert to pdf" à mes billet qui convertit le billet en pdf et soit ouvre le pdf, soit l'enregistre. Est ce que se serait réalisable ?


----------



## AntoineD (21 Décembre 2005)

Anabys a dit:
			
		

> Ok alors voyons:
> 
> - Pour le tuto, ce qui t'intéresse c'est tout jusqu'à "Mise en pratique: affichage en liste". Avant ce paragraphe, il y a le code et les explications pour tout bien paramétrer, et ce paragraphe traite du coeur du problème: afficher les données tabulaires.



Oui, le principe est simple et j'ai compris 
Mais ce qui va me poser problème, c'est l'écriture d'un code propre...  


> - Il y a une limitation au tuto: il n'explique pas comment modifier l'affichage des données du tableau (donc le rendre dynamique). C'est con comme chou, mais c'est mieux quand c'est expliqué. Je vais rajouter ça, je vous tiens au courant dès que c'est validé et mis en ligne.



Excellente initiative, je t'aurais posé la question, sinon. 

Pendant qu'on y est : ça se fera comment, l'ajout de lien à certaines données ?


----------



## Anabys (21 Décembre 2005)

Voilà le tuto a été mis à jour 

@antoine: que veux-tu dire par "ajout de lien à certaines données" ? Tu veux relier des enregistrements entre eux, ou relier des tables entre elles, ou encore autre chose ?

Pour ton code je peux t'envoyer le source du premier lien de mon post précédent, si ça peut t'aider. M'enfin ça risque d'être un peu compliqué (et le code n'est pas particulièrement "propre", il est en chantier total même). En tout cas si tu as besoin d'aide pour rédiger tout ça, on continue ici 

@geoffrey: je ne me suis jamais posé la question, mais ça me semble difficilement réalisation. Ce que tu peux faire, c'est ouvrir la fenêtre "imprimer" (celle de Pomme+P) si l'utilisateur clique sur un lien, mais il devra choisir l'imprimante virtuelle PDF manuellement. Ca c'est le premier problème, il est déjà énorme. Le second est pire. Sur Mac, on a un petit menu "PDF" dans la fenêtre pour imprimer (toujours celle de pomme+P), merci Apple. Sur Windows, il n'ont pas ça (Linux non plus d'ailleurs). Pour imprimer en PDF ils doivent installer l'imprimante virtuelle PDF, ce qui est réservé aux initiés (c'est-à-dire 1% des utilisateurs).


----------



## geoffrey (21 Décembre 2005)

Non, c'est pas ca que je voudrais. J'aimerais ajouter une icone "convert to pdf" qui convertit automatiquement le billet en pdf et ensuite, propose soit de l'ouvrir, soit de le telecharger (comme quand tu cliques directement sur un pdf).

En cherchant un peu sur les forums de dotclear, ca semble finalement possible on en parle ici.


----------



## AntoineD (21 Décembre 2005)

Anabys a dit:
			
		

> Voilà le tuto a été mis à jour



merci 


> @antoine: que veux-tu dire par "ajout de lien à certaines données" ? Tu veux relier des enregistrements entre eux, ou relier des tables entre elles, ou encore autre chose ?



Ben, en fait, je veux qu'à chaque ligne se trouve un lien du genre "voir la galerie". C'est tout bête  En fait, j'amorce de futures question sur la création du formulaire qui me permettra de créer ma base au fur et à mesure 



> Pour ton code je peux t'envoyer le source du premier lien de mon post précédent, si ça peut t'aider. M'enfin ça risque d'être un peu compliqué (et le code n'est pas particulièrement "propre", il est en chantier total même).



Oui, pourquoi pas, au cas où  Tu trouveras mon email sur mon site 




> En tout cas si tu as besoin d'aide pour rédiger tout ça, on continue ici



C'est pas tombé dans l'oreille d'un sourd 



> @geoffrey: je ne me suis jamais posé la question, mais ça me semble difficilement réalisation. Ce que tu peux faire, c'est ...



Et pourquoi ne pas créer les pdf chez soi pour les uploader ensuite ? Il ne suffira plus que d'un bête lien


----------



## AntoineD (21 Décembre 2005)

geoffrey a dit:
			
		

> En cherchant un peu sur les forums de dotclear, ca semble finalement possible on en parle ici.



Ah ! je comprends mieux l'intérêt


----------



## geoffrey (21 Décembre 2005)

> Et pourquoi ne pas créer les pdf chez soi pour les uploader ensuite ? Il ne suffira plus que d'un bête lien


Ca ferait trop de manipulation :
1 - ecrire le billet
2 - le convertir en html
3 - le recupérer
4 - le convertir en pdf
5 - l'uploader
6 - ajouter le lien sur le billet
...

Ca fait 6 etapes de trop  (je suis fainéant  )


----------



## Anabys (21 Décembre 2005)

@geoffrey: 

Oui je vois ce que tu veux faire. Dans l'absolu c'est pas compliqué, puisque des lib existent déjà pour générer du PDF à la volée. La plus connue est PDFLib, dont le fonctionnement est pas mal expliqué dans cet article. Le problème est qu'elle n'est pas gratuite. Côté gratuit, il y a FPDF, mais je ne sais pas ce que ça vaut.

En partique ça sera un peu plus compliqué, puisque tu devras te dépatrouiller avec dotclear pour que celui-ci te transmette les infos nécessaire à passer en arguments dans les fonctions de la lib pdf. Je ne connais pas dotclear (je suis plutôt WordPress), mais je suppose que l'utilisation des fonctions du logiciel doit être expliquée quelque part dans un wiki... En tout cas, ça sera pas simple, sans compter les futures mises à jour qui t'obligeront certainement à mettre à jour le code 

@Antoine:
C'est pas compliqué en fait, et ça correspond à la partie "Astuce: affichage par fiche" du tuto. Dans le lien d'exemple donné dans un post précédent, c'est mis en oeuvre grâce au petit bouton "Voir" à gauche du nom de chaque enregistrement. Par contre, si chaque "catalogue" est stocké dans une table différente de la base de données, tu auras besoin d'une liaison entre tables, ce qui est beaucoup plus compliqué.


----------



## geoffrey (21 Décembre 2005)

J'peux pas te bouler pour l'instant mon cher, mais le coeur y est 

(maintenant il me faut le temps de voir tout ca !!)


----------



## Anabys (21 Décembre 2005)

geoffrey a dit:
			
		

> J'peux pas te bouler pour l'instant mon cher, mais le coeur y est
> 
> (maintenant il me faut le temps de voir tout ca !!)



:love:

Pas grave


----------



## AntoineD (21 Décembre 2005)

Anabys a dit:
			
		

> Par contre, si chaque "catalogue" est stocké dans une table différente de la base de données, tu auras besoin d'une liaison entre tables, ce qui est beaucoup plus compliqué.



Rassure-toi, c'est juste pour "linker" vers des galeries html. 

Je ne suis pas fou...


----------



## Anabys (21 Décembre 2005)

Pas de souci alors, c'est con comme chou, et tout est expliqué dans le tuto


----------



## zycra (21 Décembre 2005)

Salut!

MAMP est un logiciel qui permet de lancer un serveur apache et de pouvoir utiliser le php et MYSQL sans rien installer d'autre! très simple d'utilisation et performant!

Téléchargez le ici!

Bon code!


http://www.zycra.com (nous cherchons des modos)


----------



## fredmac75 (21 Décembre 2005)

Anabys a dit:
			
		

> ...Par contre, si chaque "catalogue" est stocké dans une table différente de la base de données, tu auras besoin d'une liaison entre tables, ce qui est beaucoup plus compliqué.



Ah les jointures dans les requêtes...tout un poême...


----------



## AntoineD (21 Décembre 2005)

zycra a dit:
			
		

> Salut!
> 
> MAMP est un logiciel qui permet de lancer un serveur apache et de pouvoir utiliser le php et MYSQL sans rien installer d'autre! très simple d'utilisation et performant!
> 
> ...



Hum, on en a déjà parlé sur le thread  et, en plus, Mamp n'a pas vraiment bien fait tout ce qu'il fallait chez moi, alors une install' sérieuse avec un bon tuto, c'est du bon et qui marche 

Pas la peine de poster seulement pour faire de la pub


----------



## zycra (21 Décembre 2005)

Oui excusez moi en fait g pas été jusqu'à la dernière page :rose:
pour ton site perso c'est très simpa mais ca manque un peu de structure! essaie de mettre des cadres ou bien de revoir la mise en page...


----------



## AntoineD (21 Décembre 2005)

zycra a dit:
			
		

> Oui excusez moi en fait g pas été jusqu'à la dernière page :rose:



C'est mal. 




> pour ton site perso c'est très simpa mais ca manque un peu de structure! essaie de mettre des cadres ou bien de revoir la mise en page...



Work in progress. 

Mais la structure est déjà là. En ce moment, passage au php de certaines sections et amélioration de la navigation mais l'essentiel est là.


----------



## zycra (21 Décembre 2005)

ouai ouai nan mais jte dit à par la structur c simpatique pour un site perso! Simpa le style "surlignement" :love:


----------



## Anabys (21 Décembre 2005)

zycra a dit:
			
		

> ...essaie de mettre des cadres...



NAN !!!

Les frames... avec les popup/in/under et Flash, c'est le trio maléfique du Web !


----------



## AntoineD (21 Décembre 2005)

zycra a dit:
			
		

> ouai ouai nan mais jte dit à par la structur c simpatique pour un site perso! Simpa le style "surlignement" :love:



Hum... oui, merci.  Euh, c'est quand même un peu plus qu'un simple "site perso". 



			
				Anabys a dit:
			
		

> NAN !!!
> 
> Les frames... avec les popup/in/under et Flash, c'est le trio maléfique du Web !



Tout à fait 

Vive la fonction include() en php que j'ai longtemps ignorée ! Je ne vois aucune raison de devoir manger des frames à l'heure actuelle...


----------



## zycra (21 Décembre 2005)

AntoineD a dit:
			
		

> Hum... oui, merci.  Euh, c'est quand même un peu plus qu'un simple "site perso".
> 
> 
> 
> ...


quand je parle de cadre je parle de cadres dessinés genre sur http://www.zycra.com mais ce n'est qu'une suggestion...


----------



## geoffrey (21 Décembre 2005)

3 coups de pubs en 3 posts  mais que fait la police 

(allez, encore un coup de allez voir sur http://www.lycra.com ???)


----------



## Anabys (21 Décembre 2005)

C'est pas des cadres alors, c'est des blocs. Enfin des div.

Et puis pour la pub c'est vrai que c'est pas le lieu... :x


----------



## AntoineD (21 Décembre 2005)

Anabys a dit:
			
		

> C'est pas des cadres alors, c'est des blocs. Enfin des div.
> 
> Et puis pour la pub c'est vrai que c'est pas le lieu... :x



Ben moi, j'en ai déjà, des div, na 

Et y'a déjà des traits de séparation, je vais pas en rajouter...


----------

