Conférence sur le gestionnaire de versions distribué Git le jeudi 03/11 après-midi à Télécom SudParis (Évry)

Pour info, voici une copie de l’annonce de la conférence sur Git organisée par les enseigants de l’option ASR de Télécom SudParis et l’association MiNET. La conférence aura lieu à Télécom SudParis (Évry), et sera publique, avec cependant des modalités d’inscription (gratuite) à l’avance (voir ci-dessous).

Git est le gestionnaire de versions distribué à la mode. Venez découvrir l’outil, ses principes, ses avantages, et comment il révolutionne la pratique du développement logiciel, le jeudi 03/11 après-midi en Amphi 10 (de 14h30 à 17h00).

Nous accueillerons Sébastien Douche, animateur du site GitFr, et spécialiste des méthodes agiles, pour une conférence sur le sujet.

La conférence sera principalement destinée aux informaticiens ayant déjà quelques notions sur les systèmes de gestion de configuration, et curieux de découvrir les principes de la gestion distribuée et la puissance offerte par Git.

La gestion de versions consiste à contrôler l’ensemble des versions d’un ou plusieurs fichiers. Essentiellement utilisée dans le domaine de la création de logiciels, elle concerne surtout la gestion des codes source, sur lesquels différents développeurs peuvent interagir.

Pour assister à la conférence, merci d’écrire à minet@it-sudparis.eu.

À propos de Git

Git est le système de gestion de versions distribué le plus en vogue en ce moment. Il a été développé initialement par Linus Torvalds pour les besoins du projet de développement du noyau Linux, afin de permettre la gestion en configuration des contributions de plusieurs centaines de développeurs. Aujourd’hui, Git conquiert de plus en plus d’adeptes, dans tous les domaines du développement logiciel.

Même si l’outil est puissant et très versatile, sa prise en main n’est pas immédiate. Les concepts de la gestion de version distribuée peuvent profiter à tous, et leur connaissance est aujourd’hui requise dans la plupart des projets de développement collaboratif et distribué. La conférence visera à présenter les concepts sous-jacents, et à introduire les rudiments essentiels de l’utilisation de l’outil.


À propos de Sébastien Douche

Développeur amateur depuis 84, utilisateur de logiciel libre depuis 95, Sébastien est un vieux Geek. Fainéant par nature, il est à la recherche constante de tout moyen pour faire mieux avec moins d’effort.

Professionnellement, il occupe les postes de directeur technique et de responsable R&D chez un éditeur Français, lui permettant d’assouvir ses passions pour le coaching technique et la gestion d’organisation.

(Lien vers l’affiche de la conférence)

Compact preview of resources in FusionForge

I’ve been working on the ‘compactpreview’ plugin (in FusionForge’s SVN trunk), in order to support some javascript popups that can be used to display some “compact preview” of users and projects.

As can be see in the screencast below (also here) there are 2 types of compact preview popups :

  • those for local resources of the forge, that are displayed directly, as queried by the JS code on the /users/ or /projects/ pages with a specific “application/x-fusionforge-compact+html“content-type (required in the Accept HTTP header).
  • those compatible with the OSLC compact preview specifications, that can be displayed, should any other application want to display a compact preview. Again, these are served with content-negociation for “application/x-oslc-compact+xml“, which returns a short RDF document, which points to a script of the forge in charge of rendering the HTML compact preview.

The latter is demonstrated in the screencast, for display of popups for remote projects linked to a fusionforge project with the ‘extsubproj‘ plugin I already blogged about.

This code is still new, but will hopefully extend to other forge resources.

In the meantime, I’d be glad to see other forges implement similar mechanisms.

Lecture on “Jailbreaking the Forges : project export/import efforts”

I’ll be speaking next week‘ve been at Open World Forum, in the OSDCfr track in with a speech titled “Jailbreaking the Forges : project export/import efforts”

Here are the slides (as PDF – 1.3 Mb)

Here’s a copy of the presentation I wrote.

Software forge are “data jails” in that development projects established in a forge may suffer from data lock-in if they have to, or want to, change of hosting solution.

Some of the tools allow easily to fork or move a project’s code (such as DVCS like Git, Bzr or Hg), but for other tools like bugtrackers, mailing-list managers or wikis, it’s much harder to extract data from one forge and transport it to another one. Also, users and their privileges, as well as many other metadata (who did what, and when) may suffer from such migrations.

Even though most projects don’t fell such lock-in as a high risk (even in FLOSS projects which value freedom of information, strangely), history as shown that in case of outages, hosting platforms can be quite a trap to projects.

Other hazards may happen, like unresponsive admins, forks in a community, archiving old projects while being able to restore them, do migrations, or just the wish to move to newer, cooler hosting platforms.

Despite 10 years of forge usage, it is only recently that few progress have been made in implementing standard exchange data formats and supporting tools, allowing us to envision a possible solution to these lock-in issues.

We’ll present the ForgePlucker project (initially started by esr after a few popular blog posts on the subject), and further efforts lead in the COCLICO project to provide an open and extensible standard exchange format for projects data export and import. In addition to forgeplucker, we’ll demonstrate the FusionForge import tools used as an archive/restoration mechanism.

We’ll then call for other forge implementors and advanced users to join us, for more efforts on this topic, in order to gather all the tools that are needed to make possible migrations of projects from forges to forges.

OAuth support in FusionForge, and the forge can tweets

We have been working in the frame of COCLICO on implementing support of the OAuth protocol, both as an OAuth provider/server (for instance for the needs of authentication to the OSLC server‘s Web Services), and an OAuth consumer/client.

That OAuth consumer has been put to work in order to connect to twitter’s API, so that the forge is now able to push news to tweeter and other IM services.

OAuth will, beyond twitter, allow the forge to interoperate with other web services supporting connections on behalf of users, instead of using fake accounts, or storing passwords in the databases.

All these are committed in FusionForge’s SVN trunk.

Dynamically querying external (sub) projects properties with RDF in FusionForge

I’ve been working recently on two plugins for FusionForge. The work is somehow a POC for some COCLICO dynamic interoperability work-package, but some outcomes may actually be of use someday in real life, who knows 😉

The first plugin is called extsubproj, and allows the definition of links to external subprojects (i.e. hosted on another forge), in the properties of a FusionForge project. It’s basically managing a set of stored URLs and displaying them in the top project’s summary page. Nothing fancy, so far, and the code is not yet finished, nor pushed to FusionForge’s trunk yet.

The second plugin, called doaprdf, allows the publication, by the forge, on the same URL as the project summary page (those URLs are standardized in FusionForge in the form : http://.../projects/projname), of a RDF+XML description of some of the project’s metadata, using the DOAP dialect. This works with content-negotiation, following principles of the Linked Data paradigm, so that the same URL, when requested for HTML, renders a Web page (the forge project’s summary page) meant for humans^geeks, and when queried with a special content type Accept HTTP header (Accept: application/rdf+xml), meant for machines.

Now, when you combine these two, you gain the possibility of having extsubproj display not only the suprojects’ URLs, but also some of their meta-data, for instance a link in the form of <a href="http://.../projects/projname">fetched doap:name</a>.

The POC illustrates how one may then construct a hierarchy of (public so far) projects and sub-projects accross the buondaries for different forges databases, and display them in a similar manner as local projects (for instance, what the FusionForge plugin projects-hierarchy provides), through dynamic query of the remote project’s properties fetched on demand and modeled in a generic dialect (RDF with common ontologies such as DOAP).

Note that a similar FusionForge plugin “foafprofile" is being developped too for users profiles, using RDF and FOAF.

Stay tuned for more content in the same vein.