[SPIP Zone] un petit marché public lancé dans la Communauté Spip (5 jobs)

Bonjour,

Comme annoncé il y a plusieurs mois, Forest, centre culturel asbl lance un petit marché public relatif à la création (ou modification de l'existant) de plusieurs plugins ou éléments de plugins.

Le tout d'emblée en Open source et sous la licence GNU-GPL utilisée par SPIP.

Le développement se fera sur et à partir de la Zone, la documentation sera rédigée prioritairement sur spip-contrib.

Je dépose cette demande d'offres ici, sur la liste zone, qui n'est sans doute l'endroit a priori le plus adéquat, mais pour deux raisons:
- nous souhaitons coller au plus près à l'esprit de spip et aux outils qui ont été mis en place par la communauté;
- nous n'avons pas trouvé d'autres endroits qui permettaient de lancer l'appel à tous les développeurs de plugins ayant déjà déposé tout ou partie de leur travail sur la zone.

:Le projet initial:

Notre association a bénéficié d'un subside fédéral pour la création d'un outil de webmapping communautaire, participatif, et dont l'objectif essentiel est de favoriser autant que faire se peut le croisement entre l'usage savant et l'usage populaire des données géolocalisées.
Bref: faire se croiser dans un même espace l'urbaniste travaillant à la revitalisation d'un quartier et qui recheche des données statistiques ou le gamin qui dépose sur le web un reportage photo sur sa rue réalisé lors d'un atelier, en passant par l'info institutionnelle (les travaux près de chez vous) ou associative.

Nous envisageons d'utiliser spip en tant que framework (plutôt que comme CMS prêt à l'emploi).

Par ailleurs, nous souhaitons développer notre outil de communication et de travail collaboratif sur le net à partir de Spip.

Dans une première étape, nous souhaitons contribuer au développement de plugins, existants ou à créer (5 jobs).

:Délais:

La commande sera passée cette année ... et dans la mesure du possible, nous souhaitons des résultats (sinon un produit fini) dans les 3 mois après commande.

:Rémunérations:
Sur facture (prestation de service)ou sous forme de droits d'auteur, selon les nécessités du prestataire.
Nous rémunérons l'effort consenti devant une contrainte: la réalisation d'un objectif donné dans des délais négociés, et non la propriété de quoi que ce soit.

:Objectif du présent appel:
Etablir une première liste de prestataires, avec lesquels nous entamerons une négociation directe en vue de conclure un accord, le cas échéant.
Nous ne visons pas dans ce premier appel un objectif de réalisation complète, full options et all inclusive des plugins souhaités, mais à tout le moins pour chacun la définition d'une architecture et un prototype fonctionnel parfaitement documenté.

Budget global de ce marché: approximativement 15.000€

:Principes de développement:

L'ensemble du code sera Open source et sous la licence GNU-GPL utilisée par SPIP.

Le développement se fera sur et à partir de la Zone, la documentation, indispensable, sera rédigée en français prioritairement sur spip-contrib.

Le code sera développé selon les "meilleures pratiques spipiennes" et dans l'état de l'art (spip 2.0.9, vers 2.1.), en exploitant au maximum la capacité "framework" de spip, tout en poussant le plus loin possible la modularité du code.

Priorité sera donnée aux développements basé sur l'existant, dans la mesure où cet existant est codé selon les "bonnes pratiques" relatives à Spip >=2.0. Et donc priorité sera donnée, le cas échéant, aux développeurs des plugins qui seraient présentés comme socle de développement.

Le job porte sur du code (aucun travail de design): l'interfaçage se fera par ailleurs. Toutes les données à disposition du client (pour affichage ou traitement javascript) seront modélisées et le code les mettra à disposition de nos interfaçeurs sous une forme standardisée (xml, json ou liste ul/li). Néanmoins, le codeur fournira une interface élémentaire permettant de tester le plugin (proto fonctionnel).
Le cas échéant et là où c'est nécessaire, une intégration dans le backoffice de spip sera également proposée.

:JOB1:production de pdf côté espace privé (pour rédacteur d'un niveau moyen):

Production de pdf à partir d'un article, dans l'espace privé: le pdf généré étant automatiquement ajouté en document de l'article. Le plugin permettra de générer différentes versions du pdf (les différentes étapes de rédaction).
Il sera posible de configurer plusieurs mises en page (un layout) élémentaires du pdf. Et de choisir à la génération du pdf, le layout qui sera utilisé.

Nous sommes ouvert à une solution de production sous un format ouvert (OpenDocument) sous réserve que les outils online de conversion OpenDocument vers Pdf donnent satisfaction (exemple: http://www.artofsolving.com/online-document-converter). Nous n'avons pas testé.

Les layouts configurables doivent pouvoir permettre de produire des pdf avec des données structurées variables (vos réf. nos réf. auteur, objet, date, adresse, etc.) générées par une boucle spip ou un modèle, par exemple.

Le petit plus: une possibilité d'envoi par mail des pdf générés à partir de la page d'édition de l'article, avec stockage de la date d'envoi et du (des ) destinataires.

Le minimum livré attendu:
L'architecture de développment d'un plugin complet et un proto fonctionnel, même élémentaire.

:JOB2:un générateur de formulaires (pour développeur de site sous spip):

Le formulaire pourra
- être généré à partir d'un modèle de table (connexion à la base de donnée, choix d'une table, choix des champs, génération d'un modèle de base du formulaire avec les habituels fonctions CRUD),
- ou, une fois construit et décrit, générer la table ad hoc dans la base de donnée.
Pour ce job, nous privilégions un travail partant d'un existant, dans l'univers de spip ou à importer dans celui-ci.
Contrainte: rester au plus près de la technologie Spip et notamment la technologie CVT.
La bibliothèque javascript jQuery sera utilisée.

Le minimum livré attendu:
- le moteur de création d'un formulaire aux standards de spip à partir de sa description (json ou xml) avec génération des fichiers CVT de base ad hoc;
- le dispositif permettant de générer la description (json ou xml) d'un formulaire à partir d'une table existante (il devra pouvoir évoluer vers un traitement des tables liées et des jointures) ;
- le dispositif permettant de créer une table à partir du fichier de description d'un formulaire;
- le dispositif de configuration du plugin;
- une documentation complète et didactique du système CVT et des formulaires dynamiques de spip;
- des propositions de solutions pour intégrer dans ce plugin la gestion des droits native de spip.

Pour ce job, nous attendons un proto fonctionnel sans nécessairement que toutes les fonctions soient déjà implémentées.

Nous attirons l'attention sur (déjà ancien):
http://robla.net/2005/jsonwidget/
http://braincast.nl/samples/jsoneditor/
http://www.thomasfrank.se/downloadableJS/JSONeditor_example.html
http://www.soft-amis.com/jsoner/

Nous sommes en effet intéressés (pour un développement futur) par une intégration d'un éditeur xml/json dans le backoffice de SPIP.

:JOB3:un plugin d'import/export de données structurées (pour développeur de site sous spip):

Le plugin permettra l'import/export de données structurées xml, json, ical et ics. Il comprendra une interface de mapping vers un objet spip existant.

Le proto fonctionnel prendra les données d'un agenda Google comme base de test (en import/export).

Ce plugin peut être complémentaire à :JOB3:(générateur de formulaire)

:JOB4:un plugin de création de données automatiques (pour administrateur expérimenté):

Objectif: ajouter automatiquement des données dans diverses tables de Spip à la création d'un nouvel objet SPIP.
Exemples élémentaires:
- à la création d'un nouvel auteur AAA de statut "rédac", le plugin crée automatiquement une sous-rubrique AAA dans la sous-rubrique "rédac" d'un secteur XXX;
- à la création d'une sous-rubrique ZZZ dans le secteur YYY, création automatique d'un mot clé ZZZ dans le groupe GGG.

L'interface de configuration du Plugin permettra d'associer un objet maître, éventuellement avec un critère possible, à des données prédéfinies ou déduites de cet objet.

Un proto fonctionnel est attendu.

:JOB5:un outil d'aide à la création de boucles (pour développeur de site sous spip):

Le plugin fournira une interface d'aide à la création de Boucle, directement dans l'espace privé de SPIP, par exemple sur base d'une récupération des données de spip.net/@ (afin de maintenir automatiquement à jour le dictionnaire spipien) et d'un outil de définition syntaxique configurable (afin de permettre de suivre l'évolution de Spip).
En utilisant le debuggueur, la boucle créée sera immédiatement testée dans l'interface du plugin (avec un layout élémentaire basé sur une liste ul/li). Il sera possible de sauver la boucle ainsi créée en tant que modèle, dans un répertoire au choix.

Un proto fonctionnel est attendu.

:Côté pratique:

Toute communication ou demande d'infos doit se faire impérativement
en dehors de la liste spip.zone,
sur le courriel
rburton@forestcentreculturel.be
Votre offre comprendra nécessairement des références professionnelles.
Nous prendrons en compte également votre travail sur la zone et sur spip.contrib.

Pour chaque job auquel vous souhaitez répondre (vous ne devez pas répondre à tout), vous proposerez
- l'existant à partir duquel, le cas échéant, vous travaillerez et la motivation de votre choix;
- une courte discussion (votre point de vue) sur le job, son objectif, son utilité dans l'univers de spip et les premiers éléments d'une (contre)proposition de développement permettant d'apprécier la voie que vous comptez prendre;
- une estimation du niveau du proto que vous comptez atteindre et des délais;
- votre offre forfaitaire en euros (aucun supplément ne sera admis).

Vos offres doivent nous parvenir via courriel à rburton@forestcentreculturel.be
avant le 10 novembre.
Dès le 11, nous prendrons contact avec chacun des soumissionnaires, dans le cadre d'une procédure négociée (on discute de vos offres).

Nous espérons être en mesure de passer commande entre le 25/11 et le 5/12.

Forest, centre culturel asbl
2 rue du Curé
BE-1190 Bruxelles
Belgique
N° d'entreprise 0899 327 679
TVA BE0899327679

Merci à tous,
Roger Burton