GitLab for FabLab: a self hosted git management software : Différence entre versions

De Ensiwiki
Aller à : navigation, rechercher
Ligne 9 : Ligne 9 :
 
== Contexte ==
 
== Contexte ==
  
Le but de ce projet est de développer une plateforme de partage ouverte facilitant l'hébergement et la diffusions de projets créatifs issus des ateliers de type "FabLab".
+
Le but de ce projet est de développer une plateforme de partage ouverte facilitant l'hébergement et la diffusions de projets créatifs issus des ateliers de type [http://en.wikipedia.org/wiki/Fab_lab FabLab].
  
 
Le concept des FabLabs est né de la convergence des innovations en logiciel, matériel et micro-électronique au début des années 2000. Les FabLabs, avec la mouvance des "makers", sont à l'origine d'un grand nombre de projets créatifs, lesquels sont souvent rendus publics. Les utilisateurs des FabLabs créent des objets, des schémas et du code.s
 
Le concept des FabLabs est né de la convergence des innovations en logiciel, matériel et micro-électronique au début des années 2000. Les FabLabs, avec la mouvance des "makers", sont à l'origine d'un grand nombre de projets créatifs, lesquels sont souvent rendus publics. Les utilisateurs des FabLabs créent des objets, des schémas et du code.s
Ligne 30 : Ligne 30 :
 
Le travail demandé sera d'adapter et d'améliorer cette plateforme aux besoins particuliers des projets de type "fablab". Parmi les fonctionnalités demandées nous trouvons par ordre de priorité:
 
Le travail demandé sera d'adapter et d'améliorer cette plateforme aux besoins particuliers des projets de type "fablab". Parmi les fonctionnalités demandées nous trouvons par ordre de priorité:
  
* api/widgets pour gitlab: afin de pouvoir plus facilement integrer les projets hébergés par gitlab sur une page web (page perso, portal wordpress, etc.), GitLab devra être amélioré pour proposer une API (style REST) permettant d'acceder aux données public. Ainsi l'API devra fournir les accès suivant:
+
* api/widgets pour gitlab: afin de pouvoir plus facilement integrer les projets hébergés par gitlab sur une page web (page perso, portal wordpress, etc.), GitLab devra être amélioré pour proposer une API (style REST) permettant d'acceder aux données public. Cette API devra également permettre l'accès à des widgets offrant aux usagés la possibilité de visualiser (directement intégrable dans des pages web) directement ces données. Cette API devra, par exemple, fournir les accès suivant:
** liste des (top) projets avec leur informations associés (e.g. /get/projets/top/10 retournera les 10 top projets du gitlab avec leur informations: nom, description, namespace, minipage, développeurs, etc.)
+
** retourne la liste des (top) projets avec leur informations associés (e.g. /api/get/projets/top/10 retourne les 10 top projets du gitlab avec leur informations: nom, description, namespace, minipage, développeurs, etc.)
** liste les détails d'un projet (e.g. /get/projet/ensimag/timefridge liste les détails du projet timefridge du group ensimag)
+
** affiche des (top) projets avec leur informations associés (e.g. /api/view/projets/top/10 affiche les 10 top projets du gitlab avec leur informations: nom, description, namespace, minipage, développeurs, etc.)
 +
** retourne les détails d'un projet (e.g. /api/get/projet/ensimag/timefridge retourne les détails du projet timefridge du groupe ensimag)
 +
** affiche les détails d'un projet (e.g. /api/view/projet/ensimag/timefridge affiche les détails du projet timefridge du groupe ensimag)
 
* service de création/administration de minipage par projets
 
* service de création/administration de minipage par projets
 
* service de génération de preview pour des modèles 3D,2D (.stl, .obj, .dxf)
 
* service de génération de preview pour des modèles 3D,2D (.stl, .obj, .dxf)
Ligne 42 : Ligne 44 :
 
== Références ==
 
== Références ==
  
* Gitlab
+
* Git http://git-scm.com/
* Thingiverse
+
* Gitlab http://www.gitlab.org
 +
* GitHub https://github.com/
 +
* Thingiverse http://www.thingiverse.com/
 +
* FabLab http://en.wikipedia.org/wiki/Fab_lab
 +
* Amiqual4Home http://amiqual.inria.fr/
  
 
== Organisation ==
 
== Organisation ==
  
Ce projet devra être supporté par une ou deux équipes. Une équipe en charge de l’outil de capture, et une équipe en charge de l’outil de lecture. Le point de convergence des deux équipes étant l’intégration et la définition du format intermédiaire.
+
Ce projet pourra être supporté par une ou deux équipes.  
 
+
 
Taille des équipes : 2 à 5 étudiants (de préférence, plutôt 5 que 2).
 
Taille des équipes : 2 à 5 étudiants (de préférence, plutôt 5 que 2).
 
+
''Pour ce sujet, il est possible (préférable) de bénéficier d'un encadrement spécifique sur le thème des '''méthodes agiles.''' Pour plus de détails, voir la page [[Méthodes agiles en projet de spécialité]].''
''Pour ce sujet, il est possible de bénéficier d'un encadrement spécifique sur le thème des '''méthodes agiles.''' Pour plus de détails, voir la page [[Méthodes agiles en projet de spécialité]].''
+
  
 
== Liens ==
 
== Liens ==

Version du 12 avril 2013 à 11:25

Mycomputer.png  Deuxième Année  CDROM.png  Projets de spécialité 

Sujet proposé en 2013 par Rémi Barraquand et Stan Borkowski.

Contexte

Le but de ce projet est de développer une plateforme de partage ouverte facilitant l'hébergement et la diffusions de projets créatifs issus des ateliers de type FabLab.

Le concept des FabLabs est né de la convergence des innovations en logiciel, matériel et micro-électronique au début des années 2000. Les FabLabs, avec la mouvance des "makers", sont à l'origine d'un grand nombre de projets créatifs, lesquels sont souvent rendus publics. Les utilisateurs des FabLabs créent des objets, des schémas et du code.s Aujourd'hui le code est le plus souvent géré et publié sur des services en ligne tels que GitHub, et les modèles des objets physiques sont mis en ligne sur des portails propriétaires comme Thingiverse. Nous vous proposons de combiner des fonctionnalités de ces deux services au sein d'une solution Open Source basée sur GitLab.

Les résultats de votre travail pourront être utilisés pour la mise en place d'une plateforme d'échange pour les utilisateurs du FabLab d'ENSIMAG, du FabLabMSTIC et des ateliers du EquippEx Amiqual4Home.

Travail demandé

Le design de cette plateforme de partage devra se reposer sur des solution technologies existantes. La plateforme open-source GitLab basé sur le système de version distribué GIT et inspiré du site Github. Les principales fonctionnalités de GitLab sont:

  • l'hébergement de la solution sur un serveur personnel,
  • l'administration de projets
    • gestion d’incidents et suivi de projet,
    • gestion des groupes de projets et d'utilisateurs,
    • wiki
    • chat inter-projet
    • etc.

Le travail demandé sera d'adapter et d'améliorer cette plateforme aux besoins particuliers des projets de type "fablab". Parmi les fonctionnalités demandées nous trouvons par ordre de priorité:

  • api/widgets pour gitlab: afin de pouvoir plus facilement integrer les projets hébergés par gitlab sur une page web (page perso, portal wordpress, etc.), GitLab devra être amélioré pour proposer une API (style REST) permettant d'acceder aux données public. Cette API devra également permettre l'accès à des widgets offrant aux usagés la possibilité de visualiser (directement intégrable dans des pages web) directement ces données. Cette API devra, par exemple, fournir les accès suivant:
    • retourne la liste des (top) projets avec leur informations associés (e.g. /api/get/projets/top/10 retourne les 10 top projets du gitlab avec leur informations: nom, description, namespace, minipage, développeurs, etc.)
    • affiche des (top) projets avec leur informations associés (e.g. /api/view/projets/top/10 affiche les 10 top projets du gitlab avec leur informations: nom, description, namespace, minipage, développeurs, etc.)
    • retourne les détails d'un projet (e.g. /api/get/projet/ensimag/timefridge retourne les détails du projet timefridge du groupe ensimag)
    • affiche les détails d'un projet (e.g. /api/view/projet/ensimag/timefridge affiche les détails du projet timefridge du groupe ensimag)
  • service de création/administration de minipage par projets
  • service de génération de preview pour des modèles 3D,2D (.stl, .obj, .dxf)

Détails Techniques

GitLab est développé en Ruby et est basé sur Ruby on Rails. Ruby et Rails sont aujourd'hui devenues des technologies clés en conception d'applications web. Les étudiants devront donc savoir s'adapter à ces technologies.

Références

Organisation

Ce projet pourra être supporté par une ou deux équipes. Taille des équipes : 2 à 5 étudiants (de préférence, plutôt 5 que 2). Pour ce sujet, il est possible (préférable) de bénéficier d'un encadrement spécifique sur le thème des méthodes agiles. Pour plus de détails, voir la page Méthodes agiles en projet de spécialité.

Liens

Objectif et évaluation

L'objectif général du projet est de fournir une solution qui soit utilisable, et évolutive, pour que le développement puisse continuer sur le long terme (par exemple des projets de spécialité Ensimag futurs, mais pourquoi pas des contributions extérieures à l'école).

L'évaluation prendra en compte les points suivants (liste non-exhaustive) :

  • Qualité/quantité du code produit
  • Mise en place de la communauté, (forge, wiki, test, demo, etc.)
  • Soutenance et rapport final