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)
Ç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)