Se rendre au contenu

Le modèle project.project : Comprendre l'architecture des projets d'Odoo

Un guide complet sur le modèle de projet d'Odoo pour les développeurs et les consultants fonctionnels.
11 mars 2026 par
Le modèle project.project : Comprendre l'architecture des projets d'Odoo
Dasolo
| Aucun commentaire pour l'instant

Introduction


Dans Odoo, les modèles définissent comment les données sont structurées et stockées dans la base de données. Chaque élément de données commerciales avec lequel vous travaillez, des commandes de vente aux projets en passant par les tâches, vit dans un modèle.


Comprendre les modèles Odoo est essentiel tant pour les développeurs que pour les consultants fonctionnels. Les modèles sont la base de l'architecture des données Odoo. Ils définissent les champs Odoo, les relations et la logique commerciale. Chaque modèle dans Odoo suit les mêmes schémas.


Cet article se concentre sur l'un des modèles les plus importants d'Odoo : project.project. Que vous construisiez des modules personnalisés, intégriez des systèmes externes ou configuriez des flux de travail de projet, vous travaillerez avec ce modèle.

Quel est le modèle project.project


Le modèle project.project représente un projet dans Odoo. C'est le conteneur pour les tâches, les jalons et la collaboration d'équipe. Chaque projet est un enregistrement dans ce modèle.


Ce modèle dans Odoo est utilisé par l'application Projet. Lorsque vous créez un projet dans Odoo, vous créez un enregistrement project.project. Les tâches sont liées à ce projet via le champ task_ids. Le projet définit les étapes du flux de travail, les membres de l'équipe et les règles de visibilité.


Le modèle est défini dans le module projet. D'autres modules l'étendent par le biais de l'héritage de modèle Odoo. La vente ajoute la facturation basée sur le projet. Le feuille de temps ajoute le suivi du temps. La planification de projet ajoute la planification Gantt. Chaque module ajoute ce dont il a besoin sans dupliquer la structure de base.


Comprendre la relation entre project.project et project.task est essentiel. Le projet contient des paramètres partagés. La tâche contient des éléments de travail individuels. Les deux sont centraux dans le flux de travail de gestion de projet d'Odoo.

Champs clés dans le modèle


Voici les champs Odoo les plus importants dans le modèle project.project. Comprendre ceux-ci vous aidera à travailler efficacement avec les projets.


1. nom

Type : Char. Ce champ stocke le nom du projet. Il est affiché dans de nombreuses vues Odoo et est l'identifiant principal pour l'enregistrement du projet.


2. date de création

Type : Datetime. Stocke la date et l'heure de la création de l'enregistrement. Géré automatiquement par Odoo. Utile pour les rapports et les audits.


3. date de modification

Type : Datetime. Stocke la date et l'heure de la dernière modification. Également géré automatiquement. Aide à suivre quand les données ont été mises à jour pour la dernière fois.


4. actif

Type: Booléen. Indicateur de suppression douce. Lorsque Faux, le projet est archivé et caché des vues par défaut. Les enregistrements ne sont pas physiquement supprimés.


5. séquence

Type: Entier. Ordre d'affichage pour le tri. Utilisé dans les listes de projets et les menus déroulants. Les valeurs plus basses apparaissent en premier.


6. couleur

Type: Entier. Index de couleur pour le projet. Utilisé dans les vues et les tableaux kanban pour distinguer visuellement les projets.


7. user_id

Type: Many2one (res.users). Le chef de projet. Cet utilisateur est responsable du projet et est souvent affiché comme le responsable par défaut.


8. company_id

Type: Many2one (res.company). Dans les configurations multi-entreprises, cela indique à quelle entreprise Odoo le projet appartient.


9. partner_id

Type: Many2one (res.partner). Le client ou le partenaire lié au projet. Utilisé pour la facturation et les rapports.


10. description

Type : Html. Description du projet. Peut inclure du HTML pour le formatage. Utilisé pour les briefs et notes de projet.


11. date_debut

Type : Date. La date de début du projet. Utilisé pour la planification et le reporting.


12. date

Type : Date. La date limite ou de fin du projet. Utilisé pour le suivi et le reporting.


13. ids_tâche

Type : One2many (project.task). La liste des tâches dans le projet. C'est la relation principale entre les projets et les tâches.


14. nombre_tâches

Type : Entier. Nombre de tâches. Calculé à partir des ids_tâche. Utilisé pour l'affichage et le filtrage.


15. ids_type

Type : Many2many (project.task.type). Étapes ou types de tâches pour le projet. Définit le flux de travail (par exemple, À faire, En cours, Fait).


16. ids_tag

Type: Many2many (project.tags). Étiquettes de projet pour la catégorisation. Utilisé pour filtrer et organiser les projets.


17. visibilité_privée

Type: Sélection. Contrôle qui peut accéder au projet. Options : Utilisateurs internes invités (privé), Tous les utilisateurs internes, ou Utilisateurs invités du portail et tous les utilisateurs internes (public).


18. ids_collaborateurs

Type: One2many (project.collaborator). Membres de l'équipe assignés au projet. Définit qui peut travailler sur le projet.


19. ids_utilisateurs_favoris

Type: Many2many (res.users). Utilisateurs qui ont marqué le projet comme favori. Utilisé pour un accès rapide dans le tableau de bord.


20. autoriser_dépendances_tâches

Type: Booléen. Lorsque vrai, les tâches peuvent être liées à d'autres tâches en tant que prédécesseurs ou successeurs. Utilisé pour la planification de projet.


21. autoriser_jalons

Type: Booléen. Lorsque vrai, des jalons peuvent être créés dans le projet. Les jalons marquent des livrables clés.


22. ids_jalons

Type: One2many (project.milestone). Les jalons du projet. Utilisé pour suivre les livrables clés.


23. rating_active

Type: Boolean. Lorsque True, les clients peuvent évaluer le projet. Utilisé pour les retours des clients.


24. task_properties_definition

Type: Text (JSON). Propriétés de tâche personnalisées pour le projet. Définit des champs supplémentaires pouvant être ajoutés aux tâches.


25. access_url

Type: Char. L'URL pour que les clients accèdent au projet via le portail. Utilisé pour la collaboration avec les clients.


26. access_token

Type: Char. Jeton de sécurité pour l'accès au portail. Assure que seuls les utilisateurs autorisés peuvent voir le projet.


27. alias_id

Type: Many2one (mail.alias). Alias email pour le projet. Les emails entrants créent automatiquement des tâches.


28. activity_ids

Type: One2many (mail.activity). Activités planifiées sur le projet. Utilisé pour les suivis et les rappels.


29. état_de_l'activité

Type: Sélection. Résumé de l'état de l'activité : Aujourd'hui, En retard ou Prévu. Calculé à partir de activity_ids.


30. date_limite_de_l'activité

Type: Date. La date de la prochaine activité planifiée. Utilisé pour la planification des activités.


31. message_ids

Type: One2many (mail.message). Messages Chatter sur le projet. Utilisé pour la communication interne.


32. message_follower_ids

Type: One2many (mail.followers). Utilisateurs suivant le projet. Ils reçoivent des notifications.


33. create_uid

Type: Many2one (res.users). L'utilisateur qui a créé l'enregistrement. Défini automatiquement par Odoo.


34. write_uid

Type : Many2one (res.users). L'utilisateur qui a modifié le dossier en dernier. Défini automatiquement par Odoo.

Comment ce modèle est utilisé dans les flux de travail commerciaux


1. Création et gestion de projet

Lorsqu'un commercial ou un chef de projet crée un projet, il définit le nom, le responsable, les dates et la visibilité. Le modèle project.project stocke tout cela. Des tâches sont ensuite ajoutées et liées au projet.


2. Flux de travail des tâches

Les tâches passent par des étapes définies par type_ids. Le chef de projet assigne des tâches aux collaborateurs. Le projet contient la configuration du flux de travail et la structure de l'équipe.


3. Portail client

Lorsque la visibilité de la confidentialité permet l'accès au portail, les clients peuvent consulter les tâches et les jalons via l'access_url. Le access_token sécurise le lien. Cela est utile pour les projets clients.


4. Feuille de temps et facturation

Avec le module Feuille de temps, project.project est lié aux entrées de feuille de temps. Avec Vente, les projets peuvent être liés aux commandes de vente pour la facturation basée sur le projet. Le champ partner_id connecte le projet au client.


5. Intégration des e-mails

Les e-mails entrants à l'alias du projet créent automatiquement des tâches. Le champ alias_id connecte le projet à son alias de messagerie. Cela simplifie la création de tâches à partir des e-mails.

Comment les développeurs étendent ce modèle


Les développeurs étendent project.project en utilisant plusieurs modèles. L'héritage de modèle Odoo est le principal mécanisme.


Héritage de Modèle

Utilisez _inherit = 'project.project' pour étendre le modèle. C'est l'héritage de modèle Odoo en action. Ajoutez de nouveaux champs Odoo, remplacez des méthodes ou ajoutez des contraintes. Le modèle hérité dans Odoo garde vos modifications dans un module séparé pour des mises à jour faciles. Lorsque vous héritez d'un modèle dans Odoo, vous l'étendez sans modifier l'original.


Ajout de Champs

Définissez de nouveaux champs Odoo dans votre modèle hérité. Utilisez le bon type de champ : Char, Many2one, Boolean, Integer, Text, Selection. Considérez les champs dépendants de l'entreprise pour les multi-entreprises.


Extensions Python

Remplacez create, write ou unlink pour ajouter de la logique. Utilisez super() pour appeler l'original. Faites attention aux champs calculés et à leurs dépendances.


Odoo Studio

Odoo Studio vous permet d'ajouter des champs sans code. Bon pour des personnalisations rapides. Pour une logique complexe ou des mises à jour, les modules personnalisés sont plus maintenables.

Meilleures pratiques


  • Définissez user_id pour l'attribution du chef de projet. Une propriété claire améliore la responsabilité.
  • Configurez type_ids pour chaque projet. Définissez des étapes qui correspondent à votre flux de travail.
  • Utilisez privacy_visibility correctement. Les projets privés restreignent l'accès aux suiveurs et aux administrateurs.
  • Lors de la création d'intégrations API, utilisez l'API XML-RPC ou JSON-RPC. Le modèle project.project est entièrement exposé en tant que modèle API dans Odoo. Mappez les ID externes avec soin.
  • Pour les champs personnalisés, utilisez le préfixe x_ ou un préfixe de module pour éviter les conflits avec les futures versions d'Odoo.

Erreurs courantes


  • Créer des tâches sans les lier à un projet. Chaque tâche doit avoir un project_id.
  • Oublier de définir les type_ids. Les nouveaux projets peuvent ne pas avoir de phases, donc les tâches ne peuvent pas avancer dans le flux de travail.
  • Définir privacy_visibility sur public alors qu'il devrait être privé. Cela peut exposer des données sensibles.
  • Surcharger des méthodes de base sans appeler super(). Cela peut casser d'autres modules ou des mises à jour futures.
  • Ajouter des champs personnalisés requis sans valeurs par défaut. Les enregistrements existants échoueront à la validation lors de la mise à niveau.

Conclusion


Le modèle project.project est central à la gestion de projet d'Odoo. Il stocke les définitions de projet, les phases de flux de travail et la structure de l'équipe. Comprendre ses champs et comment les modules l'étendent vous aidera à configurer, personnaliser et intégrer Odoo efficacement.


Que vous soyez un consultant fonctionnel configurant des projets ou un développeur construisant des modules personnalisés, une bonne compréhension de project.project vous fera gagner du temps et évitera des erreurs.

Besoin d'aide avec votre implémentation Odoo ?


Dasolo aide les entreprises à mettre en œuvre, personnaliser et optimiser Odoo. Nous sommes spécialisés dans les intégrations API et le développement Odoo. Notre équipe a une grande expérience de l'architecture des données Odoo et des modèles comme project.project.


Si vous avez besoin d'aide pour votre mise en œuvre Odoo, vos modules personnalisés ou vos intégrations, nous sommes là pour vous aider. Réservez une démo pour discuter de votre projet.

Le modèle project.project : Comprendre l'architecture des projets d'Odoo
Dasolo 11 mars 2026
Partager cet article
Se connecter pour laisser un commentaire.