Création d’un serveur
Projet réalisé dans le cadre de mon stage et Alternance chez Cinemeccanica France.
Problèmatique :
- Subversion (autrement appelé SVN) est utilisé au sein de l’entreprise, mais les développeurs n’en sont pas contents. Des échos de GIT sont parvenu aux oreilles du responsable informatique. Je dois étudier la solution avec lui afin de déterminer si celle-ci est adaptée aux besoins des développeurs.
- Il existe une application de ticketting pour le support mais aucun applicatif de gestion de projet. Tout se fait actuellement sur papier, mail et à l’oral. Mon maître de stage m’a confié la tâche d’installer un serveur web linux sur lequel nous pourrions installer un outil de gestion de projet : Redmine.
Lors de mon arrivée en stage chez Cinemeccanica France, l’une de mes premières tâches fut l’étude de GIT et Redmine pour savoir si ces solutions seraient plus flexibles et plus adaptées aux besoins des développeurs et de l’entreprise. Le but final étant de faire coexister les 2 solutions sur un seul et même serveur.
Qu’est ce que GIT ?
GIT est un utilitaire installable sous Windows, Mac OS X ou Linux et qui permet de versionner des fichiers afin de pouvoir travailler plus facilement sur de multiples versions du code, et à plusieurs.
C’est un système de versionning décentralisé. Il existe un dépôt (de l’anglais repository) dans lequel tous les changements sont incorporés et qui permet aux utilisateurs d’y télécharger leurs propres copies de travail.

Ils disposent également d’un dépôt complet qui comprend l’historique local sans qu’ils n’aient besoin d’une connexion permanente au réseau. Par ailleurs, les modifications sont transférées rapidement dans le dépôt principal. En conséquence, Git ne propose pas de système de verrouillage mais permet à tous les utilisateurs de créer leurs propres branches qui seront ensuite téléchargées dans le dépôt principal. Chaque utilisateur dispose par ailleurs des droits de lecture et d’écriture standards pour tout le répertoire. S’il existe d’autres droits, d’autres répertoires principaux doivent alors être définis. Chaque copie de travail est une sauvegarde individuelle du répertoire principal, ce qui présente un avantage au cas où celui-ci tombe en panne ou est corrompu. Git ne définit que les contenus des répertoires, c’est pourquoi les répertoires vides sont automatiquement supprimés.
Qu’est ce que Redmine ?
Redmine permet de faire de la gestion multi-projets avec une gestion avancée des utilisateurs et groupes. Il permet également la génération automatique de tickets, de mails ou encore de diagrammes de Gantt afin d’avoir une meilleure visibilité sur les différents acteurs d’un projet et de son calendrier, ce qui apporte une aide très précieuse lors de l’établissement de plannings ou de leur évolution. Redmine est une application web libre de gestion de projets complète et puissante.
Préparer le serveur :
L’objectif est de créer sur la même machine, un serveur web multi-fonctions qui exécutera indifféremment des applications avec la possibilité de se connecter à une base données.
Pour cela nous allons installer sur Debian tous les logiciels nécessaires pour la partie web :
- MySQL
- Apache
- PHP
- phpMyAdmin
Pour la partie Redmine :
- Ruby, RubyGem, Ruby on Rails
- ImageMagick
- Bundler
- Passenger
Et pour la partie GIT :
- GIT
Conclusion :
La coexistance des 2 solutions se fait sans problème et permet d’utiliser le serveur à son plein potentiel.
Redmine est un outil utilisé au quotidien par toute la société pour toutes sorte de projets, qu’ils soient internes ou destinés à nos clients.
GIT est très prometteur au vu des retours que me font mes collègues développeurs. Une migration de la solution SVN actuelle est en prévision, et pourra être réalisée grâce à cette étude.