21 Commits e46a846e39 ... 86792830fb

Auteur SHA1 Message Date
  Bachir Soussi Chiadmi 86792830fb field_attachments, field_visuel, admin node view il y a 6 ans
  Bachir Soussi Chiadmi b2dbacb786 migrate all files; node materiau field_materiau_images; view files il y a 6 ans
  Bachir Soussi Chiadmi 54cdcc3c81 updated d8_starterkit_profile il y a 6 ans
  Bachir Soussi Chiadmi f825d6ff18 migration breve, migration materiau:linked_breve; module pagerer, cshs, views_ef_fieldset il y a 6 ans
  Bachir Soussi Chiadmi 596578af5b Client Simple Hierachical Select <- Taxonomy tree widget il y a 6 ans
  Bachir Soussi Chiadmi be655ef81c migration materiau:thesaurus,tags,manufacturer,distributors,video; better admin node view il y a 6 ans
  Bachir Soussi Chiadmi 8ac49ad737 migration materiau: title, short-description, body, workflow, memo, migration; admin content nodes il y a 6 ans
  Bachir Soussi Chiadmi 89fcefa951 added fields to CT material, contrib module computed_field, custom module materio_id il y a 6 ans
  Bachir Soussi Chiadmi f3bd4cb8d3 migration showroom ok il y a 6 ans
  Bachir Soussi Chiadmi b17458fe4a removed materiau migration file il y a 6 ans
  Bachir Soussi Chiadmi ec103fffea migration company: some memo record, fixed term withour tode il y a 6 ans
  Bachir Soussi Chiadmi 97cacec418 company migration: departement, description, company infos, workflow; config workflow il y a 6 ans
  Bachir Soussi Chiadmi 25d6177874 company migration: email, address; company edit form display il y a 6 ans
  Bachir Soussi Chiadmi 0cb2d3d84d config files company term data destination il y a 6 ans
  Bachir Soussi Chiadmi 905f51b093 removed materiau migration file il y a 6 ans
  Bachir Soussi Chiadmi 1b40733e3c company term migration : name, memo, phone, website il y a 6 ans
  Bachir Soussi Chiadmi 43d32db826 thesaurus and tags i18n working il y a 6 ans
  Bachir Soussi Chiadmi 9b34ac0357 onthologie -> thesaurus migration ok il y a 6 ans
  Bachir Soussi Chiadmi fa418ebdee moved config folder il y a 6 ans
  Bachir Soussi Chiadmi 878d6f510c created plugins for migration il y a 6 ans
  Bachir Soussi Chiadmi 374c688f36 started migration process il y a 6 ans
100 fichiers modifiés avec 5431 ajouts et 22 suppressions
  1. 14 1
      composer.json
  2. 877 20
      composer.lock
  3. 10 0
      modules/custom/materio_id/materio_id.info.yml
  4. 85 0
      modules/custom/materio_id/materio_id.module
  5. 48 0
      modules/custom/materio_migrate/config/install/migrate_plus.migration.d7_allpublicfiles.yml
  6. 97 0
      modules/custom/materio_migrate/config/install/migrate_plus.migration.d7_node_breve.yml
  7. 139 0
      modules/custom/materio_migrate/config/install/migrate_plus.migration.d7_node_materiau.yml
  8. 129 0
      modules/custom/materio_migrate/config/install/migrate_plus.migration.d7_taxonomy_term_company.yml
  9. 87 0
      modules/custom/materio_migrate/config/install/migrate_plus.migration.d7_taxonomy_term_showroom.yml
  10. 48 0
      modules/custom/materio_migrate/config/install/migrate_plus.migration.d7_taxonomy_term_tags.yml
  11. 39 0
      modules/custom/materio_migrate/config/install/migrate_plus.migration.d7_taxonomy_term_tags_i18n.yml
  12. 48 0
      modules/custom/materio_migrate/config/install/migrate_plus.migration.d7_taxonomy_term_thesaurus.yml
  13. 39 0
      modules/custom/materio_migrate/config/install/migrate_plus.migration.d7_taxonomy_term_thesaurus_i18n.yml
  14. 11 0
      modules/custom/materio_migrate/config/install/migrate_plus.migration_group.d7_materio.yml
  15. 23 0
      modules/custom/materio_migrate/materio_migrate.info.yml
  16. 37 0
      modules/custom/materio_migrate/readme.md
  17. 229 0
      modules/custom/materio_migrate/src/Plugin/migrate/source/D7NodeBreve.php
  18. 239 0
      modules/custom/materio_migrate/src/Plugin/migrate/source/D7NodeMateriau.php
  19. 228 0
      modules/custom/materio_migrate/src/Plugin/migrate/source/D7TaxonomyTermCompany.php
  20. 209 0
      modules/custom/materio_migrate/src/Plugin/migrate/source/D7TaxonomyTermShowroom.php
  21. 111 0
      modules/custom/materio_migrate/src/Plugin/migrate/source/D7TaxonomyTermTags.php
  22. 100 0
      modules/custom/materio_migrate/src/Plugin/migrate/source/D7TaxonomyTermTagsI18n.php
  23. 111 0
      modules/custom/materio_migrate/src/Plugin/migrate/source/D7TaxonomyTermThesaurus.php
  24. 100 0
      modules/custom/materio_migrate/src/Plugin/migrate/source/D7TaxonomyTermThesaurusI18n.php
  25. 1 1
      profiles/d8-starterkit-profile
  26. 24 0
      sites/default/config/sync/.htaccess
  27. 31 0
      sites/default/config/sync/_migrate_plus.migration.d7_taxonomy_vocabulary_company.yml
  28. 31 0
      sites/default/config/sync/_migrate_plus.migration.d7_taxonomy_vocabulary_showroom.yml
  29. 31 0
      sites/default/config/sync/_migrate_plus.migration.d7_taxonomy_vocabulary_tags.yml
  30. 31 0
      sites/default/config/sync/_migrate_plus.migration.d7_taxonomy_vocabulary_thesaurus.yml
  31. 23 0
      sites/default/config/sync/addtoany.settings.yml
  32. 9 0
      sites/default/config/sync/adminimal_theme.settings.yml
  33. 4 0
      sites/default/config/sync/autologout.role.admin.yml
  34. 4 0
      sites/default/config/sync/autologout.role.authenticated.yml
  35. 4 0
      sites/default/config/sync/autologout.role.root.yml
  36. 4 0
      sites/default/config/sync/autologout.role.user.yml
  37. 16 0
      sites/default/config/sync/autologout.settings.yml
  38. 23 0
      sites/default/config/sync/basic.settings.yml
  39. 63 0
      sites/default/config/sync/better_messages.settings.yml
  40. 22 0
      sites/default/config/sync/block.block.adminimal_theme_breadcrumbs.yml
  41. 22 0
      sites/default/config/sync/block.block.adminimal_theme_content.yml
  42. 22 0
      sites/default/config/sync/block.block.adminimal_theme_help.yml
  43. 20 0
      sites/default/config/sync/block.block.adminimal_theme_local_actions.yml
  44. 22 0
      sites/default/config/sync/block.block.adminimal_theme_login.yml
  45. 22 0
      sites/default/config/sync/block.block.adminimal_theme_messages.yml
  46. 20 0
      sites/default/config/sync/block.block.adminimal_theme_page_title.yml
  47. 22 0
      sites/default/config/sync/block.block.adminimal_theme_primary_local_tasks.yml
  48. 22 0
      sites/default/config/sync/block.block.adminimal_theme_secondary_local_tasks.yml
  49. 11 0
      sites/default/config/sync/config_devel.settings.yml
  50. 7 0
      sites/default/config/sync/config_ignore.settings.yml
  51. 13 0
      sites/default/config/sync/contact.form.personal.yml
  52. 7 0
      sites/default/config/sync/contact.settings.yml
  53. 50 0
      sites/default/config/sync/content_lock.settings.yml
  54. 4 0
      sites/default/config/sync/content_lock_timeout.settings.yml
  55. 18 0
      sites/default/config/sync/core.base_field_override.menu_link_content.menu_link_content.changed.yml
  56. 18 0
      sites/default/config/sync/core.base_field_override.menu_link_content.menu_link_content.description.yml
  57. 18 0
      sites/default/config/sync/core.base_field_override.menu_link_content.menu_link_content.title.yml
  58. 22 0
      sites/default/config/sync/core.base_field_override.node.breve.promote.yml
  59. 18 0
      sites/default/config/sync/core.base_field_override.node.materiau.changed.yml
  60. 18 0
      sites/default/config/sync/core.base_field_override.node.materiau.created.yml
  61. 20 0
      sites/default/config/sync/core.base_field_override.node.materiau.menu_link.yml
  62. 20 0
      sites/default/config/sync/core.base_field_override.node.materiau.path.yml
  63. 22 0
      sites/default/config/sync/core.base_field_override.node.materiau.promote.yml
  64. 22 0
      sites/default/config/sync/core.base_field_override.node.materiau.status.yml
  65. 22 0
      sites/default/config/sync/core.base_field_override.node.materiau.sticky.yml
  66. 18 0
      sites/default/config/sync/core.base_field_override.node.materiau.title.yml
  67. 20 0
      sites/default/config/sync/core.base_field_override.node.materiau.uid.yml
  68. 18 0
      sites/default/config/sync/core.base_field_override.node.static.changed.yml
  69. 18 0
      sites/default/config/sync/core.base_field_override.node.static.created.yml
  70. 20 0
      sites/default/config/sync/core.base_field_override.node.static.menu_link.yml
  71. 20 0
      sites/default/config/sync/core.base_field_override.node.static.path.yml
  72. 24 0
      sites/default/config/sync/core.base_field_override.node.static.promote.yml
  73. 22 0
      sites/default/config/sync/core.base_field_override.node.static.status.yml
  74. 22 0
      sites/default/config/sync/core.base_field_override.node.static.sticky.yml
  75. 18 0
      sites/default/config/sync/core.base_field_override.node.static.title.yml
  76. 20 0
      sites/default/config/sync/core.base_field_override.node.static.uid.yml
  77. 18 0
      sites/default/config/sync/core.base_field_override.taxonomy_term.showroom.synonyms.yml
  78. 18 0
      sites/default/config/sync/core.base_field_override.taxonomy_term.tags.synonyms.yml
  79. 18 0
      sites/default/config/sync/core.base_field_override.taxonomy_term.thesaurus.synonyms.yml
  80. 18 0
      sites/default/config/sync/core.base_field_override.user.user.changed.yml
  81. 19 0
      sites/default/config/sync/core.base_field_override.user.user.path.yml
  82. 10 0
      sites/default/config/sync/core.date_format.fallback.yml
  83. 10 0
      sites/default/config/sync/core.date_format.html_date.yml
  84. 10 0
      sites/default/config/sync/core.date_format.html_datetime.yml
  85. 10 0
      sites/default/config/sync/core.date_format.html_month.yml
  86. 10 0
      sites/default/config/sync/core.date_format.html_time.yml
  87. 10 0
      sites/default/config/sync/core.date_format.html_week.yml
  88. 10 0
      sites/default/config/sync/core.date_format.html_year.yml
  89. 10 0
      sites/default/config/sync/core.date_format.html_yearless_date.yml
  90. 10 0
      sites/default/config/sync/core.date_format.long.yml
  91. 10 0
      sites/default/config/sync/core.date_format.medium.yml
  92. 10 0
      sites/default/config/sync/core.date_format.short.yml
  93. 223 0
      sites/default/config/sync/core.entity_form_display.node.breve.default.yml
  94. 319 0
      sites/default/config/sync/core.entity_form_display.node.materiau.default.yml
  95. 218 0
      sites/default/config/sync/core.entity_form_display.taxonomy_term.company.default.yml
  96. 155 0
      sites/default/config/sync/core.entity_form_display.taxonomy_term.showroom.default.yml
  97. 43 0
      sites/default/config/sync/core.entity_form_display.taxonomy_term.tags.default.yml
  98. 51 0
      sites/default/config/sync/core.entity_form_display.taxonomy_term.thesaurus.default.yml
  99. 12 0
      sites/default/config/sync/core.entity_form_mode.user.register.yml
  100. 128 0
      sites/default/config/sync/core.entity_view_display.node.breve.default.yml

+ 14 - 1
composer.json

@@ -5,7 +5,20 @@
     "license": "GPL-2.0-or-later",
     "require": {
         "composer/installers": "^1.0.24",
-        "wikimedia/composer-merge-plugin": "^1.4"
+        "wikimedia/composer-merge-plugin": "^1.4",
+        "drupal/migrate_plus": "^4.0",
+        "drupal/migrate_tools": "^4.0",
+        "drupal/config_devel": "^1.2",
+        "drupal/examples": "1.x-dev",
+        "drupal/synonyms": "1.x-dev",
+        "drupal/address": "^1.4",
+        "drupal/telephone_validation": "^2.1",
+        "drupal/telephone_formatter": "^1.0@beta",
+        "drupal/video_embed_field": "^2.0",
+        "drupal/computed_field": "^2.0@alpha",
+        "drupal/cshs": "1.x-dev",
+        "drupal/views_ef_fieldset": "1.x-dev",
+        "drupal/pagerer": "^1.4"
     },
     "replace": {
         "drupal/core": "^8.6"

Fichier diff supprimé car celui-ci est trop grand
+ 877 - 20
composer.lock


+ 10 - 0
modules/custom/materio_id/materio_id.info.yml

@@ -0,0 +1,10 @@
+name: Materio Id
+type: module
+description: "Compute automaticly materials references : <family>-<index>, eg. W-0459."
+core: 8.x
+package: Materio
+dependencies:
+  - computed_field
+
+# config_devel:
+#  install:

+ 85 - 0
modules/custom/materio_id/materio_id.module

@@ -0,0 +1,85 @@
+<?php
+
+
+function computed_field_field_index_compute($entity_type_manager, $entity, $fields, $delta){
+
+  /* FROM D7
+
+  // dsm('-- computed --');
+	// dsm($entity_field, '$entity_field');
+	// dsm($entity_type, '$entity_type');
+	// dsm($entity, '$entity');
+	// dsm($field, '$field');
+	// dsm($instance, '$instance');
+	// dsm($items, '$items');
+
+	// dsm($entity_field[0]['value'], 'entity_field value');
+
+	if (!empty($entity_field[0]['value'])) {  // the node is not new
+
+	  return $entity_field[0]['value'];
+	}
+	else {  // the node is new
+	  // get all same entities in same family
+		$query = new EntityFieldQuery();
+		$query
+			->entityCondition('entity_type', $entity_type)
+			->entityCondition('bundle', $entity->type)
+			->fieldCondition('field_famille', 'value', $entity->field_famille['und'][0]['value']);
+		$result = $query->execute();
+		if(is_array($result[$entity_type])){
+			$entities = entity_load($entity_type, array_keys($result[$entity_type]));
+
+			// get identifiants fo these entities
+			$ids = array();
+			foreach ($entities as $id => $e) {
+				$identifiant = field_view_field($entity_type, $e, 'field_identifiant');
+				$ids[] = $identifiant[0]['#markup'] ? intval($identifiant[0]['#markup']) : 0;
+			}
+			sort($ids);
+
+			$value = strval(array_pop($ids) + 1);
+		}else{
+			$value = '1';
+		}
+
+		// parse the value to a string as 0023 or 4458 or 0001
+		$value_parts = str_split($value);
+		while (count($value_parts) < 4) {
+			array_unshift($value_parts, "0");
+		}
+
+			// record the result
+			$entity_field[0]['value'] = implode('', $value_parts);
+	}
+  */
+}
+
+
+// function computed_field_field_identifiant_display($field, $entity_field_item, $entity_lang = "en", $langcode = "en") {
+// 	return $entity_field_item['value'];
+// }
+
+function computed_field_field_reference_compute($entity_type_manager, $entity, $fields, $delta) {
+
+  /* FROM D7
+
+	// dsm('-- computed --');
+	// 	dsm($entity_field, '$entity_field');
+	// 	dsm($entity_type, '$entity_type');
+	// 	dsm($entity, '$entity');
+	// 	dsm($field, '$field');
+	// 	dsm($instance, '$instance');
+	// 	dsm($items, '$items');
+	if (!empty($entity_field[0]['value'])) {  // the node is not new
+	  return $entity_field[0]['value'];
+	}
+	else {  // the node is new
+		$entity_field[0]['value'] = $entity->field_famille['und'][0]['value'].'-'.$entity->field_identifiant['und'][0]['value'];
+	}
+ */
+}
+
+// function computed_field_field_reference_materio_display($field, $entity_field_item, $entity_lang = "en", $langcode = "en") {
+// 	return $entity_field_item['value'];
+// }

+ 48 - 0
modules/custom/materio_migrate/config/install/migrate_plus.migration.d7_allpublicfiles.yml

@@ -0,0 +1,48 @@
+# Every migration that references a file by Drupal 7 fid should specify this
+# migration as an optional dependency.
+id: d7_allpublicfiles
+label: Public files
+migration_group: d7_materio
+audit: true
+migration_tags:
+  - Drupal 7
+  - Content
+source:
+  plugin: d7_file
+  scheme: public
+  constants:
+    # The tool configuring this migration must set source_base_path. It
+    # represents the fully qualified path relative to which URIs in the files
+    # table are specified, and must end with a /. See source_full_path
+    # configuration in this migration's process pipeline as an example.
+    source_base_path: '../../d7.materio.com/public_html'
+process:
+  # If you are using this file to build a custom migration consider removing
+  # the fid field to allow incremental migrations.
+  fid: fid
+  filename: filename
+  source_full_path:
+    -
+      plugin: concat
+      delimiter: /
+      source:
+        - constants/source_base_path
+        - filepath
+    -
+      plugin: urlencode
+  uri:
+    plugin: file_copy
+    source:
+      - '@source_full_path'
+      - uri
+  filemime: filemime
+  # No need to migrate filesize, it is computed when file entities are saved.
+  # filesize: filesize
+  status: status
+  # Drupal 7 didn't keep track of the file's creation or update time -- all it
+  # had was the vague "timestamp" column. So we'll use it for both.
+  created: timestamp
+  changed: timestamp
+  uid: uid
+destination:
+  plugin: entity:file

+ 97 - 0
modules/custom/materio_migrate/config/install/migrate_plus.migration.d7_node_breve.yml

@@ -0,0 +1,97 @@
+id: d7_node_breve
+label: Node Breve
+migration_group: d7_materio
+audit: true
+migration_tags:
+  - Drupal 7
+  - Content
+  - Materio
+deriver: Drupal\taxonomy\Plugin\migrate\D7TaxonomyTermDeriver
+
+source:
+  plugin: d7_node_breve
+  node_type: breve
+
+destination:
+  plugin: entity:node
+
+
+process:
+  # nid: nid
+  type:
+    plugin: default_value
+    default_value: breve
+  title: title
+  field_migration:
+    plugin: default_value
+    default_value: 'migration_imported'
+  body:
+    plugin: iterator
+    source: field_description
+    process:
+      value: value
+      format:
+        plugin: default_value
+        default_value: wysiwyg
+  langcode: language
+  field_memo: field_memo
+  field_workflow:
+    -
+      plugin: default_value
+      source: workflow
+      default_value: 2
+    -
+      plugin: static_map
+      default_value: 2
+      map:
+        1: "workflow_creation"
+        2: "workflow_hidden"
+        3: "workflow_visible"
+        4: "workflow_imported"
+        5: "workflow_edited"
+  field_thesaurus:
+    plugin: migration_lookup
+    migration: d7_taxonomy_term_thesaurus
+    source: field_onthologie
+  field_tags:
+    plugin: migration_lookup
+    migration: d7_taxonomy_term_tags
+    source: field_tags_libres
+  field_video:
+    plugin: iterator
+    source: field_video_filter
+    process:
+      value: url
+  field_linked_materials:
+    -
+      plugin: skip_on_empty
+      method: process
+      source: linked_materials
+    -
+      plugin: migration_lookup
+      migration: d7_node_materiau
+      no_stub: true
+  field_visuel:
+      plugin: iterator
+      source: field_visuel
+      process:
+        target_id:
+          plugin: migration_lookup
+          migration: d7_allpublicfiles
+          source: fid
+          no_stub: true
+        alt: alt
+        title: title
+        height: height
+        width: width
+
+
+migration_dependencies:
+  required:
+    - d7_allpublicfiles
+    - d7_taxonomy_term_thesaurus
+    - d7_taxonomy_term_tags
+    - d7_taxonomy_term_company
+    - d7_taxonomy_term_showroom
+  optional:
+    - d7_node_materiau

+ 139 - 0
modules/custom/materio_migrate/config/install/migrate_plus.migration.d7_node_materiau.yml

@@ -0,0 +1,139 @@
+id: d7_node_materiau
+label: Node Materiau
+migration_group: d7_materio
+audit: true
+migration_tags:
+  - Drupal 7
+  - Content
+  - Materio
+deriver: Drupal\taxonomy\Plugin\migrate\D7TaxonomyTermDeriver
+
+source:
+  plugin: d7_node_materiau
+  node_type: materiau
+
+destination:
+  plugin: entity:node
+
+
+process:
+  # nid: nid
+  type:
+    plugin: default_value
+    default_value: materiau
+  title: title
+  field_short_description: field_nature_titre
+  field_migration:
+    plugin: default_value
+    default_value: 'migration_imported'
+  body:
+    plugin: iterator
+    source: field_description
+    process:
+      value: value
+      format:
+        plugin: default_value
+        default_value: wysiwyg
+  langcode: language
+  field_memo: field_memo
+  field_workflow:
+    -
+      plugin: default_value
+      source: workflow
+      default_value: 2
+    -
+      plugin: static_map
+      default_value: 2
+      map:
+        1: "workflow_creation"
+        2: "workflow_hidden"
+        3: "workflow_visible"
+        4: "workflow_imported"
+        5: "workflow_edited"
+
+  field_thesaurus:
+    plugin: migration_lookup
+    migration: d7_taxonomy_term_thesaurus
+    source: field_onthologie
+    no_stub: true
+  field_tags:
+    plugin: migration_lookup
+    migration: d7_taxonomy_term_tags
+    source: field_tags_libres
+    no_stub: true
+  field_manufacturer:
+    plugin: migration_lookup
+    migration: d7_taxonomy_term_company
+    source: field_company_fab
+    no_stub: true
+  field_distributor:
+    plugin: migration_lookup
+    migration: d7_taxonomy_term_company
+    source: field_company_distrib
+    no_stub: true
+  field_video:
+    plugin: iterator
+    source: field_video_filter
+    process:
+      value: url
+  field_linked_materials:
+    -
+      plugin: skip_on_empty
+      method: process
+      source: linked_materials
+    -
+      plugin: migration_lookup
+      migration: d7_node_materiau
+      no_stub: true
+  field_linked_breves:
+    -
+      plugin: skip_on_empty
+      method: process
+      source: linked_breves
+    -
+      plugin: migration_lookup
+      migration: d7_node_breve
+      no_stub: true
+  field_materiau_images:
+      plugin: iterator
+      source: field_materiau_image
+      process:
+        target_id:
+          plugin: migration_lookup
+          migration: d7_allpublicfiles
+          source: fid
+          no_stub: true
+        alt: alt
+        title: title
+        height: height
+        width: width
+  field_attachments:
+      plugin: iterator
+      source: field_attachments
+      process:
+        target_id:
+          plugin: migration_lookup
+          migration: d7_allpublicfiles
+          source: fid
+          no_stub: true
+        # there is no description field filled
+        description: description
+
+  # field_famille: field_famille
+  # field_index: field_identifiant
+  # field_reference: field_reference_materio
+
+  # just archives
+  # : field_localisation
+  # TODO: need to find an alternative or rebuild the custom module
+  # : field_location
+
+migration_dependencies:
+  required:
+    - d7_allpublicfiles
+    - d7_taxonomy_term_thesaurus
+    - d7_taxonomy_term_tags
+    - d7_taxonomy_term_company
+    - d7_taxonomy_term_showroom
+  optional:
+    - d7_node_breve

+ 129 - 0
modules/custom/materio_migrate/config/install/migrate_plus.migration.d7_taxonomy_term_company.yml

@@ -0,0 +1,129 @@
+id: d7_taxonomy_term_company
+label: Taxonomy terms Company
+migration_group: d7_materio
+audit: true
+migration_tags:
+  - Drupal 7
+  - Content
+  - Materio
+deriver: Drupal\taxonomy\Plugin\migrate\D7TaxonomyTermDeriver
+
+source:
+  plugin: d7_taxonomy_term_company
+  bundle: company
+
+destination:
+  plugin: entity:taxonomy_term
+
+process:
+  # If you are using this file to build a custom migration consider removing
+  # the tid field to allow incremental migrations.
+  # tid: tid
+  vid:
+    plugin: default_value
+    default_value: company
+  name: name
+  weight: weight
+  # Only attempt to stub real (non-zero) parents.
+  parent_id:
+    -
+      plugin: skip_on_empty
+      method: process
+      source: parent
+    -
+      plugin: migration_lookup
+      migration: d7_taxonomy_term_companie
+  parent:
+    plugin: default_value
+    default_value: 0
+    source: '@parent_id'
+  changed: timestamp
+  langcode:
+    plugin: default_value
+    default_value: 'und'
+  field_migration:
+    plugin: default_value
+    default_value: 'migration_imported'
+
+  # FROM TODE (linked tode node)
+  field_website:
+    plugin: iterator
+    source: field_website
+    process:
+      uri: url
+      title: title
+      options: attributes
+  field_memo: field_memo
+  field_public_phone: public_phone
+  field_public_email:
+    plugin: iterator
+    source: field_public_email
+    process:
+      value: email
+  field_public_address:
+    plugin: iterator
+    source: field_public_address
+    process:
+      # langcode:
+      country_code: country
+      administrative_area: administrative_area
+      locality: locality
+      dependent_locality: dependent_locality
+      postal_code: postal_code
+      # sorting_code:
+      address_line1: thoroughfare
+      # address_line2:
+      organization: organisation_name
+      given_name: first_name
+      # additional_name:
+      family_name: last_name
+
+      # SOURCES
+      # sub_administrative_area
+      # premise
+      # sub_premise
+      # name_line
+      # data
+
+  field_note: field_note
+  field_departement: field_departement
+  description:
+    plugin: iterator
+    source: body
+    process:
+      value: value
+      format:
+        plugin: default_value
+        default_value: wysiwyg
+  field_infos_from_company:
+    plugin: iterator
+    source: field_infos_from_company
+    process:
+      value: value
+      format:
+        plugin: default_value
+        default_value: wysiwyg
+  field_workflow:
+      plugin: static_map
+      source: workflow
+      map:
+        1: "workflow_creation"
+        2: "workflow_hidden"
+        3: "workflow_visible"
+        4: "workflow_imported"
+        5: "workflow_edited"
+  field_attachments:
+      plugin: iterator
+      source: field_attachments
+      process:
+        target_id:
+          plugin: migration_lookup
+          migration: d7_allpublicfiles
+          source: fid
+          no_stub: true
+        # there is no description field filled
+        description: description
+
+migration_dependencies:
+  required:
+    - d7_allpublicfiles

+ 87 - 0
modules/custom/materio_migrate/config/install/migrate_plus.migration.d7_taxonomy_term_showroom.yml

@@ -0,0 +1,87 @@
+id: d7_taxonomy_term_showroom
+label: Taxonomy terms Showroom
+migration_group: d7_materio
+audit: true
+migration_tags:
+  - Drupal 7
+  - Content
+  - Materio
+deriver: Drupal\taxonomy\Plugin\migrate\D7TaxonomyTermDeriver
+
+source:
+  plugin: d7_taxonomy_term_showroom
+  bundle: showroom
+
+destination:
+  plugin: entity:taxonomy_term
+
+process:
+  # If you are using this file to build a custom migration consider removing
+  # the tid field to allow incremental migrations.
+  # tid: tid
+  vid:
+    plugin: default_value
+    default_value: showroom
+  name: name
+  weight: weight
+  parent:
+    plugin: default_value
+    default_value: 0
+  changed: timestamp
+  langcode:
+    plugin: default_value
+    default_value: 'und'
+  field_migration:
+    plugin: default_value
+    default_value: 'migration_imported'
+  field_workflow:
+    plugin: default_value
+    default_value: 'workflow_visible'
+
+  # tode node showroom
+  field_website:
+    plugin: iterator
+    source: field_website
+    process:
+      uri: url
+      title: title
+      options: attributes
+  field_memo: field_memo
+  field_public_phone: public_phone
+  field_public_email:
+    plugin: iterator
+    source: field_public_email
+    process:
+      value: email
+  field_public_address:
+    plugin: iterator
+    source: field_public_address
+    process:
+      # langcode:
+      country_code: country
+      administrative_area: administrative_area
+      locality: locality
+      dependent_locality: dependent_locality
+      postal_code: postal_code
+      # sorting_code:
+      address_line1: thoroughfare
+      # address_line2:
+      organization: organisation_name
+      given_name: first_name
+      # additional_name:
+      family_name: last_name
+
+      # SOURCES
+      # sub_administrative_area
+      # premise
+      # sub_premise
+      # name_line
+      # data
+  description:
+    plugin: iterator
+    source: body
+    process:
+      value: value
+      format:
+        plugin: default_value
+        default_value: wysiwyg

+ 48 - 0
modules/custom/materio_migrate/config/install/migrate_plus.migration.d7_taxonomy_term_tags.yml

@@ -0,0 +1,48 @@
+id: d7_taxonomy_term_tags
+label: Taxonomy terms Tags
+migration_group: d7_materio
+audit: true
+migration_tags:
+  - Drupal 7
+  - Content
+  - Materio
+deriver: Drupal\taxonomy\Plugin\migrate\D7TaxonomyTermDeriver
+
+source:
+  plugin: d7_taxonomy_term_tags
+  bundle: tag_libres
+
+destination:
+  plugin: entity:taxonomy_term
+
+process:
+  # If you are using this file to build a custom migration consider removing
+  # the tid field to allow incremental migrations.
+  # tid: tid
+  vid:
+    plugin: default_value
+    default_value: tags
+  name: name
+  'description/value': description
+  'description/format': format
+  weight: weight
+  # Only attempt to stub real (non-zero) parents.
+  parent_id:
+    -
+      plugin: skip_on_empty
+      method: process
+      source: parent
+    -
+      plugin: migration_lookup
+      migration: d7_taxonomy_term_tags
+  parent:
+    plugin: default_value
+    default_value: 0
+    source: '@parent_id'
+  changed: timestamp
+
+  #synonyms
+  field_synonyms: synonyms_synonym
+
+  # used on advanced search
+  # field_used_on_advanced_search: field_used_on_advanced_search

+ 39 - 0
modules/custom/materio_migrate/config/install/migrate_plus.migration.d7_taxonomy_term_tags_i18n.yml

@@ -0,0 +1,39 @@
+id: d7_taxonomy_term_tags_i18n
+label: Taxonomy terms Tags i18n
+migration_group: d7_materio
+audit: true
+migration_tags:
+  - Drupal 7
+  - Content
+  - Materio
+deriver: Drupal\taxonomy\Plugin\migrate\D7TaxonomyTermDeriver
+
+source:
+  plugin: d7_taxonomy_term_tags_i18n
+  bundle: tag_libres
+  translations: true
+
+destination:
+  plugin: entity:taxonomy_term
+  translations: true
+
+process:
+  tid:
+    plugin: migration_lookup
+    migration: d7_taxonomy_term_tags
+    source: tid
+  vid:
+    plugin: default_value
+    default_value: tags
+  langcode: language
+
+  name: name
+
+  'description/value': description
+  'description/format': format
+
+  field_synonyms: synonyms_synonym
+
+migration_dependencies:
+  required:
+    - d7_taxonomy_term_tags

+ 48 - 0
modules/custom/materio_migrate/config/install/migrate_plus.migration.d7_taxonomy_term_thesaurus.yml

@@ -0,0 +1,48 @@
+id: d7_taxonomy_term_thesaurus
+label: Taxonomy terms Thesaurus
+migration_group: d7_materio
+audit: true
+migration_tags:
+  - Drupal 7
+  - Content
+  - Materio
+deriver: Drupal\taxonomy\Plugin\migrate\D7TaxonomyTermDeriver
+
+source:
+  plugin: d7_taxonomy_term_thesaurus
+  bundle: onthologie
+
+destination:
+  plugin: entity:taxonomy_term
+
+process:
+  # If you are using this file to build a custom migration consider removing
+  # the tid field to allow incremental migrations.
+  # tid: tid
+  vid:
+    plugin: default_value
+    default_value: thesaurus
+  name: name
+  'description/value': description
+  'description/format': format
+  weight: weight
+  # Only attempt to stub real (non-zero) parents.
+  parent_id:
+    -
+      plugin: skip_on_empty
+      method: process
+      source: parent
+    -
+      plugin: migration_lookup
+      migration: d7_taxonomy_term_thesaurus
+  parent:
+    plugin: default_value
+    default_value: 0
+    source: '@parent_id'
+  changed: timestamp
+
+  #synonyms
+  field_synonyms: synonyms_synonym
+
+  # used on advanced search
+  field_used_on_advanced_search: field_used_on_advanced_search

+ 39 - 0
modules/custom/materio_migrate/config/install/migrate_plus.migration.d7_taxonomy_term_thesaurus_i18n.yml

@@ -0,0 +1,39 @@
+id: d7_taxonomy_term_thesaurus_i18n
+label: Taxonomy terms Thesaurus i18n
+migration_group: d7_materio
+audit: true
+migration_tags:
+  - Drupal 7
+  - Content
+  - Materio
+deriver: Drupal\taxonomy\Plugin\migrate\D7TaxonomyTermDeriver
+
+source:
+  plugin: d7_taxonomy_term_thesaurus_i18n
+  bundle: onthologie
+  translations: true
+
+destination:
+  plugin: entity:taxonomy_term
+  translations: true
+
+process:
+  tid:
+    plugin: migration_lookup
+    migration: d7_taxonomy_term_thesaurus
+    source: tid
+  vid:
+    plugin: default_value
+    default_value: thesaurus
+  langcode: language
+
+  name: name
+
+  'description/value': description
+  'description/format': format
+
+  field_synonyms: synonyms_synonym
+
+migration_dependencies:
+  required:
+    - d7_taxonomy_term_thesaurus

+ 11 - 0
modules/custom/materio_migrate/config/install/migrate_plus.migration_group.d7_materio.yml

@@ -0,0 +1,11 @@
+id: d7_materio
+label: D7 Materio
+description: Drupal 7 materio content migration to Drupal 8.
+source_type: Drupal 7
+shared_configuration:
+  source:
+    key: legacy
+dependencies:
+  enforced:
+    module:
+      - materio_migrate

+ 23 - 0
modules/custom/materio_migrate/materio_migrate.info.yml

@@ -0,0 +1,23 @@
+name: Materio Migration
+type: module
+description: Defines custom migration for materio (from d7 to d8).
+core: 8.x
+package: Materio
+dependencies:
+  - config_devel
+  - drupal:migrate
+  - drupal:migrate_drupal
+  - drupal:migrate_drupal_multilingual
+  - migrate_plus:migrate_plus
+  - migrate_tools:migrate_tools
+  # - drupal:field_group_migrate
+  - telephone_validation
+
+config_devel:
+ install:
+  - migrate_plus.migration_group.d7_materio
+  - migrate_plus.migration.d7_taxonomy_term_thesaurus
+  - migrate_plus.migration.d7_taxonomy_term_tags
+  - migrate_plus.migration.d7_taxonomy_term_showroom
+  - migrate_plus.migration.d7_taxonomy_term_company
+  - migrate_plus.migration.d7_node_entity_translation_materiau

+ 37 - 0
modules/custom/materio_migrate/readme.md

@@ -0,0 +1,37 @@
+[debugging-migrations](https://www.drupal.org/docs/8/api/migrate-api/debugging-migrations)
+
+https://www.drupaleasy.com/blogs/ultimike/2016/04/drupal-6-drupal-81x-custom-content-migration
+
+https://thinkshout.com/blog/2017/05/skipping-a-version-migrating-from-drupal-6-to-drupal-8-with-drupal-migrate/
+
+https://www.drupal.org/docs/8/upgrade/known-issues-when-upgrading-from-drupal-6-or-7-to-drupal-8
+
+https://drupal.stackexchange.com/questions/164612/how-do-i-remove-a-configuration-object-from-the-active-configuration
+
+https://www.metaltoad.com/blog/drupal-8-migrations-part-3-migrating-taxonomies-drupal-7
+
+https://www.sitepoint.com/your-first-drupal-8-migration/
+
+https://evolvingweb.ca/blog/drupal-8-migration-migrating-taxonomy-term-references-part-2
+
+[text to taxonomy term](http://boylesoftware.com/blog/drupal-8-migration-taxonomy-term-lookups/)
+
+[Upgrading Drupal 6 and i18n Content Translation to Drupal 8](https://www.dunix-data.de/blog/upgrading_drupal_6_and_i18n_content_translation_to_drupal_8)
+
+[Migrating Drupal 7 File Entities to Drupal 8 Media Entities](https://www.previousnext.com.au/blog/migrating-drupal-7-file-entities-drupal-8-media-entities)
+
+[D6 Taxonomy Term Reference Field is not migrated to D8 Field](https://www.drupal.org/node/2884240)
+
+[Migrer un site Drupal 6 ou Drupal 7 vers Drupal 8](https://www.drupalfacile.org/sites/drupalfacile/files/blog/2016/06/dcnantes2016-migrerd6d7versd8.pdf)
+
+[Migrating Aliases and Redirects to Drupal 8](https://evolvingweb.ca/blog/migrating-aliases-and-redirects-drupal-8)
+
+[Migrating Drupal 7 redirects to Drupal 8](http://activelamp.com/blog/drupal/migrating-drupal-8-redirects/)
+
+[How to refresh new migrations in Drupal 8 migration module?](https://drupal.stackexchange.com/questions/191435/how-to-refresh-new-migrations-in-drupal-8-migration-module)
+
+[Drupal 8 Migrations: Taxonomy and Nodes](https://www.phase2technology.com/blog/drupal-8-migrations)
+
+[Migrating Content Translated with "Content Translation" from Drupal 7 to Drupal 8](https://evolvingweb.ca/blog/migrating-content-translated-content-translation-drupal-7-drupal-8)
+
+[Drupal 8 Migration Survival Strategies](http://pnijjar.freeshell.org/2017/drupal8-migrate/)

+ 229 - 0
modules/custom/materio_migrate/src/Plugin/migrate/source/D7NodeBreve.php

@@ -0,0 +1,229 @@
+<?php
+
+namespace Drupal\materio_migrate\Plugin\migrate\source;
+
+use Drupal\Core\Extension\ModuleHandlerInterface;
+use Drupal\migrate\Row;
+use Drupal\migrate_drupal\Plugin\migrate\source\d7\FieldableEntity;
+use Drupal\Core\Database\Query\SelectInterface;
+use Drupal\Core\Entity\EntityManagerInterface;
+use Drupal\Core\Extension\ModuleHandler;
+use Drupal\Core\State\StateInterface;
+use Drupal\migrate\Plugin\MigrationInterface;
+use Symfony\Component\DependencyInjection\ContainerInterface;
+
+/**
+ * Drupal 7 node source from database.
+ *
+ * @MigrateSource(
+ *   id = "d7_node_breve",
+ *   source_module = "node"
+ * )
+ */
+class D7NodeBreve extends FieldableEntity {
+  /**
+   * The module handler.
+   *
+   * @var \Drupal\Core\Extension\ModuleHandlerInterface
+   */
+  protected $moduleHandler;
+
+  /**
+   * {@inheritdoc}
+   */
+  public function __construct(array $configuration, $plugin_id, $plugin_definition, MigrationInterface $migration, StateInterface $state, EntityManagerInterface $entity_manager, ModuleHandlerInterface $module_handler) {
+    parent::__construct($configuration, $plugin_id, $plugin_definition, $migration, $state, $entity_manager);
+    $this->moduleHandler = $module_handler;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition, MigrationInterface $migration = NULL) {
+    return new static(
+      $configuration,
+      $plugin_id,
+      $plugin_definition,
+      $migration,
+      $container->get('state'),
+      $container->get('entity.manager'),
+      $container->get('module_handler')
+    );
+  }
+
+  /**
+   * The join options between the node and the node_revisions table.
+   */
+  const JOIN = 'n.vid = nr.vid';
+
+  /**
+   * {@inheritdoc}
+   */
+  public function query() {
+    // Select node in its last revision.
+    $query = $this->select('node_revision', 'nr')
+      ->fields('n', [
+        'nid',
+        'type',
+        'language',
+        'status',
+        'created',
+        'changed',
+        'comment',
+        'promote',
+        'sticky',
+        'tnid',
+        'translate',
+      ])
+      ->fields('nr', [
+        'vid',
+        'title',
+        'log',
+        'timestamp',
+      ])
+      ->orderBy('nid');
+
+    $query->addField('n', 'uid', 'node_uid');
+    $query->addField('nr', 'uid', 'revision_uid');
+    $query->innerJoin('node', 'n', static::JOIN);
+
+    // If the content_translation module is enabled, get the source langcode
+    // to fill the content_translation_source field.
+    if ($this->moduleHandler->moduleExists('content_translation')) {
+      $query->leftJoin('node', 'nt', 'n.tnid = nt.nid');
+      $query->addField('nt', 'language', 'source_langcode');
+    }
+    $this->handleTranslations($query);
+
+    if (isset($this->configuration['node_type'])) {
+      $query->condition('n.type', $this->configuration['node_type']);
+    }
+
+    return $query;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function prepareRow(Row $row) {
+    $nid = $row->getSourceProperty('nid');
+    $vid = $row->getSourceProperty('vid');
+    $type = $row->getSourceProperty('type');
+    $title = $row->getSourceProperty('title');
+    // drush_print('-- '.$nid."\t".$title);
+
+    // If this entity was translated using Entity Translation, we need to get
+    // its source language to get the field values in the right language.
+    // The translations will be migrated by the d7_node_entity_translation
+    // migration.
+    $entity_translatable = $this->isEntityTranslatable('node') && (int) $this->variableGet('language_content_type_' . $type, 0) === 4;
+    $language = $entity_translatable ? $this->getEntityTranslationSourceLanguage('node', $nid) : $row->getSourceProperty('language');
+
+    // Get Field API field values.
+    foreach ($this->getFields('node', $type) as $field_name => $field) {
+      // Ensure we're using the right language if the entity and the field are
+      // translatable.
+      $field_language = $entity_translatable && $field['translatable'] ? $language : NULL;
+      $row->setSourceProperty($field_name, $this->getFieldValues('node', $field_name, $nid, $vid, $field_language));
+    }
+
+    // linked materials
+    $linked_materials = [];
+    if(!empty($row->getSourceProperty('field_materiau_ref'))){
+      // print_r($row->getSourceProperty('field_materiau_ref'));
+      foreach ($row->getSourceProperty('field_materiau_ref') as $key => $value) {
+        $linked_materials[] = $value['target_id'];
+      }
+      // print_r($linked_materials);
+    }
+    $row->setSourceProperty('linked_materials', $linked_materials);
+
+    // Make sure we always have a translation set.
+    if ($row->getSourceProperty('tnid') == 0) {
+      $row->setSourceProperty('tnid', $row->getSourceProperty('nid'));
+    }
+
+    // If the node title was replaced by a real field using the Drupal 7 Title
+    // module, use the field value instead of the node title.
+    if ($this->moduleExists('title')) {
+      $title_field = $row->getSourceProperty('title_field');
+      if (isset($title_field[0]['value'])) {
+        $row->setSourceProperty('title', $title_field[0]['value']);
+      }
+    }
+
+    // workflow
+    $query = $this->select('workflow_node', 'wn');
+    $query->fields('wn', ['sid']);
+    $query->condition('wn.nid', $nid);
+    $results = $query->execute()->fetchField();
+    if(!$results){
+      $results = 2;
+      // add bad workflow to memo field
+      $memo .= "#migration : invalid workflow\n";
+      drush_print('WARNING: no workflow');
+    }
+    $row->setSourceProperty('workflow', $results);
+
+
+    // record migration errors in field_memo
+    if(isset($memo)){
+      $field_memo = $row->getSourceProperty('field_memo');
+      $field_memo[0]['value'] .= "\n".$memo;
+      $row->setSourceProperty('field_memo', $field_memo);
+    }
+
+    return parent::prepareRow($row);
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function fields() {
+    $fields = [
+      'nid' => $this->t('Node ID'),
+      'type' => $this->t('Type'),
+      'title' => $this->t('Title'),
+      'node_uid' => $this->t('Node authored by (uid)'),
+      'revision_uid' => $this->t('Revision authored by (uid)'),
+      'created' => $this->t('Created timestamp'),
+      'changed' => $this->t('Modified timestamp'),
+      'status' => $this->t('Published'),
+      'promote' => $this->t('Promoted to front page'),
+      'sticky' => $this->t('Sticky at top of lists'),
+      'revision' => $this->t('Create new revision'),
+      'language' => $this->t('Language (fr, en, ...)'),
+      'tnid' => $this->t('The translation set id for this node'),
+      'timestamp' => $this->t('The timestamp the latest revision of this node was created.'),
+    ];
+    return $fields;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function getIds() {
+    $ids['nid']['type'] = 'integer';
+    $ids['nid']['alias'] = 'n';
+    return $ids;
+  }
+
+  /**
+   * Adapt our query for translations.
+   *
+   * @param \Drupal\Core\Database\Query\SelectInterface $query
+   *   The generated query.
+   */
+  protected function handleTranslations(SelectInterface $query) {
+    // Check whether or not we want translations.
+    if (empty($this->configuration['translations'])) {
+      // No translations: Yield untranslated nodes, or default translations.
+      $query->where('n.tnid = 0 OR n.tnid = n.nid');
+    }
+    else {
+      // Translations: Yield only non-default translations.
+      $query->where('n.tnid <> 0 AND n.tnid <> n.nid');
+    }
+  }
+
+}

+ 239 - 0
modules/custom/materio_migrate/src/Plugin/migrate/source/D7NodeMateriau.php

@@ -0,0 +1,239 @@
+<?php
+
+namespace Drupal\materio_migrate\Plugin\migrate\source;
+
+use Drupal\Core\Extension\ModuleHandlerInterface;
+use Drupal\migrate\Row;
+use Drupal\migrate_drupal\Plugin\migrate\source\d7\FieldableEntity;
+use Drupal\Core\Database\Query\SelectInterface;
+use Drupal\Core\Entity\EntityManagerInterface;
+use Drupal\Core\Extension\ModuleHandler;
+use Drupal\Core\State\StateInterface;
+use Drupal\migrate\Plugin\MigrationInterface;
+use Symfony\Component\DependencyInjection\ContainerInterface;
+
+/**
+ * Drupal 7 node source from database.
+ *
+ * @MigrateSource(
+ *   id = "d7_node_materiau",
+ *   source_module = "node"
+ * )
+ */
+class D7NodeMateriau extends FieldableEntity {
+  /**
+   * The module handler.
+   *
+   * @var \Drupal\Core\Extension\ModuleHandlerInterface
+   */
+  protected $moduleHandler;
+
+  /**
+   * {@inheritdoc}
+   */
+  public function __construct(array $configuration, $plugin_id, $plugin_definition, MigrationInterface $migration, StateInterface $state, EntityManagerInterface $entity_manager, ModuleHandlerInterface $module_handler) {
+    parent::__construct($configuration, $plugin_id, $plugin_definition, $migration, $state, $entity_manager);
+    $this->moduleHandler = $module_handler;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition, MigrationInterface $migration = NULL) {
+    return new static(
+      $configuration,
+      $plugin_id,
+      $plugin_definition,
+      $migration,
+      $container->get('state'),
+      $container->get('entity.manager'),
+      $container->get('module_handler')
+    );
+  }
+
+  /**
+   * The join options between the node and the node_revisions table.
+   */
+  const JOIN = 'n.vid = nr.vid';
+
+  /**
+   * {@inheritdoc}
+   */
+  public function query() {
+    // Select node in its last revision.
+    $query = $this->select('node_revision', 'nr')
+      ->fields('n', [
+        'nid',
+        'type',
+        'language',
+        'status',
+        'created',
+        'changed',
+        'comment',
+        'promote',
+        'sticky',
+        'tnid',
+        'translate',
+      ])
+      ->fields('nr', [
+        'vid',
+        'title',
+        'log',
+        'timestamp',
+      ])
+      ->orderBy('nid');
+
+    $query->addField('n', 'uid', 'node_uid');
+    $query->addField('nr', 'uid', 'revision_uid');
+    $query->innerJoin('node', 'n', static::JOIN);
+
+    // If the content_translation module is enabled, get the source langcode
+    // to fill the content_translation_source field.
+    if ($this->moduleHandler->moduleExists('content_translation')) {
+      $query->leftJoin('node', 'nt', 'n.tnid = nt.nid');
+      $query->addField('nt', 'language', 'source_langcode');
+    }
+    $this->handleTranslations($query);
+
+    if (isset($this->configuration['node_type'])) {
+      $query->condition('n.type', $this->configuration['node_type']);
+    }
+
+    return $query;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function prepareRow(Row $row) {
+    $nid = $row->getSourceProperty('nid');
+    $vid = $row->getSourceProperty('vid');
+    $type = $row->getSourceProperty('type');
+    $title = $row->getSourceProperty('title');
+    // drush_print('-- '.$nid."\t".$title);
+
+    // If this entity was translated using Entity Translation, we need to get
+    // its source language to get the field values in the right language.
+    // The translations will be migrated by the d7_node_entity_translation
+    // migration.
+    $entity_translatable = $this->isEntityTranslatable('node') && (int) $this->variableGet('language_content_type_' . $type, 0) === 4;
+    $language = $entity_translatable ? $this->getEntityTranslationSourceLanguage('node', $nid) : $row->getSourceProperty('language');
+
+    // Get Field API field values.
+    foreach ($this->getFields('node', $type) as $field_name => $field) {
+      // Ensure we're using the right language if the entity and the field are
+      // translatable.
+      $field_language = $entity_translatable && $field['translatable'] ? $language : NULL;
+      $row->setSourceProperty($field_name, $this->getFieldValues('node', $field_name, $nid, $vid, $field_language));
+    }
+
+    // linked materials
+    $linked_materials = [];
+    if(!empty($row->getSourceProperty('field_materiau_ref'))){
+      // print_r($row->getSourceProperty('field_materiau_ref'));
+      foreach ($row->getSourceProperty('field_materiau_ref') as $key => $value) {
+        $linked_materials[] = $value['target_id'];
+      }
+      // print_r($linked_materials);
+    }
+    $row->setSourceProperty('linked_materials', $linked_materials);
+
+    //linked breves
+    $linked_breves = [];
+    if(!empty($row->getSourceProperty('field_breve_ref'))){
+      foreach ($row->getSourceProperty('field_breve_ref') as $key => $value) {
+        $linked_breves[] = $value['target_id'];
+      }
+    }
+    $row->setSourceProperty('linked_breves', $linked_breves);
+
+
+    // Make sure we always have a translation set.
+    if ($row->getSourceProperty('tnid') == 0) {
+      $row->setSourceProperty('tnid', $row->getSourceProperty('nid'));
+    }
+
+    // If the node title was replaced by a real field using the Drupal 7 Title
+    // module, use the field value instead of the node title.
+    if ($this->moduleExists('title')) {
+      $title_field = $row->getSourceProperty('title_field');
+      if (isset($title_field[0]['value'])) {
+        $row->setSourceProperty('title', $title_field[0]['value']);
+      }
+    }
+
+    // workflow
+    $query = $this->select('workflow_node', 'wn');
+    $query->fields('wn', ['sid']);
+    $query->condition('wn.nid', $nid);
+    $results = $query->execute()->fetchField();
+    if(!$results){
+      $results = 2;
+      // add bad workflow to memo field
+      $memo .= "#migration : invalid workflow\n";
+      drush_print('WARNING: no workflow');
+    }
+    $row->setSourceProperty('workflow', $results);
+
+
+    // record migration errors in field_memo
+    if(isset($memo)){
+      $field_memo = $row->getSourceProperty('field_memo');
+      $field_memo[0]['value'] .= "\n".$memo;
+      $row->setSourceProperty('field_memo', $field_memo);
+    }
+
+    return parent::prepareRow($row);
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function fields() {
+    $fields = [
+      'nid' => $this->t('Node ID'),
+      'type' => $this->t('Type'),
+      'title' => $this->t('Title'),
+      'node_uid' => $this->t('Node authored by (uid)'),
+      'revision_uid' => $this->t('Revision authored by (uid)'),
+      'created' => $this->t('Created timestamp'),
+      'changed' => $this->t('Modified timestamp'),
+      'status' => $this->t('Published'),
+      'promote' => $this->t('Promoted to front page'),
+      'sticky' => $this->t('Sticky at top of lists'),
+      'revision' => $this->t('Create new revision'),
+      'language' => $this->t('Language (fr, en, ...)'),
+      'tnid' => $this->t('The translation set id for this node'),
+      'timestamp' => $this->t('The timestamp the latest revision of this node was created.'),
+    ];
+    return $fields;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function getIds() {
+    $ids['nid']['type'] = 'integer';
+    $ids['nid']['alias'] = 'n';
+    return $ids;
+  }
+
+  /**
+   * Adapt our query for translations.
+   *
+   * @param \Drupal\Core\Database\Query\SelectInterface $query
+   *   The generated query.
+   */
+  protected function handleTranslations(SelectInterface $query) {
+    // Check whether or not we want translations.
+    if (empty($this->configuration['translations'])) {
+      // No translations: Yield untranslated nodes, or default translations.
+      $query->where('n.tnid = 0 OR n.tnid = n.nid');
+    }
+    else {
+      // Translations: Yield only non-default translations.
+      $query->where('n.tnid <> 0 AND n.tnid <> n.nid');
+    }
+  }
+
+}

+ 228 - 0
modules/custom/materio_migrate/src/Plugin/migrate/source/D7TaxonomyTermCompany.php

@@ -0,0 +1,228 @@
+<?php
+
+namespace Drupal\materio_migrate\Plugin\migrate\source;
+
+use Drupal\migrate\Row;
+use Drupal\migrate_drupal\Plugin\migrate\source\d7\FieldableEntity;
+use Symfony\Component\DependencyInjection\ContainerInterface;
+use Drupal\Core\Plugin\ContainerFactoryPluginInterface;
+use Drupal\migrate\Plugin\MigrationInterface;
+use Drupal\Core\State\StateInterface;
+use Drupal\Core\Entity\EntityManagerInterface;
+use Drupal\Core\Locale\CountryManagerInterface;
+use libphonenumber\PhoneNumber;
+use libphonenumber\PhoneNumberUtil;
+use libphonenumber\PhoneNumberFormat;
+
+/**
+ * Taxonomy term source from database.
+ *
+ * @MigrateSource(
+ *   id = "d7_taxonomy_term_company",
+ *   source_module = "taxonomy"
+ * )
+ */
+class D7TaxonomyTermCompany extends FieldableEntity implements ContainerFactoryPluginInterface{
+
+  /**
+   * Phone Number util.
+   *
+   * @var \libphonenumber\PhoneNumberUtil
+   */
+  public $phoneUtils;
+
+  /**
+   * Country Manager service.
+   *
+   * @var \Drupal\Core\Locale\CountryManagerInterface
+   */
+  public $countryManager;
+
+  /**
+   * {@inheritdoc}
+   */
+  public function __construct(array $configuration, $plugin_id, $plugin_definition, MigrationInterface $migration, StateInterface $state, EntityManagerInterface $entity_manager, CountryManagerInterface $country_manager) {
+    parent::__construct($configuration, $plugin_id, $plugin_definition, $migration, $state, $entity_manager);
+    $this->phoneUtils = PhoneNumberUtil::getInstance();
+    $this->countryManager = $country_manager;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition, MigrationInterface $migration = NULL) {
+    return new static(
+      $configuration,
+      $plugin_id,
+      $plugin_definition,
+      $migration,
+      $container->get('state'),
+      $container->get('entity.manager'),
+      $container->get('country_manager')
+    );
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function query() {
+    $query = $this->select('taxonomy_term_data', 'td')
+      ->fields('td')
+      ->orderBy('tid');
+
+    $query->leftJoin('taxonomy_vocabulary', 'tv', 'td.vid = tv.vid');
+    $query->addField('tv', 'machine_name');
+
+    if (isset($this->configuration['bundle'])) {
+      $query->condition('tv.machine_name', (array) $this->configuration['bundle'], 'IN');
+    }
+
+    return $query;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function fields() {
+    $fields = [
+      'tid' => $this->t('The term ID.'),
+      'vid' => $this->t('Existing term VID'),
+      'machine_name' => $this->t('Vocabulary machine name'),
+      'name' => $this->t('The name of the term.'),
+      'description' => $this->t('The term description.'),
+      'weight' => $this->t('Weight'),
+      'parent' => $this->t("The Drupal term IDs of the term's parents."),
+      'format' => $this->t("Format of the term description."),
+      'revision_id' => $this->t('Revision ID'),
+      'language' => $this->t('Term translation language'),
+      'source' => $this->t('Term translation source language'),
+      'public_phone' => $this->t('Public phone converted to new format (with libphonenumber)')
+    ];
+    return $fields;
+  }
+
+
+  /**
+   * {@inheritdoc}
+   */
+  public function prepareRow(Row $row) {
+    $language = $row->getSourceProperty('language');
+    $tid = $row->getSourceProperty('tid');
+    // drush_print('-- '.$language."\t".$tid."\t".$row->getSourceProperty('name'));
+
+    // vocabulary machine name
+    $machine_name = $row->getSourceProperty('machine_name');
+    $revid = $row->getSourceProperty('revision_id');
+
+    // Get Field API field values.
+    foreach ($this->getFields('taxonomy_term', $machine_name) as $field_name => $field) {
+      // Ensure we're using the right language if the entity is translatable.
+      $field_language = $field['translatable'] ? $language : NULL;
+      $row->setSourceProperty($field_name, $this->getFieldValues('taxonomy_term', $field_name, $tid, $revid, $field_language));
+    }
+
+    // Find parents for this row.
+    $parents = $this->select('taxonomy_term_hierarchy', 'th')
+      ->fields('th', ['parent', 'tid'])
+      ->condition('tid', $row->getSourceProperty('tid'))
+      ->execute()
+      ->fetchCol();
+    $row->setSourceProperty('parent', $parents);
+
+    // If the node title was replaced by a real field using the Drupal 7 Title
+    // module, use the field value instead of the node title.
+    if ($this->moduleExists('title')) {
+      $name_field = $row->getSourceProperty('name_field');
+      if (isset($name_field[0]['value'])) {
+        $row->setSourceProperty('name', $name_field[0]['value']);
+      }
+    }
+
+    // get the tode nid
+    $tode_nid = $this->select('field_data_field_tode_company', 'tode')
+      ->condition('entity_type', 'node')
+      ->condition('field_tode_company_tid', $tid)
+      ->fields('tode', ['entity_id'])
+      ->execute()->fetchField();
+    // drush_print('tode_nid: '.$tode_nid);
+
+    // drush_print('tode_nid: ');
+    // print_r($tode_nid);
+    // drush_print(' ');
+    if($tode_nid){
+      // get the tode fields
+      foreach ($this->getFields('node', 'company') as $field_name => $field) {
+        // Ensure we're using the right language if the entity is translatable.
+        $field_language = $field['translatable'] ? $language : NULL;
+        $field_values = $this->getFieldValues('node', $field_name, $tode_nid, null, $field_language);
+
+        $row->setSourceProperty($field_name, $field_values);
+      }
+
+      // make sure that field_website url is absolute
+      $field_website = $row->getSourceProperty('field_website');
+      if(isset($field_website[0]['url'])){
+        $url = $field_website[0]['url'];
+        if(!strpos($url, 'http://')){
+          $field_website[0]['url'] = 'http://'.$url;
+          $row->setSourceProperty('field_website', $field_website);
+        }
+      }
+
+      // convert phone field with libphonenumber
+      $field_phone = $row->getSourceProperty('field_public_phone');
+      if(isset($field_phone[0]['number']) && !empty($field_phone[0]['number'])){
+        $national_number = $field_phone[0]['number'];
+        $region = strtoupper($field_phone[0]['country_codes']);
+        // isValidRegionCode($regionCode)
+        if($this->phoneUtils->isPossibleNumber($national_number, $region)){
+          $number = $this->phoneUtils->parse($national_number, $region);
+          $row->setSourceProperty('public_phone', $this->phoneUtils->format($number, PhoneNumberFormat::E164));
+        }else{
+          // add bad phone number to memo field
+          $memo .= "#migration : invalid phone number: ".$national_number.' region: '.$region."\n";
+          drush_print('WARNING: phone number invalide; number: '.$national_number.' region: '.$region);
+        }
+      }
+
+      // TODO: attachment files
+      // no needs as there is no attachment field used for companies
+
+      // workflow
+      $query = $this->select('workflow_node', 'wn');
+      $query->fields('wn', ['sid']);
+      $query->condition('wn.nid', $tode_nid);
+      $results = $query->execute()->fetchField();
+      if(!$results){
+        $results = 2;
+        // add bad workflow to memo field
+        $memo .= "#migration : invalid workflow\n";
+        drush_print('WARNING: no workflow');
+      }
+      $row->setSourceProperty('workflow', $results);
+
+    }else{
+      // if no tode set workflow to hidden
+      $row->setSourceProperty('workflow', 2);
+      $memo .= "#migration : missing data from tode\n";
+      drush_print('WARNING: no tode');
+    }
+    // record migration errors in field_memo
+    if(isset($memo)){
+      $field_memo = $row->getSourceProperty('field_memo');
+      $field_memo[0]['value'] .= "\n".$memo;
+      $row->setSourceProperty('field_memo', $field_memo);
+    }
+
+    return parent::prepareRow($row);
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function getIds() {
+    $ids['tid']['type'] = 'integer';
+    return $ids;
+  }
+
+}

+ 209 - 0
modules/custom/materio_migrate/src/Plugin/migrate/source/D7TaxonomyTermShowroom.php

@@ -0,0 +1,209 @@
+<?php
+
+namespace Drupal\materio_migrate\Plugin\migrate\source;
+
+use Drupal\migrate\Row;
+use Drupal\migrate_drupal\Plugin\migrate\source\d7\FieldableEntity;
+use Symfony\Component\DependencyInjection\ContainerInterface;
+use Drupal\Core\Plugin\ContainerFactoryPluginInterface;
+use Drupal\migrate\Plugin\MigrationInterface;
+use Drupal\Core\State\StateInterface;
+use Drupal\Core\Entity\EntityManagerInterface;
+use Drupal\Core\Locale\CountryManagerInterface;
+use libphonenumber\PhoneNumber;
+use libphonenumber\PhoneNumberUtil;
+use libphonenumber\PhoneNumberFormat;
+
+/**
+ * Taxonomy term source from database.
+ *
+ * @MigrateSource(
+ *   id = "d7_taxonomy_term_showroom",
+ *   source_module = "taxonomy"
+ * )
+ */
+class D7TaxonomyTermShowroom extends FieldableEntity {
+
+    /**
+     * Phone Number util.
+     *
+     * @var \libphonenumber\PhoneNumberUtil
+     */
+    public $phoneUtils;
+
+    /**
+     * Country Manager service.
+     *
+     * @var \Drupal\Core\Locale\CountryManagerInterface
+     */
+    public $countryManager;
+
+    /**
+     * {@inheritdoc}
+     */
+    public function __construct(array $configuration, $plugin_id, $plugin_definition, MigrationInterface $migration, StateInterface $state, EntityManagerInterface $entity_manager, CountryManagerInterface $country_manager) {
+      parent::__construct($configuration, $plugin_id, $plugin_definition, $migration, $state, $entity_manager);
+      $this->phoneUtils = PhoneNumberUtil::getInstance();
+      $this->countryManager = $country_manager;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition, MigrationInterface $migration = NULL) {
+      return new static(
+        $configuration,
+        $plugin_id,
+        $plugin_definition,
+        $migration,
+        $container->get('state'),
+        $container->get('entity.manager'),
+        $container->get('country_manager')
+      );
+    }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function query() {
+    $query = $this->select('taxonomy_term_data', 'td')
+      ->fields('td')
+      ->orderBy('tid');
+
+    $query->leftJoin('taxonomy_vocabulary', 'tv', 'td.vid = tv.vid');
+    $query->addField('tv', 'machine_name');
+
+    if (isset($this->configuration['bundle'])) {
+      $query->condition('tv.machine_name', (array) $this->configuration['bundle'], 'IN');
+    }
+
+    return $query;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function fields() {
+    $fields = [
+      'tid' => $this->t('The term ID.'),
+      'vid' => $this->t('Existing term VID'),
+      'machine_name' => $this->t('Vocabulary machine name'),
+      'name' => $this->t('The name of the term.'),
+      'description' => $this->t('The term description.'),
+      'weight' => $this->t('Weight'),
+      'parent' => $this->t("The Drupal term IDs of the term's parents."),
+      'format' => $this->t("Format of the term description."),
+    ];
+    return $fields;
+  }
+
+
+  /**
+   * {@inheritdoc}
+   */
+  public function prepareRow(Row $row) {
+    $language = $row->getSourceProperty('language');
+    $tid = $row->getSourceProperty('tid');
+    drush_print('-- '.$language."\t".$tid."\t".$row->getSourceProperty('name'));
+
+    // vocabulary machine name
+    $machine_name = $row->getSourceProperty('machine_name');
+    $revid = $row->getSourceProperty('revision_id');
+
+    // Get Field API field values.
+    foreach ($this->getFields('taxonomy_term', $machine_name) as $field_name => $field) {
+      // Ensure we're using the right language if the entity is translatable.
+      $field_language = $field['translatable'] ? $language : NULL;
+      $row->setSourceProperty($field_name, $this->getFieldValues('taxonomy_term', $field_name, $tid, $revid, $field_language));
+    }
+
+    // Find parents for this row.
+    $parents = $this->select('taxonomy_term_hierarchy', 'th')
+      ->fields('th', ['parent', 'tid'])
+      ->condition('tid', $row->getSourceProperty('tid'))
+      ->execute()
+      ->fetchCol();
+    $row->setSourceProperty('parent', $parents);
+    // print_r($parents);
+
+    // If the node title was replaced by a real field using the Drupal 7 Title
+    // module, use the field value instead of the node title.
+    if ($this->moduleExists('title')) {
+      $name_field = $row->getSourceProperty('name_field');
+      if (isset($name_field[0]['value'])) {
+        $row->setSourceProperty('name', $name_field[0]['value']);
+      }
+    }
+
+    // get the tode nid
+    $tode_nid = $this->select('field_data_field_tode_showroom', 'tode')
+      ->condition('entity_type', 'node')
+      ->condition('field_tode_showroom_tid', $tid)
+      ->fields('tode', ['entity_id'])
+      ->execute()->fetchField();
+    // drush_print('tode_nid: '.$tode_nid);
+
+    // drush_print('tode_nid: ');
+    // print_r($tode_nid);
+    // drush_print(' ');
+    if($tode_nid){
+      // get the tode fields
+      foreach ($this->getFields('node', 'company') as $field_name => $field) {
+        // Ensure we're using the right language if the entity is translatable.
+        $field_language = $field['translatable'] ? $language : NULL;
+        $field_values = $this->getFieldValues('node', $field_name, $tode_nid, null, $field_language);
+
+        $row->setSourceProperty($field_name, $field_values);
+      }
+
+      // make sure that field_website url is absolute
+      $field_website = $row->getSourceProperty('field_website');
+      if(isset($field_website[0]['url'])){
+        $url = $field_website[0]['url'];
+        if(!strpos($url, 'http://')){
+          $field_website[0]['url'] = 'http://'.$url;
+          $row->setSourceProperty('field_website', $field_website);
+        }
+      }
+
+      // convert phone field with libphonenumber
+      $field_phone = $row->getSourceProperty('field_public_phone');
+      if(isset($field_phone[0]['number']) && !empty($field_phone[0]['number'])){
+        $national_number = $field_phone[0]['number'];
+        $region = strtoupper($field_phone[0]['country_codes']);
+        // isValidRegionCode($regionCode)
+        if($this->phoneUtils->isPossibleNumber($national_number, $region)){
+          $number = $this->phoneUtils->parse($national_number, $region);
+          $row->setSourceProperty('public_phone', $this->phoneUtils->format($number, PhoneNumberFormat::E164));
+        }else{
+          // add bad phone number to memo field
+          $memo .= "#migration : invalid phone number: ".$national_number.' region: '.$region."\n";
+          drush_print('WARNING: phone number invalide; number: '.$national_number.' region: '.$region);
+        }
+      }
+
+    }else{
+      // if no tode set workflow to hidden
+      $memo .= "#migration : missing data from tode\n";
+      drush_print('WARNING: no tode');
+    }
+    // record migration errors in field_memo
+    if(isset($memo)){
+      $field_memo = $row->getSourceProperty('field_memo');
+      $field_memo[0]['value'] .= "\n".$memo;
+      $row->setSourceProperty('field_memo', $field_memo);
+    }
+
+
+    return parent::prepareRow($row);
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function getIds() {
+    $ids['tid']['type'] = 'integer';
+    return $ids;
+  }
+
+}

+ 111 - 0
modules/custom/materio_migrate/src/Plugin/migrate/source/D7TaxonomyTermTags.php

@@ -0,0 +1,111 @@
+<?php
+
+namespace Drupal\materio_migrate\Plugin\migrate\source;
+
+use Drupal\migrate\Row;
+use Drupal\migrate_drupal\Plugin\migrate\source\d7\FieldableEntity;
+
+/**
+ * Taxonomy term source from database.
+ *
+ * @MigrateSource(
+ *   id = "d7_taxonomy_term_tags",
+ *   source_module = "taxonomy"
+ * )
+ */
+class D7TaxonomyTermTags extends FieldableEntity {
+
+  /**
+   * {@inheritdoc}
+   */
+  public function query() {
+    $query = $this->select('taxonomy_term_data', 'td')
+      ->fields('td')
+      ->condition('et.entity_type', 'taxonomy_term')
+      ->condition('et.source', '')
+      ->orderBy('tid');
+
+    $query->innerJoin('entity_translation', 'et', 'et.entity_id = td.tid');
+    $query->fields('et');
+
+    $query->leftJoin('taxonomy_vocabulary', 'tv', 'td.vid = tv.vid');
+    $query->addField('tv', 'machine_name');
+
+    if (isset($this->configuration['bundle'])) {
+      $query->condition('tv.machine_name', (array) $this->configuration['bundle'], 'IN');
+    }
+
+    return $query;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function fields() {
+    $fields = [
+      'tid' => $this->t('The term ID.'),
+      'vid' => $this->t('Existing term VID'),
+      'machine_name' => $this->t('Vocabulary machine name'),
+      'name' => $this->t('The name of the term.'),
+      'description' => $this->t('The term description.'),
+      'weight' => $this->t('Weight'),
+      'parent' => $this->t("The Drupal term IDs of the term's parents."),
+      'format' => $this->t("Format of the term description."),
+      'synonyms' => $this->t("Term's Synonyms (field : synonyms_synonym)"),
+      'displayed_on_advanced_search' => $this->t("field_used_on_advanced_search"),
+      'revision_id' => $this->t('Revision ID'),
+      'language' => $this->t('Term translation language'),
+      'source' => $this->t('Term translation source language'),
+    ];
+    return $fields;
+  }
+
+
+  /**
+   * {@inheritdoc}
+   */
+  public function prepareRow(Row $row) {
+    $language = $row->getSourceProperty('language');
+    drush_print('-- '.$language."\t".$row->getSourceProperty('tid')."\t".$row->getSourceProperty('name'));
+
+    $tid = $row->getSourceProperty('tid');
+    // vocabulary machine name
+    $machine_name = $row->getSourceProperty('machine_name');
+    $revid = $row->getSourceProperty('revision_id');
+
+    // Get Field API field values.
+    foreach ($this->getFields('taxonomy_term', $machine_name) as $field_name => $field) {
+      // Ensure we're using the right language if the entity is translatable.
+      $field_language = $field['translatable'] ? $language : NULL;
+      $row->setSourceProperty($field_name, $this->getFieldValues('taxonomy_term', $field_name, $tid, $revid, $field_language));
+    }
+
+    // Find parents for this row.
+    $parents = $this->select('taxonomy_term_hierarchy', 'th')
+      ->fields('th', ['parent', 'tid'])
+      ->condition('tid', $row->getSourceProperty('tid'))
+      ->execute()
+      ->fetchCol();
+    $row->setSourceProperty('parent', $parents);
+
+    // If the node title was replaced by a real field using the Drupal 7 Title
+    // module, use the field value instead of the node title.
+    if ($this->moduleExists('title')) {
+      $name_field = $row->getSourceProperty('name_field');
+      if (isset($name_field[0]['value'])) {
+        $row->setSourceProperty('name', $name_field[0]['value']);
+      }
+    }
+
+    return parent::prepareRow($row);
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function getIds() {
+    $ids['tid']['type'] = 'integer';
+    return $ids;
+  }
+
+}

+ 100 - 0
modules/custom/materio_migrate/src/Plugin/migrate/source/D7TaxonomyTermTagsI18n.php

@@ -0,0 +1,100 @@
+<?php
+
+namespace Drupal\materio_migrate\Plugin\migrate\source;
+
+use Drupal\migrate\Row;
+use Drupal\migrate_drupal\Plugin\migrate\source\d7\FieldableEntity;
+
+/**
+ * Taxonomy term source from database.
+ *
+ * @MigrateSource(
+ *   id = "d7_taxonomy_term_tags_i18n",
+ *   source_module = "taxonomy"
+ * )
+ */
+class D7TaxonomyTermTagsI18n extends FieldableEntity {
+
+  /**
+   * {@inheritdoc}
+   */
+  public function query() {
+    $query = $this->select('taxonomy_term_data', 'td')
+      ->fields('td')
+      ->condition('et.entity_type', 'taxonomy_term')
+      ->condition('et.source', '', '<>')
+      ->orderBy('tid');
+
+    $query->innerJoin('entity_translation', 'et', 'et.entity_id = td.tid');
+    $query->fields('et');
+    $query->leftJoin('taxonomy_vocabulary', 'tv', 'tv.vid = td.vid');
+    $query->fields('tv', ['machine_name']);
+
+    if (isset($this->configuration['bundle'])) {
+      $query->condition('tv.machine_name', (array) $this->configuration['bundle'], 'IN');
+    }
+    return $query;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function fields() {
+    $fields = [
+      'tid' => $this->t('The term ID.'),
+      'vid' => $this->t('Existing term VID'),
+      'machine_name' => $this->t('Vocabulary machine name'),
+      'name' => $this->t('The name of the term.'),
+      'revision_id' => $this->t('Revision ID'),
+      'language' => $this->t('Term translation language'),
+      'source' => $this->t('Term translation source language'),
+      'description' => $this->t('The term description.'),
+      'weight' => $this->t('Weight'),
+      'parent' => $this->t("The Drupal term IDs of the term's parents."),
+      'format' => $this->t("Format of the term description."),
+    ];
+    return $fields;
+  }
+
+
+  /**
+   * {@inheritdoc}
+   */
+  public function prepareRow(Row $row) {
+    $language = $row->getSourceProperty('language');
+    $tid = $row->getSourceProperty('tid');
+
+    drush_print('-- '. $language ."\t".$tid."\t".$row->getSourceProperty('name'));
+
+    // vocabulary machine name
+    $machine_name = $row->getSourceProperty('machine_name');
+    $revid = $row->getSourceProperty('revision_id');
+
+    // Get Field API field values.
+    foreach ($this->getFields('taxonomy_term', $machine_name) as $field_name => $field) {
+      // Ensure we're using the right language if the entity is translatable.
+      $field_language = $field['translatable'] ? $language : NULL;
+      $row->setSourceProperty($field_name, $this->getFieldValues('taxonomy_term', $field_name, $tid, $revid, $field_language));
+    }
+
+    // If the node title was replaced by a real field using the Drupal 7 Title
+    // module, use the field value instead of the node title.
+    if ($this->moduleExists('title')) {
+      $name_field = $row->getSourceProperty('name_field');
+      if (isset($name_field[0]['value'])) {
+        $row->setSourceProperty('name', $name_field[0]['value']);
+      }
+    }
+
+    return parent::prepareRow($row);
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function getIds() {
+    $ids['tid']['type'] = 'integer';
+    return $ids;
+  }
+
+}

+ 111 - 0
modules/custom/materio_migrate/src/Plugin/migrate/source/D7TaxonomyTermThesaurus.php

@@ -0,0 +1,111 @@
+<?php
+
+namespace Drupal\materio_migrate\Plugin\migrate\source;
+
+use Drupal\migrate\Row;
+use Drupal\migrate_drupal\Plugin\migrate\source\d7\FieldableEntity;
+
+/**
+ * Taxonomy term source from database.
+ *
+ * @MigrateSource(
+ *   id = "d7_taxonomy_term_thesaurus",
+ *   source_module = "taxonomy"
+ * )
+ */
+class D7TaxonomyTermThesaurus extends FieldableEntity {
+
+  /**
+   * {@inheritdoc}
+   */
+  public function query() {
+    $query = $this->select('taxonomy_term_data', 'td')
+      ->fields('td')
+      ->condition('et.entity_type', 'taxonomy_term')
+      ->condition('et.source', '')
+      ->orderBy('tid');
+
+    $query->innerJoin('entity_translation', 'et', 'et.entity_id = td.tid');
+    $query->fields('et');
+
+    $query->leftJoin('taxonomy_vocabulary', 'tv', 'td.vid = tv.vid');
+    $query->addField('tv', 'machine_name');
+
+    if (isset($this->configuration['bundle'])) {
+      $query->condition('tv.machine_name', (array) $this->configuration['bundle'], 'IN');
+    }
+
+    return $query;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function fields() {
+    $fields = [
+      'tid' => $this->t('The term ID.'),
+      'vid' => $this->t('Existing term VID'),
+      'machine_name' => $this->t('Vocabulary machine name'),
+      'name' => $this->t('The name of the term.'),
+      'description' => $this->t('The term description.'),
+      'weight' => $this->t('Weight'),
+      'parent' => $this->t("The Drupal term IDs of the term's parents."),
+      'format' => $this->t("Format of the term description."),
+      'synonyms' => $this->t("Term's Synonyms (field : synonyms_synonym)"),
+      'displayed_on_advanced_search' => $this->t("field_used_on_advanced_search"),
+      'revision_id' => $this->t('Revision ID'),
+      'language' => $this->t('Term translation language'),
+      'source' => $this->t('Term translation source language'),
+    ];
+    return $fields;
+  }
+
+
+  /**
+   * {@inheritdoc}
+   */
+  public function prepareRow(Row $row) {
+    $language = $row->getSourceProperty('language');
+    drush_print('-- '.$language."\t".$row->getSourceProperty('tid')."\t".$row->getSourceProperty('name'));
+
+    $tid = $row->getSourceProperty('tid');
+    // vocabulary machine name
+    $machine_name = $row->getSourceProperty('machine_name');
+    $revid = $row->getSourceProperty('revision_id');
+
+    // Get Field API field values.
+    foreach ($this->getFields('taxonomy_term', $machine_name) as $field_name => $field) {
+      // Ensure we're using the right language if the entity is translatable.
+      $field_language = $field['translatable'] ? $language : NULL;
+      $row->setSourceProperty($field_name, $this->getFieldValues('taxonomy_term', $field_name, $tid, $revid, $field_language));
+    }
+
+    // Find parents for this row.
+    $parents = $this->select('taxonomy_term_hierarchy', 'th')
+      ->fields('th', ['parent', 'tid'])
+      ->condition('tid', $row->getSourceProperty('tid'))
+      ->execute()
+      ->fetchCol();
+    $row->setSourceProperty('parent', $parents);
+
+    // If the node title was replaced by a real field using the Drupal 7 Title
+    // module, use the field value instead of the node title.
+    if ($this->moduleExists('title')) {
+      $name_field = $row->getSourceProperty('name_field');
+      if (isset($name_field[0]['value'])) {
+        $row->setSourceProperty('name', $name_field[0]['value']);
+      }
+    }
+
+    return parent::prepareRow($row);
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function getIds() {
+    $ids['tid']['type'] = 'integer';
+    return $ids;
+  }
+
+}

+ 100 - 0
modules/custom/materio_migrate/src/Plugin/migrate/source/D7TaxonomyTermThesaurusI18n.php

@@ -0,0 +1,100 @@
+<?php
+
+namespace Drupal\materio_migrate\Plugin\migrate\source;
+
+use Drupal\migrate\Row;
+use Drupal\migrate_drupal\Plugin\migrate\source\d7\FieldableEntity;
+
+/**
+ * Taxonomy term source from database.
+ *
+ * @MigrateSource(
+ *   id = "d7_taxonomy_term_thesaurus_i18n",
+ *   source_module = "taxonomy"
+ * )
+ */
+class D7TaxonomyTermThesaurusI18n extends FieldableEntity {
+
+  /**
+   * {@inheritdoc}
+   */
+  public function query() {
+    $query = $this->select('taxonomy_term_data', 'td')
+      ->fields('td')
+      ->condition('et.entity_type', 'taxonomy_term')
+      ->condition('et.source', '', '<>')
+      ->orderBy('tid');
+
+    $query->innerJoin('entity_translation', 'et', 'et.entity_id = td.tid');
+    $query->fields('et');
+    $query->leftJoin('taxonomy_vocabulary', 'tv', 'tv.vid = td.vid');
+    $query->fields('tv', ['machine_name']);
+
+    if (isset($this->configuration['bundle'])) {
+      $query->condition('tv.machine_name', (array) $this->configuration['bundle'], 'IN');
+    }
+    return $query;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function fields() {
+    $fields = [
+      'tid' => $this->t('The term ID.'),
+      'vid' => $this->t('Existing term VID'),
+      'machine_name' => $this->t('Vocabulary machine name'),
+      'name' => $this->t('The name of the term.'),
+      'revision_id' => $this->t('Revision ID'),
+      'language' => $this->t('Term translation language'),
+      'source' => $this->t('Term translation source language'),
+      'description' => $this->t('The term description.'),
+      'weight' => $this->t('Weight'),
+      'parent' => $this->t("The Drupal term IDs of the term's parents."),
+      'format' => $this->t("Format of the term description."),
+    ];
+    return $fields;
+  }
+
+
+  /**
+   * {@inheritdoc}
+   */
+  public function prepareRow(Row $row) {
+    $language = $row->getSourceProperty('language');
+    $tid = $row->getSourceProperty('tid');
+
+    drush_print('-- '. $language ."\t".$tid."\t".$row->getSourceProperty('name'));
+
+    // vocabulary machine name
+    $machine_name = $row->getSourceProperty('machine_name');
+    $revid = $row->getSourceProperty('revision_id');
+
+    // Get Field API field values.
+    foreach ($this->getFields('taxonomy_term', $machine_name) as $field_name => $field) {
+      // Ensure we're using the right language if the entity is translatable.
+      $field_language = $field['translatable'] ? $language : NULL;
+      $row->setSourceProperty($field_name, $this->getFieldValues('taxonomy_term', $field_name, $tid, $revid, $field_language));
+    }
+
+    // If the node title was replaced by a real field using the Drupal 7 Title
+    // module, use the field value instead of the node title.
+    if ($this->moduleExists('title')) {
+      $name_field = $row->getSourceProperty('name_field');
+      if (isset($name_field[0]['value'])) {
+        $row->setSourceProperty('name', $name_field[0]['value']);
+      }
+    }
+
+    return parent::prepareRow($row);
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function getIds() {
+    $ids['tid']['type'] = 'integer';
+    return $ids;
+  }
+
+}

+ 1 - 1
profiles/d8-starterkit-profile

@@ -1 +1 @@
-Subproject commit d9a53faeb973b5b87b4732af72581905de2b6c91
+Subproject commit 40827f6d6ab310dfbaff6ce99fc9c727bc740b2c

+ 24 - 0
sites/default/config/sync/.htaccess

@@ -0,0 +1,24 @@
+# Deny all requests from Apache 2.4+.
+<IfModule mod_authz_core.c>
+  Require all denied
+</IfModule>
+
+# Deny all requests from Apache 2.0-2.2.
+<IfModule !mod_authz_core.c>
+  Deny from all
+</IfModule>
+
+# Turn off all options we don't need.
+Options -Indexes -ExecCGI -Includes -MultiViews
+
+# Set the catch-all handler to prevent scripts from being executed.
+SetHandler Drupal_Security_Do_Not_Remove_See_SA_2006_006
+<Files *>
+  # Override the handler again if we're run later in the evaluation list.
+  SetHandler Drupal_Security_Do_Not_Remove_See_SA_2013_003
+</Files>
+
+# If we know how to do it safely, disable the PHP engine entirely.
+<IfModule mod_php5.c>
+  php_flag engine off
+</IfModule>

+ 31 - 0
sites/default/config/sync/_migrate_plus.migration.d7_taxonomy_vocabulary_company.yml

@@ -0,0 +1,31 @@
+id: d7_taxonomy_vocabulary_company
+label: 'Taxonomy vocabularies Company'
+migration_group: d7_materio
+migration_tags:
+  - 'Drupal 7'
+  - Configuration
+  - Materio
+source:
+  plugin: d7_taxonomy_vocabulary
+  bundle: company
+destination:
+  plugin: 'entity:taxonomy_vocabulary'
+process:
+  vid:
+    -
+      plugin: make_unique_entity_field
+      source: machine_name
+      entity_type: taxonomy_vocabulary
+      field: vid
+      length: 32
+      migrated: true
+    -
+      plugin: forum_vocabulary
+      machine_name: forums
+  label: name
+  name: name
+  description: description
+  hierarchy: hierarchy
+  weight: weight
+_core:
+  default_config_hash: __350LEFuTDsxeJa3YqZ526NBPwWK0c_ixfxOnrlXHw

+ 31 - 0
sites/default/config/sync/_migrate_plus.migration.d7_taxonomy_vocabulary_showroom.yml

@@ -0,0 +1,31 @@
+id: d7_taxonomy_vocabulary_showroom
+label: 'Taxonomy vocabularies Showroom'
+migration_group: d7_materio
+migration_tags:
+  - 'Drupal 7'
+  - Configuration
+  - Materio
+source:
+  plugin: d7_taxonomy_vocabulary
+  bundle: showroom
+destination:
+  plugin: 'entity:taxonomy_vocabulary'
+process:
+  vid:
+    -
+      plugin: make_unique_entity_field
+      source: machine_name
+      entity_type: taxonomy_vocabulary
+      field: vid
+      length: 32
+      migrated: true
+    -
+      plugin: forum_vocabulary
+      machine_name: forums
+  label: name
+  name: name
+  description: description
+  hierarchy: hierarchy
+  weight: weight
+_core:
+  default_config_hash: 2pev_DVpH1J2EYffNcV_yHndrwOXWGwZiCVEnEHXsjM

+ 31 - 0
sites/default/config/sync/_migrate_plus.migration.d7_taxonomy_vocabulary_tags.yml

@@ -0,0 +1,31 @@
+id: d7_taxonomy_vocabulary_tags
+label: 'Taxonomy vocabularies Tags'
+migration_group: d7_materio
+migration_tags:
+  - 'Drupal 7'
+  - Configuration
+  - Materio
+source:
+  plugin: d7_taxonomy_vocabulary
+  bundle: tag_libres
+destination:
+  plugin: 'entity:taxonomy_vocabulary'
+process:
+  vid:
+    -
+      plugin: make_unique_entity_field
+      source: machine_name
+      entity_type: taxonomy_vocabulary
+      field: vid
+      length: 32
+      migrated: true
+    -
+      plugin: forum_vocabulary
+      machine_name: forums
+  label: name
+  name: name
+  description: description
+  hierarchy: hierarchy
+  weight: weight
+_core:
+  default_config_hash: c5tuVIMWrgoujmeU2BXonEhZZxQldMjMTL2gVlgRGdc

+ 31 - 0
sites/default/config/sync/_migrate_plus.migration.d7_taxonomy_vocabulary_thesaurus.yml

@@ -0,0 +1,31 @@
+id: d7_taxonomy_vocabulary_thesaurus
+label: 'Taxonomy vocabularies Thesaurus'
+migration_group: d7_materio
+migration_tags:
+  - 'Drupal 7'
+  - Configuration
+  - Materio
+source:
+  plugin: d7_taxonomy_vocabulary
+  bundle: onthologie
+destination:
+  plugin: 'entity:taxonomy_vocabulary'
+process:
+  vid:
+    -
+      plugin: make_unique_entity_field
+      source: machine_name
+      entity_type: taxonomy_vocabulary
+      field: vid
+      length: 32
+      migrated: true
+    -
+      plugin: forum_vocabulary
+      machine_name: forums
+  label: name
+  name: name
+  description: description
+  hierarchy: hierarchy
+  weight: weight
+_core:
+  default_config_hash: bDvFB8Laj__CwvBNVDYjkL_3s6QpGUNwONYF-iyj770

+ 23 - 0
sites/default/config/sync/addtoany.settings.yml

@@ -0,0 +1,23 @@
+buttons_size: 20
+additional_html: "<a class=\"a2a_button_facebook\"></a>\r\n<a class=\"a2a_button_twitter\"></a>\r\n<a class=\"a2a_button_reddit\"></a>\r\n<a class=\"a2a_button_email\"></a>\r\n"
+additional_css: '.a2a_svg { border-radius: 0 !important; }'
+additional_js: "a2a_config.icon_color = \"#fff,#1A1A1A\";\r\na2a_config.templates.email = {\r\n    subject: \"Encyclopédie de la parole - ${title}\",\r\n    body: \"Encyclopédie de la parole\\n${link}\"\r\n};"
+universal_button: none
+custom_universal_button: ''
+universal_button_placement: before
+no_3p: false
+langcode: fr
+entities:
+  composition: 0
+  chutier: 0
+  file: 0
+  node: 1
+  redirect: 0
+  search_api_task: 0
+  taxonomy_term: 0
+  user: 0
+  workflow_transition: 0
+  workflow_scheduled_transition: 0
+  menu_link_content: 0
+_core:
+  default_config_hash: soEOIhhlW4B8FVq_LOYh7TxASKdZ9gluD8ceL5Z7uLk

+ 9 - 0
sites/default/config/sync/adminimal_theme.settings.yml

@@ -0,0 +1,9 @@
+features:
+  node_user_picture: false
+  comment_user_picture: true
+  comment_user_verification: true
+  favicon: 1
+logo:
+  use_default: 1
+_core:
+  default_config_hash: Pawk313dlmTas62LfDspeCxjQbNtOVl3_Uyi3REvu1A

+ 4 - 0
sites/default/config/sync/autologout.role.admin.yml

@@ -0,0 +1,4 @@
+enabled: true
+timeout: 172800
+_core:
+  default_config_hash: Oe-fB2enOwHHacGGf5HLP31RdU9bEsQZ19YQ6AS8pjw

+ 4 - 0
sites/default/config/sync/autologout.role.authenticated.yml

@@ -0,0 +1,4 @@
+enabled: false
+timeout: null
+_core:
+  default_config_hash: kxyrVqZ2uewqW3PUFj1ZDShD6MUbz5Yqnl3xyO3VXos

+ 4 - 0
sites/default/config/sync/autologout.role.root.yml

@@ -0,0 +1,4 @@
+enabled: true
+timeout: 172800
+_core:
+  default_config_hash: Oe-fB2enOwHHacGGf5HLP31RdU9bEsQZ19YQ6AS8pjw

+ 4 - 0
sites/default/config/sync/autologout.role.user.yml

@@ -0,0 +1,4 @@
+enabled: false
+timeout: null
+_core:
+  default_config_hash: kxyrVqZ2uewqW3PUFj1ZDShD6MUbz5Yqnl3xyO3VXos

+ 16 - 0
sites/default/config/sync/autologout.settings.yml

@@ -0,0 +1,16 @@
+timeout: 1800
+max_timeout: 172800
+padding: 20
+role_logout: false
+redirect_url: /
+no_dialog: true
+message: 'Your session is about to expire. Do you want to reset it?'
+inactivity_message: 'You have been logged out due to inactivity.'
+enforce_admin: false
+jstimer_format: '%hours%:%mins%:%secs%'
+jstimer_js_load_option: false
+use_alt_logout_method: false
+use_watchdog: true
+langcode: fr
+_core:
+  default_config_hash: m2pxH8tc4KIlh127R5TYim65W7NBY9gpYQnIXlvDp0M

+ 23 - 0
sites/default/config/sync/basic.settings.yml

@@ -0,0 +1,23 @@
+browser_sync:
+  enabled: false
+  host: localhost
+  port: 3000
+clear_registry: false
+ie_enabled: false
+ie_enabled_versions:
+  ie8: false
+  ie9: false
+langcode: fr
+features:
+  node_user_picture: false
+  comment_user_picture: true
+  comment_user_verification: true
+  favicon: true
+logo:
+  use_default: false
+  path: ''
+favicon:
+  use_default: false
+  path: ''
+_core:
+  default_config_hash: mZYodhyp0QyNLZuDuZzbHDHQU4Hzg4WeX61Fbu3e1qg

+ 63 - 0
sites/default/config/sync/better_messages.settings.yml

@@ -0,0 +1,63 @@
+position: tr
+vertical: 50
+horizontal: 5
+fixed: 1
+width: 600px
+autoclose: 4
+opendelay: 0.3
+disable_autoclose: 1
+show_countdown: 0
+hover_autoclose: 1
+popin:
+  effect: fadeIn
+  duration: normal
+popout:
+  effect: fadeIn
+  duration: fast
+jquery_ui:
+  draggable: 1
+  resizable: 1
+visibility:
+  message_type:
+    id: message_type
+    message_types: {  }
+    negate: false
+    context_mapping:
+      better_messages: '@better_messages.context:better_messages'
+  'entity_bundle:node':
+    id: 'entity_bundle:node'
+    bundles: {  }
+    negate: false
+    context_mapping:
+      node: '@node.node_route_context:node'
+  domain:
+    id: domain
+    domains: {  }
+    negate: false
+    context_mapping:
+      'entity:domain': '@domain.current_domain_context:entity:domain'
+  language:
+    id: language
+    langcodes: {  }
+    negate: false
+    context_mapping:
+      language: '@language.current_language_context:language_interface'
+  node_type:
+    id: node_type
+    bundles: {  }
+    negate: false
+    context_mapping:
+      node: '@node.node_route_context:node'
+  request_path:
+    id: request_path
+    pages: ''
+    negate: false
+  user_role:
+    id: user_role
+    roles: {  }
+    negate: false
+    context_mapping:
+      user: '@user.current_user_context:current_user'
+langcode: fr
+_core:
+  default_config_hash: a9lef__v03qMyTPkqoJ5HrJ89C7iZDTkvmfWYWe7iL0

+ 22 - 0
sites/default/config/sync/block.block.adminimal_theme_breadcrumbs.yml

@@ -0,0 +1,22 @@
+uuid: e87279bd-129c-4d21-ab47-e65725cea7dd
+langcode: en
+status: true
+dependencies:
+  module:
+    - system
+  theme:
+    - adminimal_theme
+_core:
+  default_config_hash: 8by5KRsb7ZpmjHj0ms1d7xAG_xH54AWsOX6spDLJ59U
+id: adminimal_theme_breadcrumbs
+theme: adminimal_theme
+region: breadcrumb
+weight: 0
+provider: null
+plugin: system_breadcrumb_block
+settings:
+  id: system_breadcrumb_block
+  label: Breadcrumbs
+  provider: system
+  label_display: '0'
+visibility: {  }

+ 22 - 0
sites/default/config/sync/block.block.adminimal_theme_content.yml

@@ -0,0 +1,22 @@
+uuid: ac411d7b-fd31-4d97-b96f-0a74c66d18c0
+langcode: en
+status: true
+dependencies:
+  module:
+    - system
+  theme:
+    - adminimal_theme
+_core:
+  default_config_hash: 80N66GdzEvwqi1m-_GZ-ulkk8AJG9beoXcZ4-pMVKjI
+id: adminimal_theme_content
+theme: adminimal_theme
+region: content
+weight: 0
+provider: null
+plugin: system_main_block
+settings:
+  id: system_main_block
+  label: 'Main page content'
+  provider: system
+  label_display: '0'
+visibility: {  }

+ 22 - 0
sites/default/config/sync/block.block.adminimal_theme_help.yml

@@ -0,0 +1,22 @@
+uuid: af7eb2f8-8d22-4f50-bc9d-1f361f4d5314
+langcode: en
+status: true
+dependencies:
+  module:
+    - help
+  theme:
+    - adminimal_theme
+_core:
+  default_config_hash: PfozGAnWQRNy00G6KEnZjIu9b2lGuWg-j-GT_-Ejglc
+id: adminimal_theme_help
+theme: adminimal_theme
+region: help
+weight: 0
+provider: null
+plugin: help_block
+settings:
+  id: help_block
+  label: Help
+  provider: help
+  label_display: '0'
+visibility: {  }

+ 20 - 0
sites/default/config/sync/block.block.adminimal_theme_local_actions.yml

@@ -0,0 +1,20 @@
+uuid: fc91517b-1dbd-44d4-b074-02d0295d93af
+langcode: en
+status: true
+dependencies:
+  theme:
+    - adminimal_theme
+_core:
+  default_config_hash: ik4PTMlBD0MWansnSMpSXq5SUlWRJ1IVVt6C7AIbQmc
+id: adminimal_theme_local_actions
+theme: adminimal_theme
+region: content
+weight: -10
+provider: null
+plugin: local_actions_block
+settings:
+  id: local_actions_block
+  label: 'Primary admin actions'
+  provider: core
+  label_display: '0'
+visibility: {  }

+ 22 - 0
sites/default/config/sync/block.block.adminimal_theme_login.yml

@@ -0,0 +1,22 @@
+uuid: 00e949ca-6226-408c-99b4-51eb5cce1ae8
+langcode: en
+status: true
+dependencies:
+  module:
+    - user
+  theme:
+    - adminimal_theme
+_core:
+  default_config_hash: 862sIulDdHmF0vBU1s2j2_a_CwkxursrL0pIrMDzzOg
+id: adminimal_theme_login
+theme: adminimal_theme
+region: content
+weight: 10
+provider: null
+plugin: user_login_block
+settings:
+  id: user_login_block
+  label: 'User login'
+  provider: user
+  label_display: visible
+visibility: {  }

+ 22 - 0
sites/default/config/sync/block.block.adminimal_theme_messages.yml

@@ -0,0 +1,22 @@
+uuid: 32029ead-92c4-47d5-9f34-29989237c458
+langcode: en
+status: true
+dependencies:
+  module:
+    - system
+  theme:
+    - adminimal_theme
+_core:
+  default_config_hash: YqKTtloWJ8FjLtfVNfrHaK6kVgxT67lC1cJ3j6i6WLo
+id: adminimal_theme_messages
+theme: adminimal_theme
+region: highlighted
+weight: 0
+provider: null
+plugin: system_messages_block
+settings:
+  id: system_messages_block
+  label: 'Status messages'
+  provider: system
+  label_display: '0'
+visibility: {  }

+ 20 - 0
sites/default/config/sync/block.block.adminimal_theme_page_title.yml

@@ -0,0 +1,20 @@
+uuid: 239e4199-5465-451a-ade4-230f0e9c1a94
+langcode: en
+status: true
+dependencies:
+  theme:
+    - adminimal_theme
+_core:
+  default_config_hash: Z3nlZUh2mSJP3apMrJWt-duS-aLyP79rcfu_0wpPmDs
+id: adminimal_theme_page_title
+theme: adminimal_theme
+region: header
+weight: -30
+provider: null
+plugin: page_title_block
+settings:
+  id: page_title_block
+  label: 'Page title'
+  provider: core
+  label_display: '0'
+visibility: {  }

+ 22 - 0
sites/default/config/sync/block.block.adminimal_theme_primary_local_tasks.yml

@@ -0,0 +1,22 @@
+uuid: cc6bfeb2-e3fe-42c2-96af-12c45092e478
+langcode: en
+status: true
+dependencies:
+  theme:
+    - adminimal_theme
+_core:
+  default_config_hash: CyX_aDKAka2_eihevNLscCHDYrzDgIqwWzFVEFRKIww
+id: adminimal_theme_primary_local_tasks
+theme: adminimal_theme
+region: header
+weight: 0
+provider: null
+plugin: local_tasks_block
+settings:
+  id: local_tasks_block
+  label: 'Primary tabs'
+  provider: core
+  label_display: '0'
+  primary: true
+  secondary: false
+visibility: {  }

+ 22 - 0
sites/default/config/sync/block.block.adminimal_theme_secondary_local_tasks.yml

@@ -0,0 +1,22 @@
+uuid: e589835e-0479-452c-9686-46a63bae4fdc
+langcode: en
+status: true
+dependencies:
+  theme:
+    - adminimal_theme
+_core:
+  default_config_hash: DJ7Om1C2xWr2GI8CjZaZtyWpP-0S3hRR3oROZl1oesc
+id: adminimal_theme_secondary_local_tasks
+theme: adminimal_theme
+region: pre_content
+weight: 0
+provider: null
+plugin: local_tasks_block
+settings:
+  id: local_tasks_block
+  label: 'Secondary tabs'
+  provider: core
+  label_display: '0'
+  primary: false
+  secondary: true
+visibility: {  }

+ 11 - 0
sites/default/config/sync/config_devel.settings.yml

@@ -0,0 +1,11 @@
+auto_import:
+  -
+    filename: modules/custom/materio_migrate/config/install/migrate_plus.migration_group.d7_materio.yml
+    hash: ''
+  -
+    filename: modules/custom/materio_migrate/config/install/migrate_plus.migration.d7_node_entity_translation_materiau.yml
+    hash: ''
+auto_export: {  }
+langcode: fr
+_core:
+  default_config_hash: AF4cxceuiw6dhwOrF9ZgpyKC4xsWt4Yhvohb3WNgn8o

+ 7 - 0
sites/default/config/sync/config_ignore.settings.yml

@@ -0,0 +1,7 @@
+ignored_config_entities:
+  0: system.performance
+  2: devel.settings
+  4: piwik.settings
+langcode: fr
+_core:
+  default_config_hash: IullHNodatpZ32WixustQwIfzdZVNNBx8cz0-RYLSa8

+ 13 - 0
sites/default/config/sync/contact.form.personal.yml

@@ -0,0 +1,13 @@
+uuid: dd6fca1d-1ffe-4b5a-b984-000111a96f21
+langcode: en
+status: true
+dependencies: {  }
+_core:
+  default_config_hash: jonvgt3CkUM2eMLTFwWfHileWWDC4YtXCuIlCahTk_I
+id: personal
+label: 'Personal contact form'
+recipients: {  }
+reply: ''
+weight: 0
+message: 'Your message has been sent.'
+redirect: ''

+ 7 - 0
sites/default/config/sync/contact.settings.yml

@@ -0,0 +1,7 @@
+default_form: feedback
+flood:
+  limit: 5
+  interval: 3600
+user_default_enabled: true
+_core:
+  default_config_hash: U69DBeuvXuNVOC15rVNaBjDPK2fWFbo9v4takdYSSO8

+ 50 - 0
sites/default/config/sync/content_lock.settings.yml

@@ -0,0 +1,50 @@
+verbose: 0
+types:
+  contact_message: {  }
+  file:
+    '*': '*'
+  node:
+    '*': '*'
+  redirect: {  }
+  search_api_task: {  }
+  taxonomy_term:
+    '*': '*'
+  user: {  }
+  workflow_transition: {  }
+  workflow_scheduled_transition: {  }
+  menu_link_content: {  }
+types_translation_lock: {  }
+types_js_lock: {  }
+form_op_lock:
+  contact_message:
+    mode: 0
+    values: {  }
+  file:
+    mode: null
+    values: {  }
+  node:
+    mode: 0
+    values: {  }
+  redirect:
+    mode: 0
+    values: {  }
+  search_api_task:
+    mode: null
+    values: {  }
+  taxonomy_term:
+    mode: 0
+    values: {  }
+  user:
+    mode: 0
+    values: {  }
+  workflow_transition:
+    mode: 0
+    values: {  }
+  workflow_scheduled_transition:
+    mode: 0
+    values: {  }
+  menu_link_content:
+    mode: 0
+    values: {  }
+_core:
+  default_config_hash: NDkHK4I7-fpBSVP6pPMg_MLvHZcjgriRzCSGA4vnpi8

+ 4 - 0
sites/default/config/sync/content_lock_timeout.settings.yml

@@ -0,0 +1,4 @@
+content_lock_timeout_minutes: '30'
+content_lock_timeout_on_edit: 0
+_core:
+  default_config_hash: X-PFa6GhUhVBudfnAsBqaWn_qhxq0xTtg76HCEoibeQ

+ 18 - 0
sites/default/config/sync/core.base_field_override.menu_link_content.menu_link_content.changed.yml

@@ -0,0 +1,18 @@
+uuid: 4e31cb07-6b53-4a72-848a-7968cceee6e9
+langcode: en
+status: true
+dependencies:
+  module:
+    - menu_link_content
+id: menu_link_content.menu_link_content.changed
+field_name: changed
+entity_type: menu_link_content
+bundle: menu_link_content
+label: Changed
+description: 'The time that the menu link was last edited.'
+required: false
+translatable: false
+default_value: {  }
+default_value_callback: ''
+settings: {  }
+field_type: changed

+ 18 - 0
sites/default/config/sync/core.base_field_override.menu_link_content.menu_link_content.description.yml

@@ -0,0 +1,18 @@
+uuid: d7760c7c-62fd-4641-9410-a162c93068ef
+langcode: en
+status: true
+dependencies:
+  module:
+    - menu_link_content
+id: menu_link_content.menu_link_content.description
+field_name: description
+entity_type: menu_link_content
+bundle: menu_link_content
+label: Description
+description: 'Shown when hovering over the menu link.'
+required: false
+translatable: false
+default_value: {  }
+default_value_callback: ''
+settings: {  }
+field_type: string

+ 18 - 0
sites/default/config/sync/core.base_field_override.menu_link_content.menu_link_content.title.yml

@@ -0,0 +1,18 @@
+uuid: 20f7024b-4aa3-4973-9a6a-4d17dec08060
+langcode: en
+status: true
+dependencies:
+  module:
+    - menu_link_content
+id: menu_link_content.menu_link_content.title
+field_name: title
+entity_type: menu_link_content
+bundle: menu_link_content
+label: 'Menu link title'
+description: 'The text to be used for this link in the menu.'
+required: true
+translatable: false
+default_value: {  }
+default_value_callback: ''
+settings: {  }
+field_type: string

+ 22 - 0
sites/default/config/sync/core.base_field_override.node.breve.promote.yml

@@ -0,0 +1,22 @@
+uuid: 36b77032-7b22-49b4-8e00-6a4c429b3658
+langcode: en
+status: true
+dependencies:
+  config:
+    - node.type.breve
+id: node.breve.promote
+field_name: promote
+entity_type: node
+bundle: breve
+label: 'Promoted to front page'
+description: ''
+required: false
+translatable: true
+default_value:
+  -
+    value: 0
+default_value_callback: ''
+settings:
+  on_label: 'On'
+  off_label: 'Off'
+field_type: boolean

+ 18 - 0
sites/default/config/sync/core.base_field_override.node.materiau.changed.yml

@@ -0,0 +1,18 @@
+uuid: cf06279e-b270-4774-9ee2-a33d9c6941b8
+langcode: en
+status: true
+dependencies:
+  config:
+    - node.type.materiau
+id: node.materiau.changed
+field_name: changed
+entity_type: node
+bundle: materiau
+label: Changed
+description: 'The time that the node was last edited.'
+required: false
+translatable: false
+default_value: {  }
+default_value_callback: ''
+settings: {  }
+field_type: changed

+ 18 - 0
sites/default/config/sync/core.base_field_override.node.materiau.created.yml

@@ -0,0 +1,18 @@
+uuid: 4b937bb2-12f0-45f9-a4ce-1888bbd450c9
+langcode: en
+status: true
+dependencies:
+  config:
+    - node.type.materiau
+id: node.materiau.created
+field_name: created
+entity_type: node
+bundle: materiau
+label: 'Authored on'
+description: 'The time that the node was created.'
+required: false
+translatable: false
+default_value: {  }
+default_value_callback: ''
+settings: {  }
+field_type: created

+ 20 - 0
sites/default/config/sync/core.base_field_override.node.materiau.menu_link.yml

@@ -0,0 +1,20 @@
+uuid: 2ebbda25-8552-4c3c-a936-32957d262663
+langcode: en
+status: true
+dependencies:
+  config:
+    - node.type.materiau
+id: node.materiau.menu_link
+field_name: menu_link
+entity_type: node
+bundle: materiau
+label: 'Menu link'
+description: 'Computed menu link for the node (only available during node saving).'
+required: false
+translatable: false
+default_value: {  }
+default_value_callback: ''
+settings:
+  handler: default
+  handler_settings: {  }
+field_type: entity_reference

+ 20 - 0
sites/default/config/sync/core.base_field_override.node.materiau.path.yml

@@ -0,0 +1,20 @@
+uuid: 7cfd4964-b165-481f-85c8-770b7edbaaca
+langcode: en
+status: true
+dependencies:
+  config:
+    - node.type.materiau
+  module:
+    - path
+id: node.materiau.path
+field_name: path
+entity_type: node
+bundle: materiau
+label: 'URL alias'
+description: ''
+required: false
+translatable: false
+default_value: {  }
+default_value_callback: ''
+settings: {  }
+field_type: path

+ 22 - 0
sites/default/config/sync/core.base_field_override.node.materiau.promote.yml

@@ -0,0 +1,22 @@
+uuid: 8126c211-1a96-4bc4-bc27-1931a4c90f7e
+langcode: en
+status: true
+dependencies:
+  config:
+    - node.type.materiau
+id: node.materiau.promote
+field_name: promote
+entity_type: node
+bundle: materiau
+label: 'Promoted to front page'
+description: ''
+required: false
+translatable: false
+default_value:
+  -
+    value: 0
+default_value_callback: ''
+settings:
+  on_label: 'On'
+  off_label: 'Off'
+field_type: boolean

+ 22 - 0
sites/default/config/sync/core.base_field_override.node.materiau.status.yml

@@ -0,0 +1,22 @@
+uuid: 73bf3d21-6f52-4db7-8e9d-bdecd4bc4cbc
+langcode: en
+status: true
+dependencies:
+  config:
+    - node.type.materiau
+id: node.materiau.status
+field_name: status
+entity_type: node
+bundle: materiau
+label: Published
+description: ''
+required: false
+translatable: false
+default_value:
+  -
+    value: 1
+default_value_callback: ''
+settings:
+  on_label: 'On'
+  off_label: 'Off'
+field_type: boolean

+ 22 - 0
sites/default/config/sync/core.base_field_override.node.materiau.sticky.yml

@@ -0,0 +1,22 @@
+uuid: cd2a13a7-09f8-4946-ac0a-edbd002c610e
+langcode: en
+status: true
+dependencies:
+  config:
+    - node.type.materiau
+id: node.materiau.sticky
+field_name: sticky
+entity_type: node
+bundle: materiau
+label: 'Sticky at top of lists'
+description: ''
+required: false
+translatable: false
+default_value:
+  -
+    value: 0
+default_value_callback: ''
+settings:
+  on_label: 'On'
+  off_label: 'Off'
+field_type: boolean

+ 18 - 0
sites/default/config/sync/core.base_field_override.node.materiau.title.yml

@@ -0,0 +1,18 @@
+uuid: 5bf91aba-5f6c-4add-b970-acd940184c4d
+langcode: en
+status: true
+dependencies:
+  config:
+    - node.type.materiau
+id: node.materiau.title
+field_name: title
+entity_type: node
+bundle: materiau
+label: Title
+description: ''
+required: true
+translatable: false
+default_value: {  }
+default_value_callback: ''
+settings: {  }
+field_type: string

+ 20 - 0
sites/default/config/sync/core.base_field_override.node.materiau.uid.yml

@@ -0,0 +1,20 @@
+uuid: 4a8cac0b-37c8-4c3a-b4db-dfdd48af590f
+langcode: en
+status: true
+dependencies:
+  config:
+    - node.type.materiau
+id: node.materiau.uid
+field_name: uid
+entity_type: node
+bundle: materiau
+label: 'Authored by'
+description: 'The username of the content author.'
+required: false
+translatable: false
+default_value: {  }
+default_value_callback: 'Drupal\node\Entity\Node::getCurrentUserId'
+settings:
+  handler: default
+  handler_settings: {  }
+field_type: entity_reference

+ 18 - 0
sites/default/config/sync/core.base_field_override.node.static.changed.yml

@@ -0,0 +1,18 @@
+uuid: 45803188-a7ce-4a78-b9a5-5a57bc22c05b
+langcode: en
+status: true
+dependencies:
+  config:
+    - node.type.static
+id: node.static.changed
+field_name: changed
+entity_type: node
+bundle: static
+label: Changed
+description: 'The time that the node was last edited.'
+required: false
+translatable: false
+default_value: {  }
+default_value_callback: ''
+settings: {  }
+field_type: changed

+ 18 - 0
sites/default/config/sync/core.base_field_override.node.static.created.yml

@@ -0,0 +1,18 @@
+uuid: d83066ec-c802-47c1-ab20-659a961fc54c
+langcode: en
+status: true
+dependencies:
+  config:
+    - node.type.static
+id: node.static.created
+field_name: created
+entity_type: node
+bundle: static
+label: 'Authored on'
+description: 'The time that the node was created.'
+required: false
+translatable: false
+default_value: {  }
+default_value_callback: ''
+settings: {  }
+field_type: created

+ 20 - 0
sites/default/config/sync/core.base_field_override.node.static.menu_link.yml

@@ -0,0 +1,20 @@
+uuid: 40d82f7a-a907-4725-897e-ffb9d3e26a1f
+langcode: en
+status: true
+dependencies:
+  config:
+    - node.type.static
+id: node.static.menu_link
+field_name: menu_link
+entity_type: node
+bundle: static
+label: 'Menu link'
+description: 'Computed menu link for the node (only available during node saving).'
+required: false
+translatable: false
+default_value: {  }
+default_value_callback: ''
+settings:
+  handler: default
+  handler_settings: {  }
+field_type: entity_reference

+ 20 - 0
sites/default/config/sync/core.base_field_override.node.static.path.yml

@@ -0,0 +1,20 @@
+uuid: adc8dab2-306a-4c9e-9e6a-84659e6478d0
+langcode: en
+status: true
+dependencies:
+  config:
+    - node.type.static
+  module:
+    - path
+id: node.static.path
+field_name: path
+entity_type: node
+bundle: static
+label: 'URL alias'
+description: ''
+required: false
+translatable: false
+default_value: {  }
+default_value_callback: ''
+settings: {  }
+field_type: path

+ 24 - 0
sites/default/config/sync/core.base_field_override.node.static.promote.yml

@@ -0,0 +1,24 @@
+uuid: ed60591e-6224-4b9e-9cc8-64d8f08e82de
+langcode: en
+status: true
+dependencies:
+  config:
+    - node.type.static
+_core:
+  default_config_hash: 7TrRPYNkHBYk7tGEoz-ettea8VXXmk8Jur5I-OSLPT8
+id: node.static.promote
+field_name: promote
+entity_type: node
+bundle: static
+label: 'Promoted to front page'
+description: ''
+required: false
+translatable: false
+default_value:
+  -
+    value: 0
+default_value_callback: ''
+settings:
+  on_label: 'On'
+  off_label: 'Off'
+field_type: boolean

+ 22 - 0
sites/default/config/sync/core.base_field_override.node.static.status.yml

@@ -0,0 +1,22 @@
+uuid: 886cc1cf-0c3c-4ee4-987b-0f5eb7deb960
+langcode: en
+status: true
+dependencies:
+  config:
+    - node.type.static
+id: node.static.status
+field_name: status
+entity_type: node
+bundle: static
+label: Published
+description: ''
+required: false
+translatable: false
+default_value:
+  -
+    value: 1
+default_value_callback: ''
+settings:
+  on_label: 'On'
+  off_label: 'Off'
+field_type: boolean

+ 22 - 0
sites/default/config/sync/core.base_field_override.node.static.sticky.yml

@@ -0,0 +1,22 @@
+uuid: 93b65ef7-355e-4973-b74e-5c0bbf0297d5
+langcode: en
+status: true
+dependencies:
+  config:
+    - node.type.static
+id: node.static.sticky
+field_name: sticky
+entity_type: node
+bundle: static
+label: 'Sticky at top of lists'
+description: ''
+required: false
+translatable: false
+default_value:
+  -
+    value: 0
+default_value_callback: ''
+settings:
+  on_label: 'On'
+  off_label: 'Off'
+field_type: boolean

+ 18 - 0
sites/default/config/sync/core.base_field_override.node.static.title.yml

@@ -0,0 +1,18 @@
+uuid: 58b0c5e9-222f-4376-a351-73f06105fca2
+langcode: en
+status: true
+dependencies:
+  config:
+    - node.type.static
+id: node.static.title
+field_name: title
+entity_type: node
+bundle: static
+label: Title
+description: ''
+required: true
+translatable: false
+default_value: {  }
+default_value_callback: ''
+settings: {  }
+field_type: string

+ 20 - 0
sites/default/config/sync/core.base_field_override.node.static.uid.yml

@@ -0,0 +1,20 @@
+uuid: 43c109dd-fd5a-4fb3-b8ce-a108d0f0f7f4
+langcode: en
+status: true
+dependencies:
+  config:
+    - node.type.static
+id: node.static.uid
+field_name: uid
+entity_type: node
+bundle: static
+label: 'Authored by'
+description: 'The username of the content author.'
+required: false
+translatable: false
+default_value: {  }
+default_value_callback: 'Drupal\node\Entity\Node::getCurrentUserId'
+settings:
+  handler: default
+  handler_settings: {  }
+field_type: entity_reference

+ 18 - 0
sites/default/config/sync/core.base_field_override.taxonomy_term.showroom.synonyms.yml

@@ -0,0 +1,18 @@
+uuid: 637fb6b7-a2d9-4088-8993-01282a593ccc
+langcode: en
+status: true
+dependencies:
+  config:
+    - taxonomy.vocabulary.showroom
+id: taxonomy_term.showroom.synonyms
+field_name: synonyms
+entity_type: taxonomy_term
+bundle: showroom
+label: 'Entity synonyms'
+description: 'A list of known entity synonyms.'
+required: false
+translatable: true
+default_value: {  }
+default_value_callback: ''
+settings: {  }
+field_type: string

+ 18 - 0
sites/default/config/sync/core.base_field_override.taxonomy_term.tags.synonyms.yml

@@ -0,0 +1,18 @@
+uuid: b6b80eab-190d-43ee-879f-5e710ae63b9d
+langcode: en
+status: true
+dependencies:
+  config:
+    - taxonomy.vocabulary.tags
+id: taxonomy_term.tags.synonyms
+field_name: synonyms
+entity_type: taxonomy_term
+bundle: tags
+label: 'Entity synonyms'
+description: 'A list of known entity synonyms.'
+required: false
+translatable: true
+default_value: {  }
+default_value_callback: ''
+settings: {  }
+field_type: string

+ 18 - 0
sites/default/config/sync/core.base_field_override.taxonomy_term.thesaurus.synonyms.yml

@@ -0,0 +1,18 @@
+uuid: 13195f43-bff2-4cf0-9dbc-a3d6a2aef5ea
+langcode: en
+status: true
+dependencies:
+  config:
+    - taxonomy.vocabulary.thesaurus
+id: taxonomy_term.thesaurus.synonyms
+field_name: synonyms
+entity_type: taxonomy_term
+bundle: thesaurus
+label: 'Entity synonyms'
+description: 'A list of known entity synonyms.'
+required: false
+translatable: true
+default_value: {  }
+default_value_callback: ''
+settings: {  }
+field_type: string

+ 18 - 0
sites/default/config/sync/core.base_field_override.user.user.changed.yml

@@ -0,0 +1,18 @@
+uuid: 4850be56-1936-4809-82d7-e9e11dbcba4f
+langcode: en
+status: true
+dependencies:
+  module:
+    - user
+id: user.user.changed
+field_name: changed
+entity_type: user
+bundle: user
+label: Changed
+description: 'The time that the user was last edited.'
+required: false
+translatable: false
+default_value: {  }
+default_value_callback: ''
+settings: {  }
+field_type: changed

+ 19 - 0
sites/default/config/sync/core.base_field_override.user.user.path.yml

@@ -0,0 +1,19 @@
+uuid: a1a097e0-ff19-4608-9534-dbe3932570d6
+langcode: en
+status: true
+dependencies:
+  module:
+    - path
+    - user
+id: user.user.path
+field_name: path
+entity_type: user
+bundle: user
+label: 'URL alias'
+description: ''
+required: false
+translatable: false
+default_value: {  }
+default_value_callback: ''
+settings: {  }
+field_type: path

+ 10 - 0
sites/default/config/sync/core.date_format.fallback.yml

@@ -0,0 +1,10 @@
+uuid: 19828591-ddc7-465d-8dfb-57be2d39c69e
+langcode: en
+status: true
+dependencies: {  }
+_core:
+  default_config_hash: 7klS5IWXrwzVaPpYZFAs6wcx8U2FF1X73OfrtTsvuvE
+id: fallback
+label: 'Fallback date format'
+locked: true
+pattern: 'D, m/d/Y - H:i'

+ 10 - 0
sites/default/config/sync/core.date_format.html_date.yml

@@ -0,0 +1,10 @@
+uuid: 9a72bcdb-cdd1-43b8-bf31-4e12b9b93bef
+langcode: en
+status: true
+dependencies: {  }
+_core:
+  default_config_hash: EOQltUQPmgc6UQ2rcJ4Xi_leCEJj5ui0TR-12duS-Tk
+id: html_date
+label: 'HTML Date'
+locked: true
+pattern: Y-m-d

+ 10 - 0
sites/default/config/sync/core.date_format.html_datetime.yml

@@ -0,0 +1,10 @@
+uuid: c424ab27-78da-4ea3-9f00-bbe76e981795
+langcode: en
+status: true
+dependencies: {  }
+_core:
+  default_config_hash: jxfClwZIRXIdcvMrE--WkcZxDGUVoOIE3Sm2NRZlFuE
+id: html_datetime
+label: 'HTML Datetime'
+locked: true
+pattern: 'Y-m-d\TH:i:sO'

+ 10 - 0
sites/default/config/sync/core.date_format.html_month.yml

@@ -0,0 +1,10 @@
+uuid: 0fe62429-8c97-48c3-8e40-ea397e76715f
+langcode: en
+status: true
+dependencies: {  }
+_core:
+  default_config_hash: Z7KuCUwM_WdTNvLcoltuX3_8d-s-8FZkTN6KgNwF0eM
+id: html_month
+label: 'HTML Month'
+locked: true
+pattern: Y-m

+ 10 - 0
sites/default/config/sync/core.date_format.html_time.yml

@@ -0,0 +1,10 @@
+uuid: bd3557dc-3830-476e-8eab-c3462f1c9ee4
+langcode: en
+status: true
+dependencies: {  }
+_core:
+  default_config_hash: M7yqicYkU36hRy5p9drAaGBBihhUD1OyujFrAaQ93ZE
+id: html_time
+label: 'HTML Time'
+locked: true
+pattern: 'H:i:s'

+ 10 - 0
sites/default/config/sync/core.date_format.html_week.yml

@@ -0,0 +1,10 @@
+uuid: cdec57f3-70a6-4d61-a238-132f08826a56
+langcode: en
+status: true
+dependencies: {  }
+_core:
+  default_config_hash: wKD4WsoV_wFgv2vgI4mcAAFSIzrye17ykzdwrnApkfY
+id: html_week
+label: 'HTML Week'
+locked: true
+pattern: Y-\WW

+ 10 - 0
sites/default/config/sync/core.date_format.html_year.yml

@@ -0,0 +1,10 @@
+uuid: 625fffc5-5f73-4557-b165-e70af45e4254
+langcode: en
+status: true
+dependencies: {  }
+_core:
+  default_config_hash: OjekiQuX9RbVQ2_8jOHBL94RgYLePqX7wpfNGgcQzrk
+id: html_year
+label: 'HTML Year'
+locked: true
+pattern: 'Y'

+ 10 - 0
sites/default/config/sync/core.date_format.html_yearless_date.yml

@@ -0,0 +1,10 @@
+uuid: 16abed31-c6bd-42f4-8c69-2c19dfb72d8f
+langcode: en
+status: true
+dependencies: {  }
+_core:
+  default_config_hash: 5VpawMrKPEPCkoO4YpPa0TDFO2dgiIHfTziJtwlmUxc
+id: html_yearless_date
+label: 'HTML Yearless date'
+locked: true
+pattern: m-d

+ 10 - 0
sites/default/config/sync/core.date_format.long.yml

@@ -0,0 +1,10 @@
+uuid: cce08dca-94dd-4f78-a1fe-a4d70339f5a6
+langcode: en
+status: true
+dependencies: {  }
+_core:
+  default_config_hash: og8sWXhBuHbLMw3CoiBEZjgqSyhFBFmcbUW_wLcfNbo
+id: long
+label: 'Default long date'
+locked: false
+pattern: 'l, F j, Y - H:i'

+ 10 - 0
sites/default/config/sync/core.date_format.medium.yml

@@ -0,0 +1,10 @@
+uuid: c176c5d2-e3f8-41b3-b717-17f3306b4fa8
+langcode: en
+status: true
+dependencies: {  }
+_core:
+  default_config_hash: nzL5d024NjXIX_8TlT6uFAu973lmfkmHklJC-2i9rAE
+id: medium
+label: 'Default medium date'
+locked: false
+pattern: 'D, m/d/Y - H:i'

+ 10 - 0
sites/default/config/sync/core.date_format.short.yml

@@ -0,0 +1,10 @@
+uuid: 3290cf7a-79ba-4c68-ab85-ad457c21ad7c
+langcode: en
+status: true
+dependencies: {  }
+_core:
+  default_config_hash: AlzeyytA8InBgxIG9H2UDJYs3CG98Zj6yRsDKmlbZwA
+id: short
+label: 'Default short date'
+locked: false
+pattern: 'm/d/Y - H:i'

+ 223 - 0
sites/default/config/sync/core.entity_form_display.node.breve.default.yml

@@ -0,0 +1,223 @@
+uuid: 32dc4378-bfa0-41ef-934f-52760689a88b
+langcode: en
+status: true
+dependencies:
+  config:
+    - field.field.node.breve.body
+    - field.field.node.breve.field_linked_materials
+    - field.field.node.breve.field_memo
+    - field.field.node.breve.field_migration
+    - field.field.node.breve.field_showroom
+    - field.field.node.breve.field_source
+    - field.field.node.breve.field_tags
+    - field.field.node.breve.field_thesaurus
+    - field.field.node.breve.field_video
+    - field.field.node.breve.field_visuel
+    - field.field.node.breve.field_workflow
+    - image.style.thumbnail
+    - node.type.breve
+  module:
+    - field_group
+    - image
+    - link
+    - text
+    - video_embed_field
+    - workflow
+third_party_settings:
+  field_group:
+    group_htabs:
+      children:
+        - group_contents
+        - group_media
+        - group_taxonomy
+        - group_internal
+      parent_name: ''
+      weight: 0
+      format_type: tabs
+      format_settings:
+        id: ''
+        classes: ''
+        direction: horizontal
+      label: htabs
+    group_contents:
+      children:
+        - title
+        - field_source
+        - body
+        - field_linked_materials
+      parent_name: group_htabs
+      weight: 10
+      format_type: tab
+      format_settings:
+        id: ''
+        classes: ''
+        formatter: open
+        description: ''
+        required_fields: true
+      label: Contents
+    group_media:
+      children:
+        - field_visuel
+        - field_video
+      parent_name: group_htabs
+      weight: 11
+      format_type: tab
+      format_settings:
+        id: ''
+        classes: ''
+        formatter: open
+        description: ''
+        required_fields: true
+      label: media
+    group_taxonomy:
+      children:
+        - field_thesaurus
+        - field_tags
+        - field_showroom
+      parent_name: group_htabs
+      weight: 12
+      format_type: tab
+      format_settings:
+        id: ''
+        classes: ''
+        formatter: open
+        description: ''
+        required_fields: true
+      label: Taxonomy
+    group_internal:
+      children:
+        - langcode
+        - translation
+        - field_workflow
+        - field_migration
+        - field_memo
+      parent_name: group_htabs
+      weight: 13
+      format_type: tab
+      format_settings:
+        id: ''
+        classes: ''
+        formatter: open
+        description: ''
+        required_fields: true
+      label: Internal
+id: node.breve.default
+targetEntityType: node
+bundle: breve
+mode: default
+content:
+  body:
+    type: text_textarea_with_summary
+    weight: 3
+    settings:
+      rows: 9
+      summary_rows: 3
+      placeholder: ''
+    third_party_settings: {  }
+    region: content
+  field_linked_materials:
+    weight: 4
+    settings:
+      match_operator: CONTAINS
+      size: 60
+      placeholder: ''
+    third_party_settings: {  }
+    type: entity_reference_autocomplete
+    region: content
+  field_memo:
+    weight: 6
+    settings:
+      rows: 5
+      placeholder: ''
+    third_party_settings: {  }
+    type: string_textarea
+    region: content
+  field_migration:
+    weight: 5
+    settings: {  }
+    third_party_settings: {  }
+    type: workflow_default
+    region: content
+  field_showroom:
+    weight: 21
+    settings:
+      match_operator: CONTAINS
+      size: 60
+      placeholder: ''
+    third_party_settings: {  }
+    type: entity_reference_autocomplete
+    region: content
+  field_source:
+    weight: 2
+    settings:
+      placeholder_url: ''
+      placeholder_title: ''
+    third_party_settings: {  }
+    type: link_default
+    region: content
+  field_tags:
+    weight: 20
+    settings:
+      match_operator: CONTAINS
+      size: 60
+      placeholder: ''
+    third_party_settings: {  }
+    type: entity_reference_autocomplete
+    region: content
+  field_thesaurus:
+    weight: 19
+    settings:
+      match_operator: CONTAINS
+      size: 60
+      placeholder: ''
+    third_party_settings: {  }
+    type: entity_reference_autocomplete
+    region: content
+  field_video:
+    weight: 18
+    settings: {  }
+    third_party_settings: {  }
+    type: video_embed_field_textfield
+    region: content
+  field_visuel:
+    weight: 17
+    settings:
+      progress_indicator: throbber
+      preview_image_style: thumbnail
+    third_party_settings: {  }
+    type: image_image
+    region: content
+  field_workflow:
+    weight: 4
+    settings: {  }
+    third_party_settings: {  }
+    type: workflow_default
+    region: content
+  langcode:
+    type: language_select
+    weight: 2
+    region: content
+    settings:
+      include_locked: true
+    third_party_settings: {  }
+  title:
+    type: string_textfield
+    weight: 1
+    region: content
+    settings:
+      size: 60
+      placeholder: ''
+    third_party_settings: {  }
+  translation:
+    weight: 3
+    region: content
+    settings: {  }
+    third_party_settings: {  }
+hidden:
+  created: true
+  path: true
+  promote: true
+  status: true
+  sticky: true
+  uid: true
+  url_redirects: true

+ 319 - 0
sites/default/config/sync/core.entity_form_display.node.materiau.default.yml

@@ -0,0 +1,319 @@
+uuid: 1b273f1b-8621-4750-a108-0018c57f496e
+langcode: en
+status: true
+dependencies:
+  config:
+    - field.field.node.materiau.body
+    - field.field.node.materiau.field_attachments
+    - field.field.node.materiau.field_distributor
+    - field.field.node.materiau.field_famille
+    - field.field.node.materiau.field_index
+    - field.field.node.materiau.field_linked_breves
+    - field.field.node.materiau.field_linked_materials
+    - field.field.node.materiau.field_manufacturer
+    - field.field.node.materiau.field_materiau_images
+    - field.field.node.materiau.field_memo
+    - field.field.node.materiau.field_migration
+    - field.field.node.materiau.field_reference
+    - field.field.node.materiau.field_short_description
+    - field.field.node.materiau.field_tags
+    - field.field.node.materiau.field_thesaurus
+    - field.field.node.materiau.field_video
+    - field.field.node.materiau.field_workflow
+    - image.style.thumbnail
+    - node.type.materiau
+  module:
+    - cshs
+    - field_group
+    - file
+    - image
+    - text
+    - video_embed_field
+    - workflow
+third_party_settings:
+  field_group:
+    group_htabs:
+      children:
+        - group_contenus
+        - group_taxonomy
+        - group_media
+        - group_companies
+        - group_files
+        - group_links
+        - group_samples_showroom
+        - group_internal
+      parent_name: ''
+      weight: 0
+      format_type: tabs
+      format_settings:
+        id: ''
+        classes: ''
+        direction: horizontal
+      label: htabs
+    group_contenus:
+      children:
+        - title
+        - field_short_description
+        - body
+      parent_name: group_htabs
+      weight: 8
+      format_type: tab
+      format_settings:
+        id: ''
+        classes: ''
+        formatter: open
+        description: ''
+        required_fields: true
+      label: Contenus
+    group_taxonomy:
+      children:
+        - field_thesaurus
+        - field_tags
+      parent_name: group_htabs
+      weight: 9
+      format_type: tab
+      format_settings:
+        id: ''
+        classes: ''
+        formatter: closed
+        description: ''
+        required_fields: true
+      label: Taxonomy
+    group_media:
+      children:
+        - field_materiau_images
+        - field_video
+      parent_name: group_htabs
+      weight: 10
+      format_type: tab
+      format_settings:
+        id: ''
+        classes: ''
+        formatter: closed
+        description: ''
+        required_fields: true
+      label: media
+    group_companies:
+      children:
+        - field_manufacturer
+        - field_distributor
+      parent_name: group_htabs
+      weight: 11
+      format_type: tab
+      format_settings:
+        id: ''
+        classes: ''
+        formatter: closed
+        description: ''
+        required_fields: true
+      label: Companies
+    group_files:
+      children:
+        - field_attachments
+      parent_name: group_htabs
+      weight: 12
+      format_type: tab
+      format_settings:
+        id: ''
+        classes: ''
+        formatter: closed
+        description: ''
+        required_fields: true
+      label: Files
+    group_links:
+      children:
+        - field_linked_materials
+        - field_linked_breves
+      parent_name: group_htabs
+      weight: 13
+      format_type: tab
+      format_settings:
+        id: ''
+        classes: ''
+        formatter: closed
+        description: ''
+        required_fields: true
+      label: Links
+    group_samples_showroom:
+      children: {  }
+      parent_name: group_htabs
+      weight: 14
+      format_type: tab
+      format_settings:
+        id: ''
+        classes: ''
+        formatter: closed
+        description: ''
+        required_fields: true
+      label: 'Samples Showroom'
+    group_internal:
+      children:
+        - field_famille
+        - langcode
+        - translation
+        - field_memo
+        - field_workflow
+        - field_migration
+      parent_name: group_htabs
+      weight: 15
+      format_type: tab
+      format_settings:
+        id: ''
+        classes: ''
+        formatter: closed
+        description: ''
+        required_fields: true
+      label: Internal
+id: node.materiau.default
+targetEntityType: node
+bundle: materiau
+mode: default
+content:
+  body:
+    type: text_textarea_with_summary
+    weight: 3
+    settings:
+      rows: 9
+      summary_rows: 3
+      placeholder: ''
+    third_party_settings: {  }
+    region: content
+  field_attachments:
+    weight: 17
+    settings:
+      progress_indicator: throbber
+    third_party_settings: {  }
+    type: file_generic
+    region: content
+  field_distributor:
+    weight: 16
+    settings:
+      match_operator: CONTAINS
+      size: 60
+      placeholder: ''
+    third_party_settings: {  }
+    type: entity_reference_autocomplete
+    region: content
+  field_famille:
+    weight: 26
+    settings: {  }
+    third_party_settings: {  }
+    type: options_select
+    region: content
+  field_linked_breves:
+    weight: 19
+    settings:
+      match_operator: CONTAINS
+      size: 60
+      placeholder: ''
+    third_party_settings: {  }
+    type: entity_reference_autocomplete
+    region: content
+  field_linked_materials:
+    weight: 18
+    settings:
+      match_operator: CONTAINS
+      size: 60
+      placeholder: ''
+    third_party_settings: {  }
+    type: entity_reference_autocomplete
+    region: content
+  field_manufacturer:
+    weight: 15
+    settings:
+      match_operator: CONTAINS
+      size: 60
+      placeholder: ''
+    third_party_settings: {  }
+    type: entity_reference_autocomplete
+    region: content
+  field_materiau_images:
+    weight: 13
+    settings:
+      progress_indicator: throbber
+      preview_image_style: thumbnail
+    third_party_settings: {  }
+    type: image_image
+    region: content
+  field_memo:
+    weight: 31
+    settings:
+      rows: 5
+      placeholder: ''
+    third_party_settings: {  }
+    type: string_textarea
+    region: content
+  field_migration:
+    weight: 33
+    settings: {  }
+    third_party_settings: {  }
+    type: workflow_default
+    region: content
+  field_short_description:
+    weight: 2
+    settings:
+      size: 60
+      placeholder: ''
+    third_party_settings: {  }
+    type: string_textfield
+    region: content
+  field_tags:
+    weight: 12
+    settings:
+      match_operator: CONTAINS
+      size: 60
+      placeholder: ''
+    third_party_settings: {  }
+    type: entity_reference_autocomplete
+    region: content
+  field_thesaurus:
+    weight: 11
+    settings:
+      parent: 0
+      level_labels: ''
+      force_deepest: false
+    third_party_settings: {  }
+    type: cshs
+    region: content
+  field_video:
+    weight: 14
+    settings: {  }
+    third_party_settings: {  }
+    type: video_embed_field_textfield
+    region: content
+  field_workflow:
+    weight: 32
+    settings: {  }
+    third_party_settings: {  }
+    type: workflow_default
+    region: content
+  langcode:
+    type: language_select
+    weight: 29
+    region: content
+    settings:
+      include_locked: true
+    third_party_settings: {  }
+  title:
+    type: string_textfield
+    weight: 1
+    region: content
+    settings:
+      size: 60
+      placeholder: ''
+    third_party_settings: {  }
+  translation:
+    weight: 30
+    region: content
+    settings: {  }
+    third_party_settings: {  }
+hidden:
+  created: true
+  field_index: true
+  field_reference: true
+  path: true
+  promote: true
+  status: true
+  sticky: true
+  uid: true
+  url_redirects: true

+ 218 - 0
sites/default/config/sync/core.entity_form_display.taxonomy_term.company.default.yml

@@ -0,0 +1,218 @@
+uuid: 0066b30c-8d57-460b-a4ba-c3f54f3b497f
+langcode: en
+status: true
+dependencies:
+  config:
+    - field.field.taxonomy_term.company.field_attachments
+    - field.field.taxonomy_term.company.field_departement
+    - field.field.taxonomy_term.company.field_infos_from_company
+    - field.field.taxonomy_term.company.field_memo
+    - field.field.taxonomy_term.company.field_migration
+    - field.field.taxonomy_term.company.field_note
+    - field.field.taxonomy_term.company.field_public_address
+    - field.field.taxonomy_term.company.field_public_email
+    - field.field.taxonomy_term.company.field_public_phone
+    - field.field.taxonomy_term.company.field_website
+    - field.field.taxonomy_term.company.field_workflow
+    - taxonomy.vocabulary.company
+  module:
+    - address
+    - field_group
+    - file
+    - link
+    - telephone
+    - text
+    - workflow
+third_party_settings:
+  field_group:
+    group_tabs:
+      children:
+        - group_infos
+        - group_contents
+        - group_attachments
+        - group_internal
+      parent_name: ''
+      weight: 1
+      format_type: tabs
+      format_settings:
+        id: ''
+        classes: ''
+        direction: horizontal
+      label: Tabs
+    group_infos:
+      children:
+        - field_departement
+        - field_public_phone
+        - field_public_email
+        - field_website
+        - field_public_address
+      parent_name: group_tabs
+      weight: 12
+      format_type: tab
+      format_settings:
+        label: 'Public infos'
+        formatter: open
+        description: ''
+        required_fields: true
+        id: ''
+        classes: ''
+      label: 'Public infos'
+    group_contents:
+      children:
+        - description
+        - field_infos_from_company
+      parent_name: group_tabs
+      weight: 13
+      format_type: tab
+      format_settings:
+        id: ''
+        classes: ''
+        formatter: closed
+        description: ''
+        required_fields: true
+      label: Contents
+    group_internal:
+      children:
+        - field_workflow
+        - field_migration
+        - field_note
+        - field_memo
+        - langcode
+        - translation
+      parent_name: group_tabs
+      weight: 15
+      format_type: tab
+      format_settings:
+        id: ''
+        classes: ''
+        formatter: closed
+        description: ''
+        required_fields: true
+      label: Internal
+    group_attachments:
+      children:
+        - field_attachments
+      parent_name: group_tabs
+      weight: 14
+      format_type: tab
+      format_settings:
+        id: ''
+        classes: ''
+        formatter: closed
+        description: ''
+        required_fields: true
+      label: Attachments
+id: taxonomy_term.company.default
+targetEntityType: taxonomy_term
+bundle: company
+mode: default
+content:
+  description:
+    type: text_textarea
+    weight: 2
+    region: content
+    settings:
+      placeholder: ''
+      rows: 5
+    third_party_settings: {  }
+  field_attachments:
+    weight: 11
+    settings:
+      progress_indicator: throbber
+    third_party_settings: {  }
+    type: file_generic
+    region: content
+  field_departement:
+    weight: 13
+    settings:
+      size: 60
+      placeholder: ''
+    third_party_settings: {  }
+    type: string_textfield
+    region: content
+  field_infos_from_company:
+    weight: 4
+    settings:
+      rows: 5
+      placeholder: ''
+    third_party_settings: {  }
+    type: text_textarea
+    region: content
+  field_memo:
+    weight: 21
+    settings:
+      rows: 5
+      placeholder: ''
+    third_party_settings: {  }
+    type: string_textarea
+    region: content
+  field_migration:
+    weight: 19
+    settings: {  }
+    third_party_settings: {  }
+    type: workflow_default
+    region: content
+  field_note:
+    weight: 20
+    settings: {  }
+    third_party_settings: {  }
+    type: options_select
+    region: content
+  field_public_address:
+    weight: 17
+    settings:
+      default_country: null
+    third_party_settings: {  }
+    type: address_default
+    region: content
+  field_public_email:
+    weight: 15
+    settings:
+      size: 60
+      placeholder: ''
+    third_party_settings: {  }
+    type: email_default
+    region: content
+  field_public_phone:
+    weight: 14
+    settings:
+      placeholder: ''
+    third_party_settings: {  }
+    type: telephone_default
+    region: content
+  field_website:
+    weight: 16
+    settings:
+      placeholder_url: ''
+      placeholder_title: ''
+    third_party_settings: {  }
+    type: link_default
+    region: content
+  field_workflow:
+    weight: 18
+    settings: {  }
+    third_party_settings: {  }
+    type: workflow_default
+    region: content
+  langcode:
+    type: language_select
+    weight: 22
+    region: content
+    settings:
+      include_locked: true
+    third_party_settings: {  }
+  name:
+    type: string_textfield
+    weight: 0
+    region: content
+    settings:
+      size: 60
+      placeholder: ''
+    third_party_settings: {  }
+  translation:
+    weight: 23
+    region: content
+    settings: {  }
+    third_party_settings: {  }
+hidden:
+  path: true

+ 155 - 0
sites/default/config/sync/core.entity_form_display.taxonomy_term.showroom.default.yml

@@ -0,0 +1,155 @@
+uuid: 3e50cbc5-1363-4439-9330-0b24547e9768
+langcode: en
+status: true
+dependencies:
+  config:
+    - field.field.taxonomy_term.showroom.field_memo
+    - field.field.taxonomy_term.showroom.field_migration
+    - field.field.taxonomy_term.showroom.field_public_address
+    - field.field.taxonomy_term.showroom.field_public_email
+    - field.field.taxonomy_term.showroom.field_public_phone
+    - field.field.taxonomy_term.showroom.field_workflow
+    - taxonomy.vocabulary.showroom
+  module:
+    - address
+    - field_group
+    - telephone
+    - text
+    - workflow
+third_party_settings:
+  field_group:
+    group_tabs:
+      children:
+        - group_contents
+        - group_info
+        - group_internal
+      parent_name: ''
+      weight: 1
+      format_type: tabs
+      format_settings:
+        id: ''
+        classes: ''
+        direction: horizontal
+      label: Tabs
+    group_info:
+      children:
+        - field_public_email
+        - field_public_phone
+        - field_public_address
+      parent_name: group_tabs
+      weight: 21
+      format_type: tab
+      format_settings:
+        id: ''
+        classes: ''
+        formatter: open
+        description: ''
+        required_fields: true
+      label: Infos
+    group_internal:
+      children:
+        - langcode
+        - field_memo
+        - translation
+        - field_workflow
+        - field_migration
+      parent_name: group_tabs
+      weight: 22
+      format_type: tab
+      format_settings:
+        id: ''
+        classes: ''
+        formatter: closed
+        description: ''
+        required_fields: true
+      label: Internal
+    group_contents:
+      children:
+        - description
+      parent_name: group_tabs
+      weight: 20
+      format_type: tab
+      format_settings:
+        id: ''
+        classes: ''
+        formatter: closed
+        description: ''
+        required_fields: true
+      label: Contents
+id: taxonomy_term.showroom.default
+targetEntityType: taxonomy_term
+bundle: showroom
+mode: default
+content:
+  description:
+    type: text_textarea
+    weight: 2
+    region: content
+    settings:
+      placeholder: ''
+      rows: 5
+    third_party_settings: {  }
+  field_memo:
+    weight: 4
+    settings:
+      rows: 5
+      placeholder: ''
+    third_party_settings: {  }
+    type: string_textarea
+    region: content
+  field_migration:
+    weight: 7
+    settings: {  }
+    third_party_settings: {  }
+    type: workflow_default
+    region: content
+  field_public_address:
+    weight: 5
+    settings:
+      default_country: null
+    third_party_settings: {  }
+    type: address_default
+    region: content
+  field_public_email:
+    weight: 3
+    settings:
+      size: 60
+      placeholder: ''
+    third_party_settings: {  }
+    type: email_default
+    region: content
+  field_public_phone:
+    weight: 4
+    settings:
+      placeholder: ''
+    third_party_settings: {  }
+    type: telephone_default
+    region: content
+  field_workflow:
+    weight: 6
+    settings: {  }
+    third_party_settings: {  }
+    type: workflow_default
+    region: content
+  langcode:
+    type: language_select
+    weight: 3
+    region: content
+    settings:
+      include_locked: true
+    third_party_settings: {  }
+  name:
+    type: string_textfield
+    weight: 0
+    region: content
+    settings:
+      size: 60
+      placeholder: ''
+    third_party_settings: {  }
+  translation:
+    weight: 5
+    region: content
+    settings: {  }
+    third_party_settings: {  }
+hidden:
+  path: true

+ 43 - 0
sites/default/config/sync/core.entity_form_display.taxonomy_term.tags.default.yml

@@ -0,0 +1,43 @@
+uuid: d433ded9-4fb3-444e-88b9-b91e44c8849b
+langcode: en
+status: true
+dependencies:
+  config:
+    - field.field.taxonomy_term.tags.field_synonyms
+    - taxonomy.vocabulary.tags
+id: taxonomy_term.tags.default
+targetEntityType: taxonomy_term
+bundle: tags
+mode: default
+content:
+  field_synonyms:
+    weight: 1
+    settings:
+      size: 60
+      placeholder: ''
+    third_party_settings: {  }
+    type: string_textfield
+    region: content
+  langcode:
+    type: language_select
+    weight: 2
+    region: content
+    settings:
+      include_locked: true
+    third_party_settings: {  }
+  name:
+    type: string_textfield
+    weight: 0
+    region: content
+    settings:
+      size: 60
+      placeholder: ''
+    third_party_settings: {  }
+  translation:
+    weight: 3
+    region: content
+    settings: {  }
+    third_party_settings: {  }
+hidden:
+  description: true
+  path: true

+ 51 - 0
sites/default/config/sync/core.entity_form_display.taxonomy_term.thesaurus.default.yml

@@ -0,0 +1,51 @@
+uuid: 2ed70749-fa36-4e74-bbf9-92718b3a4e78
+langcode: en
+status: true
+dependencies:
+  config:
+    - field.field.taxonomy_term.thesaurus.field_synonyms
+    - field.field.taxonomy_term.thesaurus.field_used_on_advanced_search
+    - taxonomy.vocabulary.thesaurus
+id: taxonomy_term.thesaurus.default
+targetEntityType: taxonomy_term
+bundle: thesaurus
+mode: default
+content:
+  field_synonyms:
+    weight: 2
+    settings:
+      size: 60
+      placeholder: ''
+    third_party_settings: {  }
+    type: string_textfield
+    region: content
+  field_used_on_advanced_search:
+    weight: 1
+    settings:
+      display_label: true
+    third_party_settings: {  }
+    type: boolean_checkbox
+    region: content
+  langcode:
+    type: language_select
+    weight: 3
+    region: content
+    settings:
+      include_locked: true
+    third_party_settings: {  }
+  name:
+    type: string_textfield
+    weight: 0
+    region: content
+    settings:
+      size: 60
+      placeholder: ''
+    third_party_settings: {  }
+  translation:
+    weight: 4
+    region: content
+    settings: {  }
+    third_party_settings: {  }
+hidden:
+  description: true
+  path: true

+ 12 - 0
sites/default/config/sync/core.entity_form_mode.user.register.yml

@@ -0,0 +1,12 @@
+uuid: 8b78f900-728e-4034-b576-27a7f5822c14
+langcode: en
+status: true
+dependencies:
+  module:
+    - user
+_core:
+  default_config_hash: flXhTcp55yLcyy7ZLOhPGKGZobZQJdkAFVWV3LseiuI
+id: user.register
+label: Register
+targetEntityType: user
+cache: true

+ 128 - 0
sites/default/config/sync/core.entity_view_display.node.breve.default.yml

@@ -0,0 +1,128 @@
+uuid: f30d4a3a-7911-44ce-b47c-49f2d46d0b1d
+langcode: en
+status: true
+dependencies:
+  config:
+    - field.field.node.breve.body
+    - field.field.node.breve.field_linked_materials
+    - field.field.node.breve.field_memo
+    - field.field.node.breve.field_migration
+    - field.field.node.breve.field_showroom
+    - field.field.node.breve.field_source
+    - field.field.node.breve.field_tags
+    - field.field.node.breve.field_thesaurus
+    - field.field.node.breve.field_video
+    - field.field.node.breve.field_visuel
+    - field.field.node.breve.field_workflow
+    - node.type.breve
+  module:
+    - image
+    - link
+    - options
+    - text
+    - user
+    - video_embed_field
+id: node.breve.default
+targetEntityType: node
+bundle: breve
+mode: default
+content:
+  body:
+    label: hidden
+    type: text_default
+    weight: 101
+    settings: {  }
+    third_party_settings: {  }
+    region: content
+  field_linked_materials:
+    weight: 107
+    label: above
+    settings:
+      link: true
+    third_party_settings: {  }
+    type: entity_reference_label
+    region: content
+  field_memo:
+    weight: 108
+    label: above
+    settings: {  }
+    third_party_settings: {  }
+    type: basic_string
+    region: content
+  field_migration:
+    weight: 109
+    label: above
+    settings: {  }
+    third_party_settings: {  }
+    type: list_default
+    region: content
+  field_showroom:
+    weight: 111
+    label: above
+    settings:
+      link: true
+    third_party_settings: {  }
+    type: entity_reference_label
+    region: content
+  field_source:
+    weight: 102
+    label: above
+    settings:
+      trim_length: 80
+      url_only: false
+      url_plain: false
+      rel: ''
+      target: ''
+    third_party_settings: {  }
+    type: link
+    region: content
+  field_tags:
+    weight: 106
+    label: above
+    settings:
+      link: true
+    third_party_settings: {  }
+    type: entity_reference_label
+    region: content
+  field_thesaurus:
+    weight: 105
+    label: above
+    settings:
+      link: true
+    third_party_settings: {  }
+    type: entity_reference_label
+    region: content
+  field_video:
+    weight: 104
+    label: above
+    settings:
+      responsive: true
+      width: 854
+      height: 480
+      autoplay: true
+    third_party_settings: {  }
+    type: video_embed_field_video
+    region: content
+  field_visuel:
+    weight: 103
+    label: above
+    settings:
+      image_style: ''
+      image_link: ''
+    third_party_settings: {  }
+    type: image
+    region: content
+  field_workflow:
+    weight: 110
+    label: above
+    settings: {  }
+    third_party_settings: {  }
+    type: list_default
+    region: content
+  links:
+    weight: 100
+    settings: {  }
+    third_party_settings: {  }
+    region: content
+hidden:
+  langcode: true

Certains fichiers n'ont pas été affichés car il y a eu trop de fichiers modifiés dans ce diff