Les meilleurs administrateurs SGBD freelances sont sur Codeur.com
Ouvert · 10 000 € et plus · 55 offres · 970 vues · 24 interactions
Développement Backend NestJS & Intégration Frontend React pour Plateforme d'Édition Numérique Collaborative (TEI, Manuscrits, Folio etc)
Nous recherchons un développeur backend confirmé (ou un binôme backend/frontend) pour finaliser l'API serveur et connecter notre application frontend existante à celle-ci. Le projet consiste à déployer un backend NestJS/PostgreSQL robuste, supportant un système de révision complexe, une collaboration temps réel (WebSockets), et la gestion de contenus structurés au format XML TEI.
Le frontend, déjà développé en React JS avec Sass pour le style, il est actuellement connecté à des mocks via Postman. Il devra être adapté et branché sur l'API fonctionnelle, avec une gestion propre des états, des erreurs et des flux temps réel. Une collection Postman complète est fournie en amont pour accélérer la phase d'intégration et de tests.
STACK TECHNIQUE :
- Backend : NestJS (TypeScript), TypeORM/Prisma (au choix du développeur, à justifier)
- Base de données : PostgreSQL
- Frontend : React JS + Sass (code existant, à connecter à l'API)
- Conteneurisation : Docker Compose unique (développement & déploiement)
- Authentification : JWT (Bearer Token) + Refresh Token
- Temps réel : WebSockets (Socket.io)
- Format de données : JSON par défaut, XML pour les payloads TEI
- Mocking : Collection Postman fournie (simule la majorité des endpoints et réponses sauf websocket)
- Identifiants : UUID v4 | Date : ISO 8601 UTC
PÉRIMÈTRE DU TRAVAIL & LIVRABLES
Le prestataire devra réaliser les livrables suivants :
1. API Backend complète (NestJS/PostgreSQL) avec tous les endpoints spécifiés.
2. Intégration & Adaptation du Frontend : Modification du code React/Sass existant pour consommer l'API réelle (remplacement des mocks, gestion des appels HTTP, gestion des erreurs, hooks React, support WebSockets).
3. Tests & Qualité : Couverture de tests unitaires et tests fonctionnels/intégration (backend + points critiques du frontend).
4. Infrastructure : docker-compose.yml fonctionnel, schéma DB (migrations), documentation API (Swagger/OpenAPI).
5. Guide d'intégration : Instructions claires pour le déploiement et la connexion frontend/backend.
FONCTIONNALITÉS BACKEND CLÉS
1. Authentification, Autorisation & Partage
- Inscription, connexion, refresh token, réinitialisation de mot de passe.
- RBAC complet : Rôles, permissions, capacités organisationnelles.
- Sessions éphémères pour les folios (durée configurable) + partage par email avec token de récupération.
- Authentification WebSocket via session_token.
2. Gestion de Contenu & Révisions
- Hiérarchie : Traditions vers Manuscrits vers Folios.
- Système de révision : Brouillons, activation, publication, historique parent-enfant, visibilité (public/private/organization).
- CRUD standard + mises à jour partielles via JSON Patch (RFC 6902).
- Endpoint de comparaison de manuscrits (intégration workflow Python/CollateX).
3. Collaboration Temps Réel (WebSockets)
- Sessions live pour édition collaborative.
- Événements : join, take_control, présence, erreurs.
- Stratégie de résolution de conflits définie et implémentée côté serveur.
4. TEI, Médias & IIIF
- Stockage/édition de contenus TEI (transcription, traduction, commentaires) avec compression brotli.
- Upload média, métadonnées, formats multiples.
- Serveur d'images IIIF (node-iiif) pour zoom/navigation sur fac-similés.
QUALITÉ, TESTS & INTÉGRATION FRONTEND
- Tests Backend : Couverture unitaire et d'intégration (Jest ou équivalent). Scénarios couvrant auth, RBAC, révisions, WebSockets et gestion d'erreurs.
- Tests Fonctionnels : Validation des parcours critiques (inscription vers création vers révision vers publication vers partage).
- Adaptation Frontend :
* Remplacement des appels mocks par la vraie API.
* Gestion centralisée des états de chargement, erreurs API et reconnexion WebSockets.
* Harmonisation des types TypeScript avec les réponses backend.
* Respect des conventions Sass existantes (aucun refactor style majeur requis, uniquement l'intégration fonctionnelle).
* La collection Postman fournie servira de référence pour les tests et la validation des payloads.
ARCHITECTURE & CONVENTIONS
- API RESTful : Base path /, pagination standard (page/limit), réponses paginées structurées.
- Erreurs unifiées : Format JSON { error: { code, message, details } } avec codes HTTP appropriés.
- Schéma DB : Tables principales + tables de révision dédiées, tables de jonction pour relations Many-to-Many, indexation optimisée.
- Sécurité : Hashage mots de passe, validation/sanitisation des entrées, CORS configuré, sandboxing pour les appels Python.
- Performance : Compression TEI, pagination efficace, caching sur endpoints lourds (ex: résumés).
CRITÈRES D'ÉVALUATION
Nous privilégierons les candidatures démontrant :
- Maîtrise avancée de NestJS et PostgreSQL.
- Expérience concrète sur des systèmes de révision/versioning et de collaboration temps réel.
- Capacité à connecter et adapter un frontend React existant à une API backend (gestion d'état, hooks, WebSockets).
- Bonne pratique des tests unitaires et fonctionnels.
- Connaissance du standard TEI et de l'API IIIF est un plus.
- Clarté dans l'architecture proposée et la stratégie de gestion des conflits temps réel.
COMMENT POSTULER
Merci de joindre à votre proposition :
1. Votre expérience pertinente (liens vers projets similaires, GitHub ou portfolio).
2. Une estimation du temps de développement par phase (Backend, Tests, Intégration Frontend, Recette).
3. Votre tarif (journalier ou forfaitaire) et disponibilité.
4. Réponse à la question technique : Quelle approche préconisez-vous pour la gestion des conflits d'édition collaborative sur les folios (ex: CRDT, OT, locking optimiste/pessimiste) et comment l'intégrerez-vous dans l'architecture NestJS/WebSocket ?
Budget indicatif : 10 000 € et plus
Publication : 11 mai 2026 à 14h42
Profils recherchés : Expert BDD freelance , Développeur Node.js freelance , Développeur back-end freelance , Développeur API freelance , Développeur React freelance
55 freelances ont répondu à ce projet
55 propositions de devis en moins de 2h
Montant moyen des devis proposés : 19 500 €
Estimation du délai : 25 jours