Contact

Paternité | Pas d'Utilisation Commerciale | Partage des Conditions Initiales à l'Identique

M’as tromper !

dimanche 13 juin 2010 - Knah Tsaeb
Commentaires fermés sur M’as tromper !

Comme beaucoup de développer web, j’utilise un gestionnaire de version, outil indispensable lorsque l’on commence à bossé sur des projets de moyenne et grande taille. J’ai fait le choix on ne peut plus classique de Subversion alias SVN.

J’ai longtemps travaillé sans, en direct sur le server de prod, parfaitement « à l’arrache ». Mais on s’aperçoit vite que cela à des limites lorsque que l’on veut modifier profondément un projet.

Je me suis alors monter un server SVN afin de pourvoir créer des branches, revenir sur une modification fait à la va vite, avoir un historique des changement (le but principale d’un server de version).

Un server SVN demande également une certaine rigueur, j’ai chercher un peu sur le net quelles étaient les bonnes pratiques. Et là je doit avoué que j’ai pas trouvé grand chose de concret. Alors bien sur on trouve des choses assez évidentes comme SVN n’est un server de back-up, ne pas commiter du code non fonctionnel (erreur de syntaxe), ne pas versionner des fichiers binaires….

Mais peut parle de convention de commit, au début je faisait des commit du genre :

ajout de la fonction truc muche du module post
suppression du bug qui empêchait de faire quelque chose super important dans le plugin postit
modification de la variable de la fonction machin dans le fichier index.php

Après j’ai fait comme suis

1) Module actualité

  • Ajout d’une fonction de trie de tableau
  • Ajout de commentaire

2) Plugin postit

  • Modification du label

Finalement je procède comme suit

* Core

  • [add] function arraySort() issue #559
  • [mod] function login()
  • [del] param $default in fonction makeMenu()

* Module actualité

  • [fix] function getRead() bug #253
  • [miss] complete coment for function markRead()

Alors ma façon de faire n’est pas la meilleur mais elle me convient et c’est bien là le principale. Mais voilà lorsque l’on regarde un peu en arrière on se rend compte que le fait d’avoir 36 convention de commit devient vie déplaisant à lire. Mais c’est trop tard le server SVN à tous enregistrer et se souvient de tous tout comme votre gestionnaire de projet.

Alors que faire ? Rassurez vous Subversion à plus d’un tour dans son sac.

Sur votre server créer un fichier contenant votre texte de commit pour l’exemple nous l’appellerons « nouveau_commit.txt ».
Puis lancer la commande :

svnadmin setlog –bypass-hooks /__chemin__/__du_depot__/__nom__du__depot -r __numero_de__la__revision nouveau_commit.txt

Si vous utilisé Redmine, ce dernier réimportera vos nouveaux commit, ainsi vous aurez un historique de  vos révisions avec le même formatage.


Comme tous le monde, j’ai vu et revu la conférence « Internet libre, ou Minitel 2.0 ? » de Benjamin Bayart. Avant même d’avoir vu cette conférence je m’étais déjà engager ou plutôt désengager des services tel que les web-mails gratuit, espace de stockage en ligne et autres services complètement fermer. Mais après avoir vu cette vidéo, j’ai décidé d’aller plus loin, dans les limites de mes possibilités.

N’ayant plus une connexion internet suffisante pour pouvoir assurer tous ce que je voulais mettre en place j’ai opter pour une Dédiboite, je sait que je suis malgré tous « piégé » par ce service, mais c’est un moindre mal à mon avis.

J’ai fait le point sur ce que je voulais exactement comme services :

  • Un serveur web
  • Un serveur mail avec accès POP, Imap et un web-mail avec anti-spam et anti-virrus
  • Un serveur de version
  • Un gestionnaire de projet
  • Un espace de stockage en ligne
  • Un gestionnaire de marque page en ligne
  • Un agrégateur de flux RSS
  • Un jukebox en ligne

Bien sûr tous ces services devaient utiliser des logiciels libres.

Le serveur web

La solution choisie est un grand classique Apache2, PHP 5 et Mysql. Pas de surprise, rien que du fiable testé et approuvé par un grand nombre d’utilisateurs.

Le serveur mail

J’ai fait le choix de Postfix, Courrier, SpamAssassin, Clamav et Squirrelmail pour le web mail. Le système d’authentification est gérer par Mysql.

Le serveur de version

J’ai fait un choix très classique en optant pour SVN.

Le gestionnaire de projet

Après avoir essayer Trac, mon choix c’est finalement porté sur Redmine que je trouve bien plus conviviale tant dans la gestion que dans l’utilisation.

L’espace de stockage

Là c’est une peu un mélange, Proftpd pour avoir un serveur FTP au cas où, mais j’utilise principalement SSH.

Le gestionnaire de marque page

J’utilise le très bon SiteBar ainsi que son extension pour Firefox, un vrai régal.

L’agrégateur de flux RSS

J’ai testé pas mal d’agrégateur, finalement mon choix c’est porter sur Tiny Tiny RSS et son notificateur pour Firefox.

Le jukebox

C’est le seul logiciel qui soit héberger chez moi et pas sur le mon serveur. En effet ma musique est stocker sur mon PC à la maison, j’allais pas tous réuploader sur le serveur.
Après avoir longtemps utilisé MPD couplé à Icecast 2, j’ai découvert grâce à Feilong’s le très bon Tin Can Jukebox.

Je cherche encore un systeme de type Dropbox, Ubuntu-One.

Je n’aurait qu’un conseil : tenter l’expérience !