The 2009-07-16 at 09:28 by Loïc d'Anterroches filed under InDefero, bug tracking and more.
Une nouvelle version d’InDefero est disponible. Ce petit script PHP commence à devenir vraiment complet avec revue de code, aire de téléchargement, support des dépôts Subversion, Git et Mercurial. Hier un commentaire d’un nouveau contributeur m’a fait vraiment plaisir :
I must say Pluf seems pretty easy to work with - since I have no prior PHP experience.
La personne a fait l’implémentation du support de multiples clefs SSH sans avoir de connaissance en PHP ! Cela montre que la philosophie du framework PHP Pluf est la bonne : simplicité.
Téléchargez InDefero 0.8.5 ici. Vous pouvez aussi profiter de la version hébergée.
The 2009-05-25 at 19:55 by Loïc d'Anterroches filed under InDefero, bug tracking and more.
Juste une petite note pour vous informer que le nouveau backend est maintenant dans la ligne de développement principale. Il reste encore du travail de nettoyage mais cela se fera vite. La bonne chose est que maintenant l’affichage d’un dépôt git très large est toujours très rapide. Par ailleurs l’hébergement gratuit d’InDefero prend bien son envol… chouette !
The 2009-04-26 at 10:06 by Loïc d'Anterroches filed under InDefero, bug tracking and more.
Une petite capture d’écran pour vous montrer le support des branches avec Subversion dans InDefero.
Je détecte automatiquement si le dépôt utilise la structure standard et liste les branches correctement. Par ailleurs, la branche active est aussi mise en gras quand on navigue dedans. Cela fait partie du travail de restructuration de l’interface entre InDefero et les différents SCMs. Cela devrait ensuite permettre le support facile de Bazaar et Monotone en plus de Mercurial, Git et Subversion.
The 2009-04-16 at 12:08 by Loïc d'Anterroches filed under InDefero, bug tracking and more.
Juste pour vous informer de la sortie de la version 0.8.3 d’InDefero. Le changelog est le suivant :
Benjamin Jorand (1):
Ciaran Gultnieks (2):
Loic d’Anterroches (10):
Mehdi Kabab (5):
Patrick Georgi (1):
xavier Brochard (1):
Oui, 6 développeurs… c’est bien sympa !
The 2009-03-02 at 05:21 by Loïc d'Anterroches filed under InDefero, bug tracking and more.
Le support des sous-modules git dans InDefero est là. Il va falloir ajouter un peu de logique pour faire un lien vers le dépôt correspondant si il est sur la même forge ou si il est sur une forge connue. Vous pouvez aussi supprimer un projet (cela ne touche pas au dépôt de code).
Téléchargez InDefero ou créez votre forge en 5 min.
Loic d’Anterroches (18):
Manuel Eidenberger (1):
The 2009-02-17 at 14:06 by Loïc d'Anterroches filed under InDefero, bug tracking and more.
Depuis quelques jours, j’explore les possibilités d’intégration entre Jabber et InDefero. J’ai envie de faire 2 intégrations distinctes :
En regardant de plus près, il semble que tous les outils nécessaires à la mise en place de ce type d’intégration sont disponibles. Cela va nécessiter de faire tourner quelques services en plus de PHP, mais c’est déjà le cas avec les différents SCM, donc cela ne posera pas trop de problèmes. Si je code cela correctement, on pourrait de toute façon envisager que le chat puisse avoir une interface uniquement web avec un peu de produit lave vaisselle pour les personnes ne pouvant pas faire tourner un serveur Jabber et le pont Jabber/HTTP.
Beaucoup d’idées mais avant il faut que je nettoie un peu le code, il y a des zones pas très propres et il ne faut pas que je laisse la poussière s’accumuler dessus.
The 2009-01-30 at 22:47 by Loïc d'Anterroches filed under InDefero, bug tracking and more.
Saviez-vous que seul l’administrateur d’une forge pouvait changer l’email d’un utilisateur dans InDefero ? Et oui, mais maintenant ce n’est plus le cas, car la version 0.8.0 ajoute cette fonctionnalité. Vous pouvez aussi envoyer un email pour chaque changement vers une liste d’annonce et bien entendu, pas mal de bugs fixés.
Le changelog complet…
The 2009-01-26 at 19:53 by Loïc d'Anterroches filed under InDefero, bug tracking and more.
Et oui, InDefero est remarqué au Japon, ce qui fait plaisir c’est que mon travail sur le support multibytes dans Pluf paye. Comme vous pouvez voir, le Japonais passe très bien dans l’interface.
Par ailleurs, déjà plus de 50 forges créées sur app.indefero.net et des contributeurs toujours plus actifs, cela fait vraiment plaisir.
The 2009-01-23 at 11:55 by Loïc d'Anterroches filed under InDefero, bug tracking and more.
Si vous voulez un hébergement de vos projets avec git, vous avez le support de Git sur app.indefero.net.
N’hésitez pas à me faire remonter votre expérience d’utilisateur !
The 2009-01-20 at 11:36 by Loïc d'Anterroches filed under InDefero, bug tracking and more.
C’est la grande belle nouveauté de la version 0.7.0 d’InDefero, vous pouvez gérer les accès à vos dépôts git directement depuis l’interface web. Cela se fait automatiquement en tâche de fond, comme pour les dépôts Mercurial et Subversion.
Téléchargez la version 0.7.0 ou utilisez la version hébergée gratuitement.
En vrac, le changelog…
Benjamin Jorand (1):
Loic d’Anterroches (25):
The 2009-01-14 at 22:26 by Loïc d'Anterroches filed under InDefero, bug tracking and more.
La dernière série de commits dans InDefero devrait réjouir les utilisateurs de git.
Vous pouvez maintenant faire l’upload de votre clef publique SSH sur le serveur. Le travail sur le reste de l’intégration avance aussi à grand pas. Cela devrait être prêt d’ici à la fin du mois, peut-être même début de semaine prochaine si tout va bien.
The 2009-01-12 at 15:03 by Loïc d'Anterroches filed under InDefero, bug tracking and more.
Comme tout projet à la mode web 2.0, le projet est lancé en béta limitée. Donc bon attention, il n’y aura pas forcément de la place pour tout le monde.
Le projet, c’est la création en un clic de votre forge InDefero. Créez votre forge ici.
Maintenant, un peu de détails techniques. InDefero est codé avec le framework Pluf en PHP. InDefero est prévu pour créer une forge et non une ferme de forges, alors comment mettre cela en place ?
Le principe est le suivant, pour chaque forge, un schéma est créé dans la base, cela permet de faire une séparation des données entre toutes les forges. Si votre forge est à l’adresse toto.indefero.net, on va probablement utiliser le schéma toto. Un schéma c’est comme une sous base de données dans votre base de données principale.
Maintenant, ce qu’il faut, c’est pouvoir sélectionner le bon schéma en fonction de la forge. En effet, je ne fais pas la création d’un fichier de configuration par forge. Pour cela, dans le schéma public, je fais l’installation d’une petite application Pluf qui va contenir la liste des forges avec la correspondance domaine - schéma. Le schéma public est celui accédé par défaut par Pluf.
Maintenant on a, une liste des correspondances schéma - domaine et une série de forges chacune dans son schéma. Voici que les middleware de Pluf entre en jeu. Le premier middleware de la liste va simplement chercher dans la liste des forges si une forge correspond au domaine, si oui, la configuration est mise à jour et le schéma est changé. Si ce n’est pas le cas, je fais une redirection sur http://www.indefero.net.
L’intégralité de cette logique, en incluant la mise à jour des zones DNS, l’interface de création d’une nouvelle forge, tient en 725 lignes de code. Pluf simplicité et élégance.
Créez votre forge ! C’est gratuit pendant le temps de la béta.
The 2009-01-02 at 21:57 by Loïc d'Anterroches filed under InDefero, bug tracking and more.
Tout beau, tout chaud InDefero 0.6.0 est là. Le changelog est bien massif et vous pouvez voir qu’au fur et à mesure, je ne suis plus le seul contributeur, yeah !
Benjamin Jorand (3):
Added the Mercurial repository serving synchronization.
Fixed issue 83, small issue in SyncSvn.
Fixed to be consistent in the display of errors.
Julien Issler (2):
Fixed issue 88, Mercurial support doesn't show all directories.
Fixed issue 96, errors when parsing a Mercurial diff.
Loic d'Anterroches (24):
Fixed to match the new path.
Fixed grammar in French translations.
Added more text extensions.
Added more text extensions and give the ability to add in the config.
Added the language selection in the user account.
Fixed inconsistency in the link.
Added the initialisation of the user language at registration time.
Fixed to prevent entering empty bug reports.
Added a partial fix of issue 93 to limit memory exhaustion.
Fixed issue 94, commands have changed in git 1.6.
Added ticket 86, preview attached files to issues.
Added ticket 95, ability to get a new password when forgotten.
Added the ability to mark a project as private at creation time.
Added the base administration of the users.
Added the filtering of the non validated users by default.
Inforce the rule to have only letters and digits in the login.
Fixed little glitch in the listing of the users.
Added the ability to set the staff flag of a user.
Removed the dead screen of the administration as not used for the moment.
Added a little note that accounts with bad emails can be deactivated.
Added ticket 90, propose to create a new documentation page when it doesn't exists.
Better alignment in the table columns.
Fixed to allow the dash (-) in the shortname of a project.
Updated the French translations.
The 2008-12-10 at 10:29 by Loïc d'Anterroches filed under InDefero, bug tracking and more.
C’est avec grand plaisir que je vous annonce la sortie du nouveau site d’InDefero. Il est bien entendu web n+1 compliant avec de jolies captures d’écrans, des citations et de gros liens pour cliquer.
Il est encore plus web n+1 compliant car il n’est ni codé avec PHP, ni RoR, ni Django, ni Erlyweb, ni Scala, ni le dernier framework à la mode, mais avec l’ultime emacs et de jolis fichiers textes. Regardez le source des pages, la vitesse du rendu, la précision nanométrique de bits sur le disque dur. C’est le top, c’est le nouveau site d’InDefero. Trêve de plaisanteries, c’est un petit site tout simple, 6 pages, de belles images, en HTML comme on aime bien.
Pourquoi ce site très à la mode dans sa présentation ? Parce qu’après 7 ans à publier du logiciel libre, j’en conclus, roulement de tambour, que la publicité est essentielle au bon développement d’un projet. Les gens doivent avoir envie d’utiliser votre logiciel, une page avec 4 liens ne donne pas envie, j’essaye donc avec ce site de cultiver l’envie. Vos commentaires avec l’esprit critique des casseurs de pub sont les bienvenus.
The 2008-12-06 at 13:17 by Loïc d'Anterroches filed under InDefero, bug tracking and more.
Téléchargez la dernière version d’InDefero. Les grandes nouveautés de la version 0.5.0 sont :
Vraiment, une belle version d’InDefero.
The 2008-12-03 at 22:15 by Loïc d'Anterroches filed under InDefero, bug tracking and more.
Vous pouvez maintenant créez de nouveaux projets avec InDefero et si vous utilisez Subversion pour le type de dépôt, InDefero fera automatiquement la création du dépôt subversion correspondant. Chouette ! Mais le mieux, la gestion des droits d’accès dépôt privé/publique, personnes autorisées, membres ou administrateurs est automatiquement faite, si vous changez les droits d’accès dans l’interface web, les changements sont immédiatement répercutés sur les droits du dépôt.
Encore mieux ? Oui, si un utilisateur change son mot de passe, c’est la même chose, le système met immédiatement à jour l’accès au dépôt…
Le code du plugin est disponible, un grand merci à Baptiste Michaud pour le travail ! Maintenant, il reste à faire la même chose pour git et Mercurial.
The 2008-12-01 at 16:54 by Loïc d'Anterroches filed under InDefero, bug tracking and more.
Encore une petite nouveauté bien sympa pour aujourd’hui, le support des gravatars. Les gravatars ce sont ces petites images qui sont associées à des utilisateurs. L’image est trouvée à partir de l’email de l’utilisateur (un simple md5 de l’email). Si la personne n’a pas de gravatar, on n’affiche tout simplement rien, c’est plus propre qu’une image de substitution.
L’idée est venue d’un utilisateur sur le channel IRC. On verra dans la pratique si en haut à droite est la bonne place.
The 2008-12-01 at 07:54 by Loïc d'Anterroches filed under InDefero, bug tracking and more.
Une fonctionnalité d’InDefero attendue depuis longtemps que je suis en train d’implémenter.
Cela permet l’ajout et la modification par l’administrateur de la forge de projets. L’effet de bord est qu’il n’est plus possible de changer le type de dépôt d’un projet une fois défini. En effet, pour chaque révision/commit dans le dépôt, l’information est stockée dans la base de données, changer le type de dépôt à la volée, par exemple, passer de Subversion vers git, risque d’entraîner des pertes de données. Je préfère donc moins de fonctionnalités mais plus de sécurité.
Au passage, un contributeur travaille sur la synchronisation entre InDefero et un hébergement Subversion pour automatiquement créer/modifier les projets, les droits des utilisateurs et leur mot de passe.
The 2008-11-28 at 13:11 by Loïc d'Anterroches filed under InDefero, bug tracking and more.
Voici une capture d’écran de ce que j’arrive à faire pour la revue du code, cette capture d’écran est réalisée par la soumission d’un patch contre une version donnée des sources :
À gauche, vous avez l’ancienne version du code et à droite la nouvelle. En comparaison avec le diff d’un commit, vous avez plus de lignes de contexte (point 1) car j’applique réellement le patch contre les sources, je peux donc extraire plus que les 3 lignes d’avant après d’un patch standard. Vous pouvez facilement visualiser la différence entre l’avant et l’après (point 2) et je fais la jonction entre les différents éléments du patch pour chaque fichier (point 3) car l’ajout d’un contexte de 10 lignes peut regrouper les éléments.
Les choses maintenant à ajouter correspondent à la revue elle-même. Cela va d’abord être un commentaire pour chaque fichier et un commentaire général. Ensuite, et ceci va nécessiter du javascript donc c’est moins important, l’ajout de commentaires ligne par ligne. Ce qui est bien c’est que je travaille avec un patch, donc, le patch peut avoir n’importe quelle origine, le diff d’un commit pour la revue post commit et le diff d’un contributeur pour la revue pré commit.
The 2008-11-28 at 08:23 by Loïc d'Anterroches filed under InDefero, bug tracking and more.
Je ne m’attendais pas au succès InDefero. Il y a quelques jours je me suis dit, tiens, il faudrait que j’ouvre un channel de discussion sur l’IRC pour le projet. J’ouvre donc #indefero sur les serveur freenode, et là, je trouve déjà 6 personnes. Les utilisateurs m’avaient précédé. Depuis la reprise de mon journal en dépêche sur LinuxFr, nous sommes maintenant presque 15 personnes en continu sur l’IRC et les discussions le soir sont bien animées. La boucle sortie d’une version, test, retour d’expérience est très rapide. Presque trop rapide, il faut vraiment taper vite pour répondre aux questions, fixer le code et ajouter de nouvelles fonctionnalités. Si vous regardes la liste des mises à jour, vous comprendrez vite.
C’est vraiment un plaisir de voir l’accueil par les utilisateurs de cette application, cela motive énormément pour continuer de coder et cela me fait repenser la devise "Release early, release often", je pense qu’en plus du early il faut ajouter la notion d’esthétisme. Aujourd’hui, vous avez des milliers de projets libres et des centaines de bug trackers, pourquoi alors venir utiliser InDefero ? Pour inciter les gens à venir tester votre logiciel il faut qu’il soit beau et simple. Les gens ont compris que le nombre des options n’est pas la solution, l’important est de bien faire la chose voulue.
Je n’ai pas encore implémenté la logique adaptative du CMS Plume dans InDefero, mais cela va venir. C’est un système qui regarde comment vous utilisez l’application pour vous permettre d’avoir par défaut l’activation des options que vous utilisez le plus souvent. Simple, élégant, vous ne voyez même pas que le système est là, vous constatez simplement que l’interface vous correspond bien et répond naturellement à vos attentes. Cela me fait penser à une phrase dite dans Apple Seed : "Technical complexity for functional simplicity", une technologie complexe sous-jacente à une simplicité d’utilisation.
C’est un défi de maintenir la simplicité du logiciel tout en satisfaisant les attentes des utilisateurs. Un joli défi à relever !