Cher linuxfriens, je prends ma plus belle plume^Wmon plus beau clavier pour t'annoncer la publication officielle d'une nouvelle application révolutionnaire! Bon OK ce n'est pas vrai, elle n'a rien de révolutionnaire. Pire même, elle copie, sans vergogne aucune, sur ses grandes sœurs et grands frères comme Indefero, Trac, Redmine et j'en passe. Même pas peur d'abord.
Donc la petite dernière se prénomme "Django-Simple-Forge" et comme son nom l'indique, c'est une forge logicielle basée sur Django (donc écrite en Python) et dont la vocation initiale était d'être légère.
Donc oui c'est une nième forge logicielle et encore une fois un développeur (en l’occurrence, moi) a perdu son temps à réécrire une application au lieu d'aider à améliorer les équivalents existants. Mais on ne se refait pas et comme j'avais envie d'autre chose que les forges pré-citées et un peu de temps libre...
Pour en revenir à nos amaryllidaceae, voici quelques fonctionnalités que Django Simple Forge peut partager avec ses sœurs:
- Multi projets
- Multi système de gestion de versions (enfin en théorie car pour le moment, je n'ai écrit qu'un plugin subversion et git m'est trop étranger pour que je me lance à écrire le plugin qui va bien...)
- Projets publics ou privés (gestion d'ACL pour restreindre l'accès à un projet)
- Une page de présentation par projet
- Page de téléchargement de fichiers (archives par exemple)
- Un bug tracker (très épuré)
- Un résumé des logs de la gestion de versions du projet
- Des vues détaillées des changements dans le code
- Une vue d'exploration du code source
- Le support multilingue (français et anglais à cette heure)
En revanche Django-Simple-Forge n'a pas pour vocation de gérer le référentiel du système de gestion de version. L'application s'appuie sur un référentiel existant (local ou distant) et apporte quelques extras, mais la gestion des droits de lecture/écriture sur le référentiel par exemple, reste à la charge de l'administrateur habituel.
Pour la partie javascript, DSF s'appuie sur Jquery et pour les bases CSS, sur Blueprint. En dehors de ces librairies incluses, il vous faudra avoir un projet Django (>= 1.2) opérationnel avec les dépendances python suivantes:
- PySVN (pour le plugin Subversion
- Pygments (pour la coloration syntaxique qui est réalisée en 'best effort')
- Django-tagging (pour les tags sur les tickets même si DSF n'exploite pas ces fonctionnalités pour le moment)
Le tout est sous licence GPLv3. Donc tout un chacun peut apporter sa pierre à l'édifice, notamment pour écrire un plugin GIT ou pour d'autres systèmes de gestion de version ou encore nettoyer un peu mes pâtés de code, tester, documenter, traduire etc...
Pour ceux qui n'ont pas encore décroché et que ça intéresse, une démo (avec quelques échantillons de code) est accessible. C'est une version intégrée à un autre site, mais en gros si on omet la colonne de gauche, c'est la même interface. Le projet Django-Simple-Forge est directement hébergé sur cette démo: /p/django-simple-forge.
Ah et pour finir (j'entends bailler au fond de la salle... Oui toi!), c'est à l'occasion du premier tag nommé avec beaucoup d'originalité: "v0.1" que je me permets ce petit journal.
À bientôt.
# Enfin !
Posté par Tonton Th (Mastodon) . Évalué à 9.
Enfin un journal bookmark correctement argumenté. Ça donne bien envie d'essayer ton truc à battre le fer chaud des lignes de code portées au rouge par le frappement du Vim.
[^] # Re: Enfin !
Posté par pampryl . Évalué à 4.
Ça se voit tant que ça que je code avec vim? (/me est démasqué)
# J'abandonne…
Posté par Niniryoku . Évalué à 2.
L'initiative est bonne, je voulais contribuer (faire un plugin mercurial et/ou git).
Je vous promet j'ai essayé de persévérer :
Déjà, c'est un dépôt SVN \o/ . Okay, allé,
git svn -r3 clone …
D'abord, j'ai un peu bataillé pour installer pysvn dans un virtualenv. Il n'est pas sur pypi, et il a besoin de tout un tas de paquets turc-devel pour être compilé et installé. J'ai réussi plutôt simplement (alors qu'il y a un djangosvn et des truc comme ça sur pypi).
Ensuite, j'ai essayé de faire tourner le projet. Impossible de savoir quel paquet fournissait le module « ovsvn ». Après j'ai compris qu'en fait, il fallait que le projet s'appelle «
ovsvn
» et l'application django «django_simple_forge
» \o/ (oui tout est en dur dans le code) .Et là :
File "ovsvn/django_simple_forge/functions.py", line 7, in <module>
from login import *
ImportError: No module named login
J'abandonne.
Bonne chance.
Knowing the syntax of Java does not make someone a software engineer.
[^] # Re: J'abandonne…
Posté par Niniryoku . Évalué à 3.
J'ai rien dis ; j'ai persévéré, et découvert qu'il y avait un readme sur le site officiel. J'aurai du RTFM, mea-culpa.
Knowing the syntax of Java does not make someone a software engineer.
[^] # Re: J'abandonne…
Posté par pampryl . Évalué à 2.
Nop. Cela dit, tu n'as pas tord, il y a du ménage à faire.
[^] # Re: J'abandonne…
Posté par pampryl . Évalué à 3.
Je crois que c'est pour ça que je l'ai signalé dans le README:
Mais je suis conscient que c'est loin d'être propre et que pas mal de points méritent d'être améliorés dont celui-ci. "Y'a qu'à faut qu'on" comme on dit...
[^] # Re: J'abandonne…
Posté par Niniryoku . Évalué à 2.
nan, mais j'ai vraiment fait n'importe quoi.
git svn clone -r3
ne prend pas les 3 dernières révisions. Mais la 3eme, ça va mieu maintenant avec la dernière :P .Knowing the syntax of Java does not make someone a software engineer.
[^] # Re: J'abandonne…
Posté par Niniryoku . Évalué à 2.
Juste deux remarques, je viens de jouer avec un peu.
Il faudrait ajouter dans le readme d'installer django-html. (Enfin, chez moi, ça ne marche pas sans).
Et autre chose, dans
smc/subversion.py
, pourquoi ne pas utiliser les import relatifs comme expliqué ici, au lieu deovsvn.django_simple_forge.functions
?Knowing the syntax of Java does not make someone a software engineer.
[^] # Re: J'abandonne…
Posté par pampryl . Évalué à 2.
Ça m'aurait étonné aussi de ne pas oublier un truc en pré-requis... (tout le problème de ne pas prendre le temps de faire une install complète dans un environnement vierge).
Pour l'import relatif j'avoue que je n'avais pas cherché plus loin que le bout de mon nez. C'est corrigé dans le tronc svn.
Merci.
# Un peu de lecture
Posté par barmic . Évalué à 4.
C'est cool ce genre de petits projet ça permet de lire facilement du code sans se prendre la tête (moi je connais rien à Django). J'ai voulu regarder un peu le modèle de ta forge.
Je suis surpris que les utilisateurs ne fassent pas partis du modèle j'imagine qu'ils sont gérés spécifiquement par Django ?
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)
[^] # Re: Un peu de lecture
Posté par pampryl . Évalué à 3.
Oui en effet, django offre déjà les bases minimum pour la gestion des utilisateurs/groupes et autorisations: contrib.auth
# +1 plugin mercurial
Posté par case42 (site web personnel) . Évalué à 3.
Faire un plugin mercurial aurait beaucoup de sens: c'est du python aussi. Tu peux faire "import mercurial" et zou...
Bonne chance pour la suite.
# Codes à récupérer
Posté par steckdenis (site web personnel) . Évalué à 4.
Bonjour,
Pour ceux que ça intéresse, j'ai un jour développé une forge mono-projet pour mon projet Logram (j'avais des besoins assez spécifiques). Le code est public et disponible sous GNU Affero GPLv3 ici : http://gitorious.org/logram/website/ . Vous pouvez voir ce que ça donne en production sur http://www.logram-project.org .
C'est une forge utilisable par n'importe qui, mais je n'ai pas encore connaissance d'un projet qui l'utilise (il faut dire qu'il faut adapter pas mal de trucs pour la rendre utilisable par autre-chose que Logram, dont le thème qui doit être refait).
Côté fonctionnalités, c'est assez complet, la forge la plus complète à ma connaissance, ce qui explique pourquoi je l'ai faite au lieu de réutiliser l'existant :
Bref, une autre forge en Django, comme quoi on sait faire pas mal de choses avec Django. Son but est d'être la plus complète possible, et on a même quelque-part un plugin SVN pour explorer un dépôt SVN (le plugin se base également sur PySVN). J'espère que ce projet à l'arrêt (quoique je le reprendrai peut-être dans quelques temps) intéressera l'auteur de Django-Simple-Forge :) .
Merci de m'avoir lu, et désolé pour le long post publicitaire.
[^] # Re: Codes à récupérer
Posté par barmic . Évalué à 3.
Je sais pas si on peut vraiment parler de forge pour ce site. J'ai plus l'impression que c'est fait pour gérer une communauté que vraiment du développement. Mais ce n'est que mon avis d'après mes connaissance (je voudrais pas attirer les foudres de certains).
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)
[^] # Re: Codes à récupérer
Posté par pampryl . Évalué à 2.
Ah oui! C'est le modèle XXL là. Dommage un peu que cela soit noyé au milieu d'un autre projet. Je ne dis pas en revanche que je ne m'inspirerais pas un peu de certaines parties ;-)
(Pourtant, des forges django, j'ai cherché... Et je ne m'attendais pas à en trouver dans ce contexte.)
# encore
Posté par stopspam . Évalué à -1.
c'est vraiment la mode en ce moment les gestionnaires de tickets (l'année dernière c'était les framework PHP je vais pas me plaindre).
Est-ce que ce développement a pour but d'apprendre à développer avec django ou tu vas vraiment t'en servir ?
Parce que bon, une pauv' liste qui affiche les tickets en cours ça casse pas trois pattes à un canard. Quand bien même il y aurait quelque chose de nouveau ou d'attrirant je comprendrais, mais là rien de tout ça.
[^] # Re: encore
Posté par pampryl . Évalué à 4.
Je crois qu'un paragraphe du journal explique un peu la démarche. Et comme tu le dis, il n'y a rien de nouveau et encore moins d'attirant. Ce n'est absolument pas le but. Le but c'est de pouvoir être utilisable et adaptables à mes besoins. Chose qui m'est plus difficile avec d'autres forges dont le langage m'est plus étranger.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.