8710 sujets

Développement web côté serveur, CMS

Bonjour,

Je ne vais pas tarder à me lancer dans la création d'une application web en PHP et j'aurais aimé savoir comment vous gériez vos sources. En effet, si vous faites une modification au niveau d'une page, vous remplacez la page directement la page sur votre FTP ou vous avez un système de patchs ?

Je vous remercie d'avance pour vos réponses !
La technique du pauvre, c'est remplacer les anciennes versions par les nouvelles, directement en FTP.

Mais dès que le projet devient un peu gros ou implique plusieurs personnes, les gestionnaires de versions comme SVN ou GIT deviennent une nécéssité... ne serait-ce que pour revenir en arrière facilement en cas de souci. Donc un gros +1 pour ces derniers !

Par contre si j'ai bien compris pour GIT, il faut nécessairement publier ses sources pour être hébergé gratuitement, ou bien payer...
Tu confonds Git (logiciel libre développé par Linus Torvald) et GitHub (un site web d'une boite américaine qui utilise Git mais qui n'a rien à voir avec le projet Git). Smiley cligne
Ok je vous remercie pour vos réponses ! En effet changer les fichiers sur le FTP, çà devient vite l'usine à gaz... Sinon jb_gfx, tu en aurais un en particulier à me conseiller ? (avec un tutoriel ?)

Merci Smiley cligne
Administrateur
Bonjour,

2 serveurs : dev pour le développement et prod pour le vrai serveur de production que tout le monde voit.
Les fichiers sont téléversés... euh uploadés via FTP (over SSH, pas sur le port 21 hein) sur le serveur de prod parce que ça arrive pas si souvent que ça.
Les fichiers du serveur de dev sont accessibles en local par le(s) développeur(s) ET versionnés via git ou SVN, peu importe.
Javaman a écrit :
Sinon jb_gfx, tu en aurais un en particulier à me conseiller ? (avec un tutoriel ?)


Je te conseillerai GIT puisque c'est la référence à l'heure actuelle. SVN est vieux et dépassé et je n'ai pas d'avis sur Mercurial vuu que je ne l'ai jamais utilisé.

Sur le site officiel de GIT tu as un tutoriel interactif qui t'aidera à comprendre le fonctionnement et les commandes. Aprés tu as des interface graphique pour gérer GIT si tu es allergique à la ligne de commande. Par exemple TortoiseGIT pour Windows qui s'intégre directement à l'explorer de Windows.

Personnellement quand je développe en PHP j'utilise l'IDE PHPStrom qui intégre complètement GIT au sein de son interface. Un vrai bonheur. En passant PHPStorm est le meilleur IDE pour PHP que j'ai jamais utilisé et je te conseille vivement de l'essayer.
Ok çà marche ! Merci pour tes conseils ! Je vais me pencher sur tout ce que tu m'as dit ! Merci pour ta réponse Felipe ! Au moins avec cette config, pas de "commit" foireux sur le serveur de prod Smiley smile
Pendant que vous parlez de GIT, j'ai trois questions. Navré pour la confusion, je croyais que c'était intimement lié.

1 - Existe-t-il un client en ligne de commande pour windows ?
Je me rappelle avoir énormément galéré avant de trouver celui pour SVN... sous linux c'est installé en 30 sec, mais sous windows il était vraiment dur à trouver, tout le monde utilise tortoise.

2 - Connaissant et utilisant SVN, y-a-t-il un grand intérêt de passer à GIT aujourd'hui ? IL semble être dans la mouvance mais où sont les avantages et inconvénients ?

3 - Peut-on installer soi-même un serveur GIT et y-a-til un tutoriel pour débuter, ou faut-il obligatoirement se faire héberger par github ou un autre service du genre (ce qui m'embêterais parce que je n'ai ni envie de publier le code source de mon site web, ni envie de payer).
Modifié par QuentinC (31 Aug 2013 - 20:37)
Administrateur
1. Client Windows : j'utilise http://msysgit.github.io/ (je viens de découvrir qu'il y a un GUI... j'ai toujours cliqué sur l'icône Git Bash sur le bureau huhu)

2. Intérêt : si tu travailles seul pas trop, à part pour te faire la main.
Si tu travailles à plusieurs, oh oui c'est très intéressant.
http://blog.freelan.org/2011/02/02/decouverte-de-git-sous-windows/ a l'air d'avoir une explication correcte.
Tu as 2 niveaux de dépôts : le dépôt global et celui de chaque utilisateur.
Bon en fait c'est faux mais c'est comme ça que je l'utilise : tout le monde travaille sur un projet et à un moment donné il faut envoyer une version au client ou la publier : cette version-là est plus importante que les autres même si GIT, techniquement, s'en fiche.
Tu peux donc commiter un travail en cours encore tout buggué et qui va prendre plusieurs jours à finir sur ton dépôt que personne ne voit et quand c'est terminé le commiter à tes collègues. Avec SVN si tu veux commiter tu vas tout casser chez tes collègues ou bien tu ne commites pas pendant des jours... à quoi bon versionner dans ce cas !

Perso j'utilise SVN surtout pour des CSS alors ça convient bien, chacun travaille sur des blocs ou pages assez indépendantes et chaque tâche est assez courte. Si c'était pour du développement avec des classes à modifier ce serait autre chose.

L'inconvénient de Git, c'est que tu as souvent 3 ou 4 arguments à donner en ligne de commande... OK c'est puissant mais il faut un gros temps d'apprentissage, un bloc-notes où noter les commandes que l'on utilise le plus, etc
Exemple : git push origin master est une commande de base.

3. Une fois que tu as installé Git sur ta machine, tu as un serveur Git Smiley smile Pour travailler à plusieurs, encore faut-il pouvoir donner un lien visible par tes collègues donc un serveur mais tout seul pas besoin. Il existe des sites concurrents de Github avec des dépôts gratuits et privés mais je me rappelle plus du nom... Bon tu sais pas à qui tu confies tes données donc faut leur faire confiance (mais comme on les confie déjà à quelques gouvernements paraît-il...)

Pour débuter, voir le lien ci-dessus et sinon en anglais j'avais utilisé https://help.github.com/ qui ne parle pas que de Github mais aussi de Git en général, y compris la partie "travailler à plusieurs". Ceci dit les pages sont super longues, j'avais beaucoup scanné visuellement et scrollé...
Merci beaucoup pour les liens.

Dommage que le site sur l'installation sous windows n'est pas accessible; toutes les parties importantes (les commandes et les sorties de l'exemple) n'ont pas l'air dêtre présentes textuellement.

a écrit :
Avec SVN si tu veux commiter tu vas tout casser chez tes collègues ou bien tu ne commites pas pendant des jours... à quoi bon versionner dans ce cas !

... ou bien tu insistes pour que personne ne fasse update. Plutôt chiant et ça marche pas si un script de compilation se lance automatiquement sur le serveur à chaque commit... bien vu, effectivement, ça peut être assez gênant.

Mais alors quel est l'intérêt d'un commit local ?
Si je comprends bien, il n'y a aucun intérêt dans le cas où on est tout seul ?
Parce qu'en plus du versionnage, le commit SVN sur un serveur peut aussi faire office de sauvegarde... c'est doublement sécurisant, même si on travaille seul sur un projet.

a écrit :
L'inconvénient de Git, c'est que tu as souvent 3 ou 4 arguments à donner en ligne de commande... OK c'est puissant mais il faut un gros temps d'apprentissage, un bloc-notes où noter les commandes que l'on utilise le plus, etc

C'est pas grave ça, les scripts, fichiers batch et compagnie, ça existe. JE suis déjà adepte de la commande ultra-rapide à taper qui se lance avec seulement une ou deux lettres. C pour compile, R pour run ou release, D pour debug, U pour update... c'est un des premier truc que je fais quand je démarre un nouveau projet

a écrit :
Une fois que tu as installé Git sur ta machine, tu as un serveur Git

Avec SVN aussi normalement; en tout cas mon client vient aussi avec la commande svnadmin. Sauf que je n'ai jamais trop compris comment le faire fonctionner en local, ni si ça pouvait réellement fonctionner sans apache. Mais bon la question ne se pose pas vu que j'ai un serveur apache.
Administrateur
QuentinC a écrit :
Dommage que le site sur l'installation sous windows n'est pas accessible; toutes les parties importantes (les commandes et les sorties de l'exemple) n'ont pas l'air dêtre présentes textuellement.

Mais quelle quiche je suis... Je n'avais pas vu que l'écran de choix des options était une image et pire je croyais que les commandes étaient du texte sélectionnable ! J'ai dû vérifier l'aide de Github https://help.github.com/ et ensuite confondre, pfff.
Aussi parcouru et utilisé il y avait http://git-scm.com/
Modifié par Felipe (02 Sep 2013 - 10:27)