5160 sujets

Le Bar du forum

Bonjour à tous, 
Ça faisait longtemps que je n'avais pas posté par ici, je n'avais pas vraiment grand chose d'intéressant à dire.

Je reviens vers vous aujourd'hui pour partager et avoir vos avis, éclairés ou non, sur une problématique que j'ai eu à aborder ces dernières semaines.

Je crois qu'il est utile de poser un peu le contexte, et donc de parler de moi, un peu. 
Développeur web depuis ma plus tendre enfance, je suis devenu pro au terme de mes études, en 2007. 
J'ai alors bourlingué entre diverses agence en Belgique et en France, puis ai travaillé en tant que développeur de jeux web au sein d'une entreprise Française, que j'ai quitté il y a peu, pour un poste assez intéressant de "développeur web/directeur technique", entendez par là que je suis le seul "technicien" dans une petite agence de communication qui voulait ouvrir un pôle web suite à la demande de ses clients. 

Habitué depuis toujours à suivre les consignes de mes collègues et supérieurs, je suis maintenant seul maître à bord concernant la technique.

Voici donc pour le contexte.
Ce dont j'aimerai parler aujourd'hui, c'est de la problématique de la mise en ligne / maintenance des sites.
Problématique d'autant plus importante que si je suis tout seul pour l'instant, je sais que je ne le serai probablement bientôt plus, et que je veux donc partir sur des bonnes bases à exploiter par la suite en équipe.

Voici comment je fonctionne : au sein de la boite, j'ai commencé à développer un cms qui sera (et est déjà) utilisé pour toutes nos réalisations.
Ce cms est stocké dans un repo mercurial privé, avec une branche "prod", et d'autres branches de dev.
Comme son nom l'indique, la branche prod est la branche stable, celle qui sera utilisée en production. Et donc, techniquement, on ne devrait avoir à faire sur cette branche que des merges des branches de développement.

Donc, en local, je travaille sur une ou plusieurs branches de développement, qui sont fusionnées par la suite avec la branche de production.
 Sur notre serveur dédié, j'ai un clone de ce repo mercurial dans un dossier qui est ajouté à l'include_path de php.
Quand je veux donc mettre en ligne de nouvelles fonctionnalités, il me suffit donc de faire un update de ce dossier.

Voici donc pour le cms, qui est conçu de manière à ce que les sites clients n'aient qu'à l'inclure dans un fichier d'index php et avoir une série de feuilles de styles et autres templates éventuels dans leur dossier propre.
Ainsi, la mise à jour du cms est effective en une seule fois pour tous les sites du parc.

Concernant ces sites, je travaille autrement. En effet, je ne suis pas forcément seul à travailler sur les sites clients, nos graphistes font des design et participent de temps à autre à la découpe.
Chaque site client a donc un repo svn (pourquoi svn ? Pasque d'expérience, il est plus facile à faire utiliser par des graphistes qui ne veulent pas trop se casser la tête avec la technique), repo divisé en trois parties : un dossier files, qui contient d'éventuels fichiers administratifs ou documents word de contenus, un dossier graphique où les graphistes font leur popote en toute intimité, et enfin un dossier web, lui-même divisé en un dossier par sous-domaine (www, new, presse, que sais-je encore).

Sur le serveur, la mise en ligne d'un site client se résume donc à un "svn update" du dossier en question.

Voici donc comment j'ai décidé de fonctionner.
Soyons clair : je n'ai absolument pas la prétention de dire que ma méthode est la meilleure, et c'est bien pour ça que je viens l'exposer ici, afin d'avoir d'eventuels retours (ou remarques) de membres qui auraient mis en place une configuration similaire, ou tout à fait différente...

Merci d'avance pour vos retours, ainsi que pour avoir lu cet important pavé probablement un peu indigeste...
Modifié par Lisarael (22 Nov 2011 - 22:15)
J'ai lu et je n'ai vu aucune question en rapport avec le titre du sujet (ni aucune question tout court). Bref, merci pour ton pavé, je retourne regarder ma série. Smiley smile
Modifié par jb_gfx (22 Nov 2011 - 22:12)
Hello
Lisarael a écrit :
Au sein de la boite, j'ai commencé à développer un cms qui sera (et est déjà) utilisé pour toutes nos réalisations.
Il y a une véritable utilité à ça, ou c'est un syndrome de Not Invented Here?

A mon sens, les CMS maisons de webagency, c'est l'usine à gaz assurée sur le long terme.
Florian_R a écrit :
A mon sens, les CMS maisons de webagency, c'est l'usine à gaz assurée sur le long terme.


Un peu comme le CMS open source quoi... (qui a 90% sont développés par des agences Web).
Ce n'est pas le débat premier, mais c'est un choix motivé par plusieurs expériences personnelles et expériences de la boite en question qui faisait avant mon arrivée sous-traiter la création des sites par une société externe qui utilisait un joomla non mis à jour et qui a eu pour résultat le hack / défaçage de tous les sites produits.
De mon côté, j'ai pris l'habitude de travailler avec des cms maisons, qui sont toutefois basés sur des fondations et frameworks open-source.
Disons que je ne réinvente pas la roue, j'ai juste voulu des jolies jantes alus. Smiley cligne
Bonjour,

Quel débat s'il te plaît?
Merci de préciser parce que là en l'état,

a écrit :
je ne réinvente pas la roue, j'ai juste voulu des jolies jantes alus.


Je comprends rien du tout à cette métaphore, de quelle roue s'agit-il?

D'autre part, ce qui est exposé ici est une méthodologie, une organisation propre à chaque agence, donc si le système est efficace, il est à conserver, s'il pose des problèmes il faut l'améliorer, s'il.... Smiley langue

ll ne peut pas y avoir de débat là-dessus.


Maintenant en extrapolant sur ce que tu dis (donc certainement à côté de la vérité ce que je te souhaite) tu as des soucis avec ta méthodologie ou tu crains d'en avoir et tu voudrais donc savoir ce qui se fait ailleurs et ce qui marche?
Modifié par jmlapam (23 Nov 2011 - 04:21)
jmlapam a écrit :


je ne réinvente pas la roue, j'ai juste voulu des jolies jantes alus.




Je répondais à Florian_R concernant sa question sur le pourquoi d'un CMS maison. Smiley smile

jmlapam a écrit :

D'autre part, ce qui est exposé ici est une méthodologie, une organisation propre à chaque agence, donc si le système est efficace, il est à conserver, s'il pose des problèmes il faut l'améliorer, s'il.... Smiley langue

ll ne peut pas y avoir de débat là-dessus.

Maintenant en extrapolant sur ce que tu dis (donc certainement à côté de la vérité ce que je te souhaite) tu as des soucis avec ta méthodologie ou tu crains d'en avoir et tu voudrais donc savoir ce qui se fait ailleurs et ce qui marche?


C'est plutôt ça, les soucis en moins. Je n'ai pas de soucis avec ma méthodologie, mais j'aimerais un peu savoir ce qui se fait ailleurs histoire de voir si je ne suis peut-être pas passé à côté d'un point essentiel.
On a pas mal d'outils de déploiement: fabric ou buildout en python, capistrano en ruby (y a des équivalents php dont j'ignore le nom) ou des solutions plus complexes/puissantes telles que chef, puppet, etc.
Les outils de migrations de db sont également bien utiles dès que tu as besoin de modifier ta structure sans tout faire à la mano.

Je ne sais pas si ça se rapproche de ton besoin, mais tu ne perdras rien à examiner ce que ça permet pour prendre ce qui t'intéresse.
Modifié par paolo (23 Nov 2011 - 10:31)
Administrateur
Florian_R a écrit :
A mon sens, les CMS maisons de webagency, c'est l'usine à gaz assurée sur le long terme.


+1
Modérateur
Florian_R a écrit :
A mon sens, les CMS maisons de webagency, c'est l'usine à gaz assurée sur le long terme.


-1

J'ai envie de dire que ça dépend du CMS maison et de l'agence. Smiley smile