SlideShare a Scribd company logo
1 of 33
Entities – c’est quoi cebordel?
Qui suis-je? Mytailorisrich,  but my French is not as rich. Hashtag #gregsays IANAD – I am not a developer Je voulais comprendre, donc j’avais demandé à m’expliquer. Et maintenant j’essaie d’expliquer.
Pour faire bref Drupal6 : Noeuds et CCK Drupal7 : Entités et Champs
Euh… Non, pas vraiment…
La pre-histoire (Drupal 6) Nodes Customiser/ étendre avec CCK IntegreravecViews
MAIS… Problème pour type de contenu autre que Nodes : User Comments TaxonomyTerms Autres types de contenus (images, pièces jointes, URLs)
MAIS… (2) Galère pour intégration dans CCK et Views (entre autre) - ils doivent être transformés en Node : soit par un modules contrib soit par des développements customisés.
DRUPAL 7  Le Next Generation
Fields & Entities Deux grands nouveautés Ajout d’une couche supérieure au « Node », « Commentaire », etc (Entity) Intégration du concept CCK (Fields) dans Core
Entité Un élément particulier de contenu  Tout les éléments de contenus sont maintenant des Entités User, Node, Commentaire, etc.
Entité = contenustandardisé Gestion normalisée Fonctions standards de manipulation Simplification des références entre contenus
Entity Types Le type d’information que l’on manipule Plusieurs type d'entités : Nodes Comments User Files Vocabulary Term (Type d'Entités par défaut en D7)
Fields bah, c'est un champ…. qui peut être ajouté à un Entité Comme dans CCK, les Champs peuvent être utilisé sur plusieurs Bundles Champ « Image »  -> Node « Article »  -> Node  « Gallery »
Bundles Bundle = un Sous-Type d’Entité personnalisé Type d'entité = « Node » Bundle =«  Article », « Blog » En effet Node avec quelques champs extra (image, URL, etc…)
 HEIN? « Rien compris… »
On reprend? Attention : Discours un peu plus technique
Definition d’uneEntité Propriétés de l'entité (la partie "business") Versioné ou pas Fieldable ou pas Définition de table dans base de données Comment sont mappés les concepts / champs
Definition des tables BDD Exemple Node:  nodeID (1,2,3) titre actuel  (précédents -> node révisions) date de création + date de révision auteur types (bundles disponibles)
Mapping de concepts Les concepts:  l'entitéID revisionID bundle Le mapping : comment s’appelle ces champs pour les differents Entités?
Mapping Entité -> Node entitéID -> nid revisionID-> vid bundle-> type  (qui va stockés plusieurs "types" de Nodes)
Mapping Entité -> User entitéID -> uid revisionID-> 0 (pas de versioning) bundle-> 0  (qui veux dire qu'il y aura qu'un bundle par défaut)
Mapping Entité -> Terme entitéID -> tid revisionID->0 (pas de versioning) bundle-> vid(vocabularies du terme)
Alors.. Bundle encore unefois? « Vaux mieux…. »
Bundles Bundle = un Type d’Entité personnalisé Un entité avec plusieurs champs, qui est définit comme un type de contenu Type d'entité = “Terme” > “Bundle” = Tags Alors, par exemple, le vocabulaire “Tags” ont le champs “Images” ajouté
Bundles (2) User, Vocabulaire, File - pas de type d’Entités Bundle = Entity par défaut Entity : User -> Bundle : User Il sont toujours personnalisables (ajout de champs)
Entités / Bundles par défaut Entité			Bundle Node			Story, Page, Blog, …. Comment		Story, Page, Blog, …. User			0 (User par défaut) Vocabulaire		0 (Vocab par défaut) Terme			[les vocabulaires] File			0 (File par défaut)
Exemple Entity : NODE Definition ,[object Object]
Fieldable / pas
Définition BDD
MappingTables BDD nodeID(1,2,3) titre actuel  (précédents -> node révisions) date de création + date de révision auteur types (bundles disponibles)
Exempe Entity : NODE « Node » Corps de Text Image Ville Ne « News » « BUNDLE »
Exempe Entity : TERM « Term » Drapeau « Langue » « BUNDLE » Les Bundles des Termes sont forcement les Vocabulaires
Foire au Questions Bordel Bon, c’estclair?

More Related Content

Similar to Entity - C'est quoi ce bordel?

2014 04-09-fr - app dev series - session 4 - indexing
2014 04-09-fr - app dev series - session 4 - indexing2014 04-09-fr - app dev series - session 4 - indexing
2014 04-09-fr - app dev series - session 4 - indexingMongoDB
 
Réussir son projet Drupal
Réussir son projet DrupalRéussir son projet Drupal
Réussir son projet DrupalAdyax
 
Drupal 7 - Fondamentaux et ateliers
Drupal 7 - Fondamentaux et ateliersDrupal 7 - Fondamentaux et ateliers
Drupal 7 - Fondamentaux et ateliersFrédéric Simonet
 
Créer une IA capable de reconnaître des fleurs (ou autres)
Créer une IA capable de reconnaître des fleurs (ou autres)Créer une IA capable de reconnaître des fleurs (ou autres)
Créer une IA capable de reconnaître des fleurs (ou autres)Olivier Eeckhoutte
 
Drupal en bibliothèque (2008)
Drupal en bibliothèque (2008)Drupal en bibliothèque (2008)
Drupal en bibliothèque (2008)Nicolas Morin
 
Introduction aux bases de données NoSQL
Introduction aux bases de données NoSQLIntroduction aux bases de données NoSQL
Introduction aux bases de données NoSQLAntoine Augusti
 
Panels, une autre façon de construire. DrupalCamp Paris 2013
Panels, une autre façon de construire. DrupalCamp Paris 2013Panels, une autre façon de construire. DrupalCamp Paris 2013
Panels, une autre façon de construire. DrupalCamp Paris 2013bellesmanieres
 
Les dernières avancées HTML5 & CSS3 en action !
Les dernières avancées HTML5 & CSS3 en action !Les dernières avancées HTML5 & CSS3 en action !
Les dernières avancées HTML5 & CSS3 en action !Microsoft Technet France
 
Les dernières avancées html5 & css3 en action !
Les dernières avancées html5 & css3 en action !Les dernières avancées html5 & css3 en action !
Les dernières avancées html5 & css3 en action !davrous
 
Dev Symfony2 rapide avec un framework de contenu
Dev Symfony2 rapide avec un framework de contenuDev Symfony2 rapide avec un framework de contenu
Dev Symfony2 rapide avec un framework de contenuBertrand Dunogier
 
Looker Studio - trucs et astuces pour améliorer ses dashboards
Looker Studio - trucs et astuces pour améliorer ses dashboardsLooker Studio - trucs et astuces pour améliorer ses dashboards
Looker Studio - trucs et astuces pour améliorer ses dashboardsMadeline Pinthon
 
Introduction à l'informatique documentaire
Introduction à l'informatique documentaireIntroduction à l'informatique documentaire
Introduction à l'informatique documentaireSylvain Machefert
 
Introduction Gestion Projet web
Introduction Gestion Projet webIntroduction Gestion Projet web
Introduction Gestion Projet webguest6d3f53
 
introduction à la gestion de projet
introduction à la gestion de projetintroduction à la gestion de projet
introduction à la gestion de projetlaureno
 
SGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDB
SGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDBSGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDB
SGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDBRomain Cambien
 
Comment évaluer la qualité d'un site web selon les techniques d'intégration w...
Comment évaluer la qualité d'un site web selon les techniques d'intégration w...Comment évaluer la qualité d'un site web selon les techniques d'intégration w...
Comment évaluer la qualité d'un site web selon les techniques d'intégration w...Renoir Boulanger
 
BDD (Behavior Driven Development) - Une voie vers l'agilité
BDD (Behavior Driven Development) - Une voie vers l'agilitéBDD (Behavior Driven Development) - Une voie vers l'agilité
BDD (Behavior Driven Development) - Une voie vers l'agilitéCARA_Lyon
 
Document Object Model ( DOM)
Document Object Model ( DOM)Document Object Model ( DOM)
Document Object Model ( DOM)Abdelouahed Abdou
 

Similar to Entity - C'est quoi ce bordel? (20)

2014 04-09-fr - app dev series - session 4 - indexing
2014 04-09-fr - app dev series - session 4 - indexing2014 04-09-fr - app dev series - session 4 - indexing
2014 04-09-fr - app dev series - session 4 - indexing
 
Réussir son projet Drupal
Réussir son projet DrupalRéussir son projet Drupal
Réussir son projet Drupal
 
Drupal 7 - Fondamentaux et ateliers
Drupal 7 - Fondamentaux et ateliersDrupal 7 - Fondamentaux et ateliers
Drupal 7 - Fondamentaux et ateliers
 
Créer une IA capable de reconnaître des fleurs (ou autres)
Créer une IA capable de reconnaître des fleurs (ou autres)Créer une IA capable de reconnaître des fleurs (ou autres)
Créer une IA capable de reconnaître des fleurs (ou autres)
 
Les dessous de html+ccs+js
Les dessous de html+ccs+jsLes dessous de html+ccs+js
Les dessous de html+ccs+js
 
Drupal en bibliothèque (2008)
Drupal en bibliothèque (2008)Drupal en bibliothèque (2008)
Drupal en bibliothèque (2008)
 
Introduction aux bases de données NoSQL
Introduction aux bases de données NoSQLIntroduction aux bases de données NoSQL
Introduction aux bases de données NoSQL
 
Panels, une autre façon de construire. DrupalCamp Paris 2013
Panels, une autre façon de construire. DrupalCamp Paris 2013Panels, une autre façon de construire. DrupalCamp Paris 2013
Panels, une autre façon de construire. DrupalCamp Paris 2013
 
Les dernières avancées HTML5 & CSS3 en action !
Les dernières avancées HTML5 & CSS3 en action !Les dernières avancées HTML5 & CSS3 en action !
Les dernières avancées HTML5 & CSS3 en action !
 
Les dernières avancées html5 & css3 en action !
Les dernières avancées html5 & css3 en action !Les dernières avancées html5 & css3 en action !
Les dernières avancées html5 & css3 en action !
 
Cours Ynov JS B1_1
Cours Ynov JS B1_1Cours Ynov JS B1_1
Cours Ynov JS B1_1
 
Dev Symfony2 rapide avec un framework de contenu
Dev Symfony2 rapide avec un framework de contenuDev Symfony2 rapide avec un framework de contenu
Dev Symfony2 rapide avec un framework de contenu
 
Looker Studio - trucs et astuces pour améliorer ses dashboards
Looker Studio - trucs et astuces pour améliorer ses dashboardsLooker Studio - trucs et astuces pour améliorer ses dashboards
Looker Studio - trucs et astuces pour améliorer ses dashboards
 
Introduction à l'informatique documentaire
Introduction à l'informatique documentaireIntroduction à l'informatique documentaire
Introduction à l'informatique documentaire
 
Introduction Gestion Projet web
Introduction Gestion Projet webIntroduction Gestion Projet web
Introduction Gestion Projet web
 
introduction à la gestion de projet
introduction à la gestion de projetintroduction à la gestion de projet
introduction à la gestion de projet
 
SGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDB
SGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDBSGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDB
SGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDB
 
Comment évaluer la qualité d'un site web selon les techniques d'intégration w...
Comment évaluer la qualité d'un site web selon les techniques d'intégration w...Comment évaluer la qualité d'un site web selon les techniques d'intégration w...
Comment évaluer la qualité d'un site web selon les techniques d'intégration w...
 
BDD (Behavior Driven Development) - Une voie vers l'agilité
BDD (Behavior Driven Development) - Une voie vers l'agilitéBDD (Behavior Driven Development) - Une voie vers l'agilité
BDD (Behavior Driven Development) - Une voie vers l'agilité
 
Document Object Model ( DOM)
Document Object Model ( DOM)Document Object Model ( DOM)
Document Object Model ( DOM)
 

More from Drupal Asso France

More from Drupal Asso France (6)

Presentation Aegir
Presentation AegirPresentation Aegir
Presentation Aegir
 
Drupal aegir AWS
Drupal aegir AWSDrupal aegir AWS
Drupal aegir AWS
 
Présentation des initiatives Drupal 8 - Fev 12
Présentation des initiatives Drupal 8 - Fev 12Présentation des initiatives Drupal 8 - Fev 12
Présentation des initiatives Drupal 8 - Fev 12
 
D8 update-2-22-12
D8 update-2-22-12D8 update-2-22-12
D8 update-2-22-12
 
drupalfr - Revue de modules partager
drupalfr - Revue de modules partagerdrupalfr - Revue de modules partager
drupalfr - Revue de modules partager
 
DrupalFR - Customisations OG sur Coopol
DrupalFR - Customisations OG sur CoopolDrupalFR - Customisations OG sur Coopol
DrupalFR - Customisations OG sur Coopol
 

Entity - C'est quoi ce bordel?

  • 1. Entities – c’est quoi cebordel?
  • 2. Qui suis-je? Mytailorisrich, but my French is not as rich. Hashtag #gregsays IANAD – I am not a developer Je voulais comprendre, donc j’avais demandé à m’expliquer. Et maintenant j’essaie d’expliquer.
  • 3. Pour faire bref Drupal6 : Noeuds et CCK Drupal7 : Entités et Champs
  • 4. Euh… Non, pas vraiment…
  • 5. La pre-histoire (Drupal 6) Nodes Customiser/ étendre avec CCK IntegreravecViews
  • 6. MAIS… Problème pour type de contenu autre que Nodes : User Comments TaxonomyTerms Autres types de contenus (images, pièces jointes, URLs)
  • 7. MAIS… (2) Galère pour intégration dans CCK et Views (entre autre) - ils doivent être transformés en Node : soit par un modules contrib soit par des développements customisés.
  • 8. DRUPAL 7 Le Next Generation
  • 9. Fields & Entities Deux grands nouveautés Ajout d’une couche supérieure au « Node », « Commentaire », etc (Entity) Intégration du concept CCK (Fields) dans Core
  • 10. Entité Un élément particulier de contenu Tout les éléments de contenus sont maintenant des Entités User, Node, Commentaire, etc.
  • 11. Entité = contenustandardisé Gestion normalisée Fonctions standards de manipulation Simplification des références entre contenus
  • 12. Entity Types Le type d’information que l’on manipule Plusieurs type d'entités : Nodes Comments User Files Vocabulary Term (Type d'Entités par défaut en D7)
  • 13. Fields bah, c'est un champ…. qui peut être ajouté à un Entité Comme dans CCK, les Champs peuvent être utilisé sur plusieurs Bundles Champ « Image » -> Node « Article » -> Node « Gallery »
  • 14. Bundles Bundle = un Sous-Type d’Entité personnalisé Type d'entité = « Node » Bundle =«  Article », « Blog » En effet Node avec quelques champs extra (image, URL, etc…)
  • 15. HEIN? « Rien compris… »
  • 16. On reprend? Attention : Discours un peu plus technique
  • 17. Definition d’uneEntité Propriétés de l'entité (la partie "business") Versioné ou pas Fieldable ou pas Définition de table dans base de données Comment sont mappés les concepts / champs
  • 18. Definition des tables BDD Exemple Node: nodeID (1,2,3) titre actuel (précédents -> node révisions) date de création + date de révision auteur types (bundles disponibles)
  • 19. Mapping de concepts Les concepts: l'entitéID revisionID bundle Le mapping : comment s’appelle ces champs pour les differents Entités?
  • 20. Mapping Entité -> Node entitéID -> nid revisionID-> vid bundle-> type (qui va stockés plusieurs "types" de Nodes)
  • 21. Mapping Entité -> User entitéID -> uid revisionID-> 0 (pas de versioning) bundle-> 0 (qui veux dire qu'il y aura qu'un bundle par défaut)
  • 22. Mapping Entité -> Terme entitéID -> tid revisionID->0 (pas de versioning) bundle-> vid(vocabularies du terme)
  • 23. Alors.. Bundle encore unefois? « Vaux mieux…. »
  • 24. Bundles Bundle = un Type d’Entité personnalisé Un entité avec plusieurs champs, qui est définit comme un type de contenu Type d'entité = “Terme” > “Bundle” = Tags Alors, par exemple, le vocabulaire “Tags” ont le champs “Images” ajouté
  • 25. Bundles (2) User, Vocabulaire, File - pas de type d’Entités Bundle = Entity par défaut Entity : User -> Bundle : User Il sont toujours personnalisables (ajout de champs)
  • 26. Entités / Bundles par défaut Entité Bundle Node Story, Page, Blog, …. Comment Story, Page, Blog, …. User 0 (User par défaut) Vocabulaire 0 (Vocab par défaut) Terme [les vocabulaires] File 0 (File par défaut)
  • 27.
  • 30. MappingTables BDD nodeID(1,2,3) titre actuel (précédents -> node révisions) date de création + date de révision auteur types (bundles disponibles)
  • 31. Exempe Entity : NODE « Node » Corps de Text Image Ville Ne « News » « BUNDLE »
  • 32. Exempe Entity : TERM « Term » Drapeau « Langue » « BUNDLE » Les Bundles des Termes sont forcement les Vocabulaires
  • 33. Foire au Questions Bordel Bon, c’estclair?
  • 34. MERCI Laurent Ajdnik- DrupalLyon Damien Tournoud - Commerce Guys Ronald Ashri - Istos.it
  • 35. Ah, oui – aussi
  • 36. Et merci…. …..EPITECH ….et ARTUSAMAK!!!!

Editor's Notes

  1. Exemples:Champs profilsutilisateurs -> Views, faututiliserContentProfile (lien entre User et Node)Champs images / vidéos -> commentairesfaut code customisé
  2. Comment est-cequ’ondefiniuneEntité – soitexistant, soitsoi meme dans le code….
  3. NOTE: Des fois, les bundles ne sont pas disponibles….
  4. Explication Commentaire de type Story peutavoir un Flag, mais pas commentaire de type Blog….