WAMP : développer avec PHP / AJAX / HTML sous Windows

Faites de votre ordinateur un serveur de développement rien que pour vous !

Le problème exposé dans ce sujet a été résolu.

Bonsoir à tous !

Avec la refonte de la gestion des tutoriels, ce sujet est un doublon de celui créé automatiquement lors de la première beta publiée après la V1.1. Le sujet officiel est désormais ici

Dans la veine de la FAQ PHP, pour lui enlever certaines parties trop "lourdes" pour une FAQ, je pensais reprendre la partie à propos de WAMP pour l'étoffer un peu, tant au niveau du "contenu existant" que je reprendrais de l'actuelle FAQ PHP sur OC qu'au niveau des autres possibilités dont j'aurais envie de parler. Je vous propose donc un plan

Premiers pas

Présentation

La signification de l'acronyme
Pourquoi faut-il un serveur ?
Ce qu'il nous faut

Déconseiller la version x64 qui n'amène rien, sinon de potentiels problèmes parce que pas considérée comme stable

Et on installe !

Mise à jour de ou conversion vers WAMP
  • le nettoyage nécessaire en cas de passage à WAMP depuis une autre solution (ou pour une simple mise à jour)
  • la sauvegarde du serveur MySQL avec un export du serveur complet
  • la sauvegarde du répertoire www / htdocs / que sais-je
  • la désinstallation de l'ancienne solution
(Ré-)installation

Surtout des points sur lesquels insister

  • l'installation toujours avec clic droit > Exécuter en tant qu'administrateur
  • l'ordre d'installation : d'abord MSVCR, puis WAMP

Puis

  • la prévention de divers problèmes qui arrivent souvent à l'installation ou juste après :
    • quand les services apache et MySQL ne s'installent pas correctement
    • quand IIS existe encore
    • quand Skype se prend pour un navigateur et utilise les ports 80 et 443
    • quand ce n'est ni Skype ni IIS

Utilisation courante

Le dossier www

C'est la racine, on ne devrait rien y mettre d'autre que des dossiers pour ses projets

La modification à apporter pour pouvoir y accéder depuis la "page d'accueil de WAMP"

Mais attention au fait que désormais, il est vivement conseillé d'utiliser…

Les <VirtualHost>

Explication de l'utilité, présentation de l'exemple fourni avec WAMP, paramétrage pour en tenir compte et comment conserver localhost malgré tout

Bit extra vitos : une partie de script pour lister les hôtes virtuels sur la page d'accueil de localhost (cette partie sera présente dans la prochaine version de WAMP)

Paramétrer WAMP

php.ini

Le fichier php.ini, ce qu'on y trouve, comment ça fonctionne (un peu de syntaxe des fichiers INI)
Pas oublier de redémarrer WAMP après modification

Le raccourci qu'on ne donne qu'à la fin (gnark gnark !) : les menus « Extension PHP » et « Configuration PHP »
Parler brièvement des trois fichiers php.ini utilisés par WAMP, on y reviendra dans la partie avancée

my.ini

Je ne connais pas assez, si quelqu'un connaît et pense que cela pourrait être intéressant, ce serait volontiers

Utilisation avancée

PHP en ligne de commandes

Du coup, mentionner plus en détail les trois fichiers php.ini

Plusieurs versions

  • de PHP
    Mentionner la possibilité de mise à jour, tout en gardant impérativement la version fournie à l'installation, faire attention aux php.ini qui peuvent être copiés d'une version à l'autre (moyennant modifs et adaptations)
  • de MySQL
    Bien rappeler qu'il faut faire un export/import des données pour la nouvelle version, ces données ne sont pas nécessairement récupérables d'une version à l'autre, ni même partageables
  • d'apache
    A voir, ce n'est probablement pas un cas très courant, et je n'ai aucune idée sur comment ça se passe, tout au plus je sais qu'il faut s'y connaître un tant soit peu plus que moi  :-°

Expliquer comment passer d'une version à l'autre, dans quel cas c'est pratique (tests avec une version mineure similaire à celle de production – je ne pense pas que la majorité des hébergeurs soient passés à PHP 5.5

Le tutoriel est lisible en version bêta pour les membres, le lien (à jour) se trouve dans l'autre sujet.

Merci d'utiliser cet autre sujet pour vos retours, et n'hésitez pas à donner votre avis, tant sur le fond que sur la forme !

Propositions effectuées

Sujet

Appréciation

Paramétrage de PHP

Uniquement mention du menu pour éviter d'avoir à activer les modules et extensions en allant modifier en mode texte les configurations. Sinon, laissé pour un tutoriel sur PHP, parce que ce n'est pas propre à WAMP

Paramétrage d'Apache

Similaire à la réponse pour PHP

Paramétrage de phpMyAdmin

Non. Ce n'est pas un outil ni une utilisation propre à WAMP, donc nous le laissons pour un tutoriel plus précis

Paramétrage pour composer

Similaire à la réponse pour phpMyAdmin

Paramétrer le serveur SMTP

A voir, il semble que ce ne soit plus si simple que remplir la section ad hoc du fichier de configuration de PHP

+2 -0

Une bonne idée de tutoriel, qui manquait sur le SdZ. Là bas, il y a juste de mémoire un TEA pour installer Wamp (sur le tuto PHP) mais très peu sur les conflits (a part dans la FAQ) et sur la configuration avancée.

On pourra aussi parler des modules (par exemple un très utilisé sur la réécriture d'url, etc.)

Dis moi quelles parties je peux te sous-traiter.

+0 -0

Seems legit. Par contre, je trouve que y'a pas mal de parties (une fois le machin configuré en fait, si on ignore la possibilité du multi versions) qui recoupent un peu la configuration générale de Apache / PHP / MySQL.

Genre la config ini par exemple. Ce qui ne change sous windows, ce n'est que l'indication de l'emplacement des extensions par exemple. Qui est parfaitement gérée par Wamp d'ailleurs, de mémoire. Du coup, c'estun peu dommage de spécifier la config ini en étant une possibilité venant que de Wamp… Ce qui n'est pas finalement le cas.

Je verrai donc plutôt un tutoriel global sur un environnement AMP. Quitte à avoir une partie sur Wamp, une sur Lamp, Mamp, … etc.

+0 -0

Cela rejoindrait le souhait d'elyppire933 qui préfère XAMPP (ou EasyPHP, je ne me souviens plus) à WAMP, mais du coup, je me retrouve avec une partie "prévention/troubleshoot" commune aux environnements qui relève plus de la FAQ…

En fait, c'est cette même partie qui est un peu gênante pour moi, parce que j'ai de la peine à voir comment l'intégrer dans un tutoriel, alors qu'il y aurait de la matière pour, mais que c'est vraiment dans le genre "Vous avez ce problème, il y a cette solution".

+0 -0

Ca existe encore EasyPHP ? :o

Après le but ce n'est pas non plus d'inclure une partie de troubleshooting, ce n'est pas le rôle d'un tutoriel… Plus d'une vraie FAQ. Le but, qui serait ici appréciable serait d'avoir une présentation d'un environnement efficace, avec présentation des différentes solutions dans une partie / un chapitre.

+0 -0

C'est même encore utilisé des fois en situation Pro. C'est fort dommage d'ailleurs, quand on sait que c'est tellement facile sous Windows d'avoir un Apache en dur qui permet beaucoup plus de souplesse…

+0 -0

Oh je sais pas… Plusieurs installation de PHP, parfois avec la même version de PHP d'une fois sur l'autre mais ya la configuration Apache et le php.ini qui changent de l'une à l'autre ? ;) Wamp en particulier a renommé en dur les noms de ses services ce qui les rends inutilisables par les outils qui les cherchent. MySQL Workbench par exemple est aux 3/4 inutilisable si ton MySQL vient du pack Wamp.

Sans parler la possibilité d'avoir jusqu'à 3 Apache simultanés pour couvrir l'ensemble des versions PHP dont tu as besoin. Avec Wamp tu n'en as qu'un, et tu as un switch. ça demande le redémarrage et empêche les tests demandant des interactions entre tes applications web et web services.

+0 -0

Je t'avouerai ne jamais avoir fait une utilisation aussi poussée de mon WAMP  :p
Tout au plus je me suis satisfait de la possibilité de passer d'une version de PHP à l'autre, et pour ce que j'utilise MySQL Workbench, je n'ai pas eu de soucis, mais probablement parce que je n'ai jamais installé deux versions en parallèle (en fait si, une fois, quand je pensais que je pourrais récupérer des données que j'avais oublié de back-upper avant une "mise à jour"  :-° ).

Cependant, de ce que je comprends, toi tu parles de simuler plusieurs serveurs en même temps, vu que tu parles de plusieurs versions d'apache qui tournent simultanément ? Là, on est bien d'accord que WAMP ne le permet pas trop, du moins certainement pas de base.

Par contre, les installations multiples d'apache, je sais qu'Otomatic en a eu parlé. Du coup, les paramètres peuvent être en partie partagés par les différentes versions, et en partie propres à chacune. Pour PHP c'est différent, vu qu'il n'y a pas exactement de système d'inclusion dans les php.ini comme on en trouve pour la configuration d'apache.

+0 -0

Dans l'idéal si, il y a moyen d'avoir plusieurs php.ini et d'indiquer à Apache lequel prendre. Mais ça, j'ai pas réussi à le faire, du coup j'avais 36 versions de PHP qui tournaient simultanément, réparties sur mes 3 Apache… :-°

La clé, en gros, c'est de définir des vhosts avec chacun son nom de serveur. Comme ça, même si tu accède au même Apache via le même port 80, c'est la bonne configuration qui répondra au nom de domaine que tu as utilisé dans l'url. Et si pas trouvé, bah celle par défaut qui répond.

Je vais voir ce week-end à installer JBoss/Tomcat dans un vhost de mon Apache, pour faire du JEE aussi. :)

+0 -0

Après le but ce n'est pas non plus d'inclure une partie de troubleshooting, ce n'est pas le rôle d'un tutoriel… Plus d'une vraie FAQ. Le but, qui serait ici appréciable serait d'avoir une présentation d'un environnement efficace, avec présentation des différentes solutions dans une partie / un chapitre.

Talus

Ouai, mais typiquement l'installation de Wamp peut être compromise par tout un tas de choses. Je ne vois mal un tuto ne les abordant pas.

+0 -0

Je vais voir ce week-end à installer JBoss/Tomcat dans un vhost de mon Apache, pour faire du JEE aussi. :)

Darth Killer

Au final, si on souhaitait être le plus "modulaire" possible, il nous faudrait :

  • un tutoriel d'installation d'apache
  • un tutoriel d'installation de PHP avec interfaçage avec apache (et si on parlait d'NginX ou d'IIS)
  • un tutoriel d'installation de MySQL

Chacun avec leurs paramétrage. Mais on perd ce qui fait l'attrait des solutions comme WAMP pour les débutants, à savoir une installation "tout-en-un".


Ouai, mais typiquement l'installation de Wamp peut être compromise par tout un tas de choses. Je ne vois mal un tuto ne les abordant pas.

elyppire933

Surtout que dans un tutoriel, on peut mieux masquer ce côté problème/solution, parce qu'on peut les traiter au fur et à mesure, voire les prévenir, plutôt que revenir dessus.

+0 -0

Ca existe encore EasyPHP ? :o

Talus

Oui, et c'est la seule solution que je connaisse et qui fournisse apparemment d'emblée plusieurs versions de PHP (5.6, 5.5, 5.4 et 5.3 dans sa version 14). Un point intéressant, je dois dire…

Le but, qui serait ici appréciable serait d'avoir une présentation d'un environnement efficace, avec présentation des différentes solutions dans une partie / un chapitre.

Talus

Si je te suis bien, on pourrait donc ajouter une partie (au sens général) sur les différentes solutions existantes, mais se cantonner sur l'installation de WAMP ?

un TEA

Quelqu'un aurait la gentillesse de rappeler au Suisse que je suis quelle est la source de cette abréviation ?  :ange:

+0 -0

Truc Et Astuce, c'est à dire du non souhaité ici (e.g. comment installer Word, avec les 50 captures d'écran correspondant aux 50 phases de l'installation du logiciel).

Mais ce n'est pas le cas ici puisque, outre l'explication de l'installation qui s'approche d'un TEA, il y a la partie résolution des erreurs, configuration (apache, php, mysql), etc. qui apporte de la valeur ajoutée au tutoriel.

+0 -0

Quelqu'un aurait la gentillesse de rappeler au Suisse que je suis quelle est la source de cette abréviation ? :ange:

Ymox

Truc Et Astuce

elyppire933

C'est pas comme si je n'aurais pas pu le trouver tout seul avec une réflexion un peu plus éveillée…  >_<
Merci

Je vais me refaire un café…

+0 -0

Après réflexion, je propose un plan plus évolutif

Partie

Chapitre

Extrait

Les environnements

Cette partie pourra accueillir des chapitres sur d'autres solutions

Vous avez dit serveur ?

Plan du chapitre à préciser

Expliquer les rôles des client et serveur, pourquoi il en faut un, le fait que certains langages sont exécutés/compris d'un côté où de l'autre, et que PHP est justement exécuté côté serveur.

Eventuellement quelques bases du protocole HTTP ?

WAMP

Avancer des avantages et désavantages rationnels (plusieurs versions de PHP, de MySQL et d'apache, passage d'une version à l'autre en trois clics)

Déconseiller la version x64 qui n'amène rien, sinon de potentiels problèmes parce que pas considérée comme stable

Mise à jour de ou conversion vers WAMP
  • le nettoyage nécessaire
  • la sauvegarde du serveur MySQL avec un export du serveur complet
  • la sauvegarde du répertoire %SERVER_ROOT%
  • la désinstallation de l'ancienne solution
Installation

Surtout des points sur lesquels insister

  • l'installation toujours avec clic droit > Exécuter en tant qu'administrateur
  • l'ordre d'installation : d'abord MSVCR, puis WAMP
  • quand les services apache et MySQL ne s'installent pas correctement
  • expliquer les trois fichiers php.ini
  • mentionner les paramètres accessibles par l'icône dans la barre de statut
  • la modification à apporter pour pouvoir y accéder depuis la "page d'accueil de WAMP"
  • Bonus spécial vitos (à discuter) : une partie de script pour lister les hôtes virtuels sur la page d'accueil de localhost (cette partie était présente dans la version 2.4 WAMP)
Plusieurs versions

Expliquer comment passer d'une version à l'autre, dans quel cas c'est pratique (tests avec une version mineure similaire à celle de production – je ne pense pas que la majorité des hébergeurs soient passés à PHP 5.5)

  • de PHP
    Mentionner la possibilité de mise à jour, tout en gardant la version fournie à l'installation, faire attention aux php.ini qui peuvent être copiés d'une version à l'autre (moyennant modifs et adaptations)
  • de MySQL
    Bien rappeler qu'il faut faire un export/import des données pour la nouvelle version, ces données ne sont pas nécessairement récupérables d'une version à l'autre, ni même partageables
  • d'apache
    A voir, ce n'est probablement pas un cas très courant, et je n'ai aucune idée sur comment ça se passe, tout au plus je sais qu'il faut s'y connaître un tant soit peu plus que moi  :-°

Problèmes "globaux"

Ceux qui peuvent survenir quelle que soit la solution (WAMP, XAMPP, AMPPS, Zend Server, EasyPHP…)

Cette partie pourra être étoffée selon les problèmes réccurrents qui apparaîtraient

Quand IIS existe encore
  • désinstaller
  • désactiver le service
Quand Skype se prend pour un navigateur et utilise les ports 80 et 443
Quand ce n'est ni Skype ni IIS

Utilisation

Les <VirtualHost>

Explication de l'utilité, présentation d'un exemple, paramétrage pour tenir compte des hôtes virtuels et comment conserver localhost malgré tout

Paramétrer PHP
  • Le fichier php.ini
    Ce qu'on y trouve, comment ça fonctionne (un peu de syntaxe des fichies INI)
    Pas oublier de redémarrer le serveur (ou au minimum apache) après modification
  • PHP en ligne de commandes

N'hésitez pas à dire ce que vous en pensez  ;)

+0 -0

Disons que, comme mentionné pour la première partie, elle peut s'ouvrir à d'autres solutions, donc si tu souhaitais que les installations séparées y soit intégré, pour ma part, je n'y vois pas d'inconvénient.

Edit

Au final, le plus particulier dans ces tutoriels, ce sera la différence des résultats selon des rédacteurs  :p

A moins que chacun relise ce que les autres ont rédigé, ou qu'on tente de définir des grandes lignes ?

+0 -0
Ce sujet est verrouillé.