Une formation technique de cinq jours sur le développement de modules Odoo. Des modèles et vues de base aux workflows avancés, rapports QWeb et développement front-office.

Durée 5 jours (35 heures)
Format 50 pour cent présentation, 50 pour cent exercices
Prérequis Solides fondamentaux Python requis, connaissances fonctionnelles Odoo recommandées
Supports Machines virtuelles fournies, supports de cours électroniques

Installation et environnement de développement

  • Mise en place de l'environnement de développement : installation depuis les sources, configuration de l'IDE
  • Vue d'ensemble de l'architecture Odoo : serveur, addons, configuration
  • Structure d'un module : manifest, modèles, vues, données, contrôleurs
  • Workflow de développement : création et installation de modules personnalisés

Développement back-office basique

Modèles

  • Types de modèles : Model, TransientModel, AbstractModel
  • Champs : types de base, champs relationnels, champs calculés, champs liés
  • Contraintes : contraintes Python, contraintes SQL
  • Méthodes ORM : create, write, unlink, search, browse

Contrôleurs

  • Contrôleurs HTTP : routes, gestion des requêtes, JSON-RPC
  • Authentification et contrôle d'accès dans les contrôleurs

Vues

  • Types de vues : formulaire, liste, kanban, recherche, graphique, pivot, calendrier
  • Héritage et extension de vues
  • Actions et menus : actions fenêtre, actions serveur, éléments de menu

Présentation complète Modèle, Contrôleur et Vue

  • Fonctionnalités avancées des modèles : onchange, valeurs par défaut, filtres de domaine
  • Patterns de contrôleur avancés : upload de fichiers, téléchargements, accès portail
  • Vues avancées : domaines dynamiques, attrs, modifiers, widgets statusbar
  • Fichiers de données : données XML, données CSV, données de démonstration, enregistrements noupdate

Sécurité

  • Contrôle d'accès : groupes, droits d'accès (ir.model.access)
  • Règles d'enregistrement : sécurité au niveau des lignes basée sur les domaines
  • Contrôle d'accès au niveau des champs
  • Utilisation du superutilisateur et de sudo()

Développement avancé

Workflows et automatisation

  • Gestion des workflows : étapes, transitions, actions automatisées
  • Actions serveur : code Python, email, SMS, mises à jour d'enregistrements
  • Actions planifiées (tâches cron)

Kanban et QWeb

  • Vues Kanban : templates personnalisés, barres de progression, support des activités
  • Templates QWeb : génération de rapports, rapports PDF
  • Développement de rapports personnalisés : en-têtes, pieds de page, mises en page

Développement front-office

  • Contrôleurs de site web : pages publiques, pages portail
  • Templates QWeb pour le site web : snippets, développement de thèmes
  • Intégration JavaScript : widgets, composants OWL
  • Personnalisation e-commerce : pages produits, flux de paiement

RECOMMANDATIONS

Les mises à jour suivantes sont suggérées pour moderniser ce programme de formation :

  • Mettre à jour vers le framework OWL d'Odoo 17 ou 18 pour le développement frontend
  • Remplacer les références au moteur de workflow déprécié par la nouvelle approche basée sur les étapes
  • Ajouter la couverture de la nouvelle architecture du client web basée sur OWL
  • Inclure les outils JavaScript modernes et le bundling d'assets dans Odoo
  • Ajouter des patterns de tests unitaires pour les modules Odoo