From b46b313be19039cf14235e34fee9ff0c72e2315f Mon Sep 17 00:00:00 2001 From: Renaud Heluin Date: Sat, 10 May 2025 10:38:01 +0200 Subject: [PATCH 001/568] feat: init --- CONTRIBUTING.md | 3 + README.en.md | 121 +---------------- README.es.md | 122 +----------------- README.md | 122 +----------------- .../BP_001_en.md | 0 .../BP_001_es.md | 0 .../BP_001_fr.md | 0 .../BP_002_en.md | 0 .../BP_002_es.md | 0 .../BP_002_fr.md | 0 .../BP_003_en.md | 0 .../BP_003_es.md | 0 .../BP_003_fr.md | 0 .../BP_004_en.md | 0 .../BP_004_es.md | 0 .../BP_004_fr.md | 0 .../BP_005_en.md | 0 .../BP_005_es.md | 0 .../BP_005_fr.md | 0 .../BP_006_en.md | 0 .../BP_006_es.md | 0 .../BP_006_fr.md | 0 .../BP_007_en.md | 0 .../BP_007_es.md | 0 .../BP_007_fr.md | 0 .../BP_008_en.md | 0 .../BP_008_es.md | 0 .../BP_008_fr.md | 0 .../BP_009_en.md | 0 .../BP_009_es.md | 0 .../BP_009_fr.md | 0 .../BP_010_en.md | 0 .../BP_010_es.md | 0 .../BP_010_fr.md | 0 .../BP_011_en.md | 0 .../BP_011_es.md | 0 .../BP_011_fr.md | 0 .../BP_013_en.md | 0 .../BP_013_es.md | 0 .../BP_013_fr.md | 0 .../BP_014_en.md | 0 .../BP_014_es.md | 0 .../BP_014_fr.md | 0 .../BP_015_en.md | 0 .../BP_015_es.md | 0 .../BP_015_fr.md | 0 .../BP_016_en.md | 0 .../BP_016_es.md | 0 .../BP_016_fr.md | 0 .../BP_017_en.md | 0 .../BP_017_es.md | 0 .../BP_017_fr.md | 0 .../BP_018_en.md | 0 .../BP_018_es.md | 0 .../BP_018_fr.md | 0 .../BP_019_en.md | 0 .../BP_019_es.md | 0 .../BP_019_fr.md | 0 .../BP_021_en.md | 0 .../BP_021_es.md | 0 .../BP_021_fr.md | 0 .../BP_022_en.md | 0 .../BP_022_es.md | 0 .../BP_022_fr.md | 0 .../BP_023_en.md | 0 .../BP_023_es.md | 0 .../BP_023_fr.md | 0 .../BP_024_en.md | 0 .../BP_024_es.md | 0 .../BP_024_fr.md | 0 .../BP_025_en.md | 0 .../BP_025_es.md | 0 .../BP_025_fr.md | 0 .../BP_026_en.md | 0 .../BP_026_es.md | 0 .../BP_026_fr.md | 0 .../BP_027_en.md | 0 .../BP_027_es.md | 0 .../BP_027_fr.md | 0 .../BP_029_en.md | 0 .../BP_029_es.md | 0 .../BP_029_fr.md | 0 .../BP_030_en.md | 0 .../BP_030_es.md | 0 .../BP_030_fr.md | 0 .../BP_031_en.md | 0 .../BP_031_es.md | 0 .../BP_031_fr.md | 0 .../BP_032_en.md | 0 .../BP_032_es.md | 0 .../BP_032_fr.md | 0 .../BP_034_en.md | 0 .../BP_034_es.md | 0 .../BP_034_fr.md | 0 .../BP_035_en.md | 0 .../BP_035_es.md | 0 .../BP_035_fr.md | 0 .../BP_036_en.md | 0 .../BP_036_es.md | 0 .../BP_036_fr.md | 0 .../BP_037_en.md | 0 .../BP_037_es.md | 0 .../BP_037_fr.md | 0 .../BP_038_en.md | 0 .../BP_038_es.md | 0 .../BP_038_fr.md | 0 .../BP_039_en.md | 0 .../BP_039_es.md | 0 .../BP_039_fr.md | 0 .../BP_040_en.md | 0 .../BP_040_es.md | 0 .../BP_040_fr.md | 0 .../BP_041_en.md | 0 .../BP_041_es.md | 0 .../BP_041_fr.md | 0 .../BP_042_en.md | 0 .../BP_042_es.md | 0 .../BP_042_fr.md | 0 .../BP_043_en.md | 0 .../BP_043_es.md | 0 .../BP_043_fr.md | 0 .../BP_044_en.md | 0 .../BP_044_es.md | 0 .../BP_044_fr.md | 0 .../BP_045_en.md | 0 .../BP_045_es.md | 0 .../BP_045_fr.md | 0 .../BP_046_en.md | 0 .../BP_046_es.md | 0 .../BP_046_fr.md | 0 .../BP_049_en.md | 0 .../BP_049_es.md | 0 .../BP_049_fr.md | 0 .../BP_054_en.md | 0 .../BP_054_es.md | 0 .../BP_054_fr.md | 0 .../BP_057_en.md | 0 .../BP_057_es.md | 0 .../BP_057_fr.md | 0 .../BP_058_en.md | 0 .../BP_058_es.md | 0 .../BP_058_fr.md | 0 .../BP_060_en.md | 0 .../BP_060_es.md | 0 .../BP_060_fr.md | 0 .../BP_064_en.md | 0 .../BP_064_es.md | 0 .../BP_064_fr.md | 0 .../BP_070_en.md | 0 .../BP_070_es.md | 0 .../BP_070_fr.md | 0 .../BP_072_en.md | 0 .../BP_072_es.md | 0 .../BP_072_fr.md | 0 .../BP_073_en.md | 0 .../BP_073_es.md | 0 .../BP_073_fr.md | 0 .../BP_075_en.md | 0 .../BP_075_es.md | 0 .../BP_075_fr.md | 0 .../BP_076_en.md | 0 .../BP_076_es.md | 0 .../BP_076_fr.md | 0 .../BP_077_en.md | 0 .../BP_077_es.md | 0 .../BP_077_fr.md | 0 .../BP_078_en.md | 0 .../BP_078_es.md | 0 .../BP_078_fr.md | 0 .../BP_079_en.md | 0 .../BP_079_es.md | 0 .../BP_079_fr.md | 0 .../BP_080_en.md | 0 .../BP_080_es.md | 0 .../BP_080_fr.md | 0 .../BP_082_en.md | 0 .../BP_082_es.md | 0 .../BP_082_fr.md | 0 .../BP_084_en.md | 0 .../BP_084_es.md | 0 .../BP_084_fr.md | 0 .../BP_085_en.md | 0 .../BP_085_es.md | 0 .../BP_085_fr.md | 0 .../BP_086_en.md | 0 .../BP_086_es.md | 0 .../BP_086_fr.md | 0 .../BP_087_en.md | 0 .../BP_087_es.md | 0 .../BP_087_fr.md | 0 .../BP_088_en.md | 0 .../BP_088_es.md | 0 .../BP_088_fr.md | 0 .../BP_089_en.md | 0 .../BP_089_es.md | 0 .../BP_089_fr.md | 0 .../BP_090_en.md | 0 .../BP_090_es.md | 0 .../BP_090_fr.md | 0 .../BP_091_en.md | 0 .../BP_091_es.md | 0 .../BP_091_fr.md | 0 .../BP_092_en.md | 0 .../BP_092_es.md | 0 .../BP_092_fr.md | 0 .../BP_093_en.md | 0 .../BP_093_es.md | 0 .../BP_093_fr.md | 0 .../BP_094_en.md | 0 .../BP_094_es.md | 0 .../BP_094_fr.md | 0 .../BP_095_en.md | 0 .../BP_095_es.md | 0 .../BP_095_fr.md | 0 .../BP_096_en.md | 0 .../BP_096_es.md | 0 .../BP_096_fr.md | 0 .../BP_097_en.md | 0 .../BP_097_es.md | 0 .../BP_097_fr.md | 0 .../BP_098_en.md | 0 .../BP_098_es.md | 0 .../BP_098_fr.md | 0 .../BP_099_en.md | 0 .../BP_099_es.md | 0 .../BP_099_fr.md | 0 .../BP_101_en.md | 0 .../BP_101_es.md | 0 .../BP_101_fr.md | 0 .../BP_102_en.md | 0 .../BP_102_es.md | 0 .../BP_102_fr.md | 0 .../BP_103_en.md | 0 .../BP_103_es.md | 0 .../BP_103_fr.md | 0 .../BP_104_en.md | 0 .../BP_104_es.md | 0 .../BP_104_fr.md | 0 .../BP_105_en.md | 0 .../BP_105_es.md | 0 .../BP_105_fr.md | 0 .../BP_106_en.md | 0 .../BP_106_es.md | 0 .../BP_106_fr.md | 0 .../BP_107_en.md | 0 .../BP_107_es.md | 0 .../BP_107_fr.md | 0 .../BP_108_en.md | 0 .../BP_108_es.md | 0 .../BP_108_fr.md | 0 .../BP_109_en.md | 0 .../BP_109_es.md | 0 .../BP_109_fr.md | 0 .../BP_110_en.md | 0 .../BP_110_es.md | 0 .../BP_110_fr.md | 0 .../BP_111_en.md | 0 .../BP_111_es.md | 0 .../BP_111_fr.md | 0 .../BP_112_en.md | 0 .../BP_112_es.md | 0 .../BP_112_fr.md | 0 .../BP_113_en.md | 0 .../BP_113_es.md | 0 .../BP_113_fr.md | 0 .../BP_114_en.md | 0 .../BP_114_es.md | 0 .../BP_114_fr.md | 0 .../BP_4001_en.md | 0 .../BP_4001_es.md | 0 .../BP_4001_fr.md | 0 .../BP_4002_en.md | 0 .../BP_4002_es.md | 0 .../BP_4002_fr.md | 0 .../BP_4003_en.md | 0 .../BP_4003_es.md | 0 .../BP_4003_fr.md | 0 .../BP_4004_en.md | 0 .../BP_4004_es.md | 0 .../BP_4004_fr.md | 0 .../BP_4005_en.md | 0 .../BP_4005_es.md | 0 .../BP_4005_fr.md | 0 .../BP_4006_en.md | 0 .../BP_4006_es.md | 0 .../BP_4006_fr.md | 0 .../BP_4007_en.md | 0 .../BP_4007_es.md | 0 .../BP_4007_fr.md | 0 .../BP_4008_en.md | 0 .../BP_4008_es.md | 0 .../BP_4008_fr.md | 0 .../BP_4009_en.md | 0 .../BP_4009_es.md | 0 .../BP_4009_fr.md | 0 .../BP_4011_en.md | 0 .../BP_4011_es.md | 0 .../BP_4011_fr.md | 0 .../BP_4012_en.md | 0 .../BP_4012_es.md | 0 .../BP_4012_fr.md | 0 .../BP_4013_en.md | 0 .../BP_4013_es.md | 0 .../BP_4013_fr.md | 0 .../BP_4014_en.md | 0 .../BP_4014_es.md | 0 .../BP_4014_fr.md | 0 .../BP_4015_en.md | 0 .../BP_4015_es.md | 0 .../BP_4015_fr.md | 0 .../BP_4016_en.md | 0 .../BP_4016_es.md | 0 .../BP_4016_fr.md | 0 .../BP_4017_en.md | 0 .../BP_4017_es.md | 0 .../BP_4017_fr.md | 0 .../BP_4018_en.md | 0 .../BP_4018_es.md | 0 .../BP_4018_fr.md | 0 .../BP_4019_en.md | 0 .../BP_4019_es.md | 0 .../BP_4019_fr.md | 0 .../BP_4020_en.md | 0 .../BP_4020_es.md | 0 .../BP_4020_fr.md | 0 .../BP_4021_en.md | 0 .../BP_4021_es.md | 0 .../BP_4021_fr.md | 0 .../BP_4022_en.md | 0 .../BP_4022_es.md | 0 .../BP_4022_fr.md | 0 .../BP_4030_en.md | 0 .../BP_4030_es.md | 0 .../BP_4030_fr.md | 0 .../BP_4031_en.md | 0 .../BP_4031_es.md | 0 .../BP_4031_fr.md | 0 .../BP_4032_en.md | 0 .../BP_4032_es.md | 0 .../BP_4032_fr.md | 0 .../BP_4033_en.md | 0 .../BP_4033_es.md | 0 .../BP_4033_fr.md | 0 .../BP_4034_en.md | 0 .../BP_4034_es.md | 0 .../BP_4034_fr.md | 0 .../BP_4035_en.md | 0 .../BP_4035_es.md | 0 .../BP_4035_fr.md | 0 .../BP_4036_en.md | 0 .../BP_4036_es.md | 0 .../BP_4036_fr.md | 0 .../BP_4037_en.md | 0 .../BP_4037_es.md | 0 .../BP_4037_fr.md | 0 .../BP_4038_en.md | 0 .../BP_4038_es.md | 0 .../BP_4038_fr.md | 0 .../BP_4039_en.md | 0 .../BP_4039_es.md | 0 .../BP_4039_fr.md | 0 .../img.png | Bin .../img_1.png | Bin .../img_2.png | Bin resources/BP_xxxx_fr.md | 41 ------ ...cement_Referentiel_EcoconceptionWeb_V4.pdf | Bin 47839 -> 0 bytes 366 files changed, 11 insertions(+), 398 deletions(-) rename {chapters => chapters-source-to-delete}/BP_001_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_001_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_001_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_002_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_002_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_002_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_003_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_003_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_003_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_004_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_004_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_004_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_005_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_005_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_005_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_006_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_006_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_006_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_007_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_007_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_007_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_008_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_008_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_008_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_009_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_009_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_009_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_010_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_010_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_010_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_011_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_011_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_011_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_013_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_013_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_013_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_014_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_014_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_014_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_015_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_015_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_015_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_016_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_016_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_016_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_017_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_017_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_017_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_018_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_018_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_018_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_019_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_019_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_019_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_021_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_021_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_021_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_022_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_022_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_022_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_023_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_023_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_023_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_024_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_024_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_024_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_025_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_025_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_025_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_026_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_026_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_026_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_027_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_027_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_027_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_029_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_029_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_029_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_030_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_030_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_030_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_031_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_031_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_031_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_032_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_032_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_032_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_034_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_034_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_034_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_035_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_035_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_035_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_036_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_036_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_036_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_037_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_037_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_037_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_038_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_038_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_038_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_039_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_039_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_039_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_040_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_040_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_040_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_041_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_041_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_041_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_042_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_042_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_042_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_043_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_043_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_043_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_044_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_044_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_044_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_045_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_045_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_045_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_046_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_046_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_046_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_049_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_049_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_049_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_054_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_054_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_054_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_057_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_057_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_057_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_058_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_058_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_058_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_060_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_060_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_060_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_064_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_064_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_064_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_070_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_070_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_070_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_072_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_072_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_072_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_073_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_073_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_073_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_075_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_075_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_075_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_076_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_076_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_076_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_077_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_077_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_077_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_078_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_078_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_078_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_079_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_079_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_079_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_080_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_080_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_080_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_082_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_082_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_082_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_084_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_084_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_084_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_085_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_085_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_085_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_086_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_086_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_086_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_087_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_087_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_087_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_088_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_088_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_088_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_089_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_089_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_089_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_090_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_090_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_090_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_091_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_091_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_091_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_092_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_092_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_092_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_093_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_093_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_093_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_094_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_094_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_094_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_095_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_095_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_095_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_096_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_096_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_096_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_097_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_097_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_097_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_098_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_098_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_098_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_099_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_099_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_099_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_101_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_101_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_101_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_102_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_102_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_102_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_103_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_103_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_103_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_104_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_104_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_104_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_105_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_105_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_105_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_106_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_106_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_106_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_107_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_107_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_107_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_108_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_108_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_108_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_109_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_109_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_109_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_110_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_110_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_110_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_111_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_111_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_111_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_112_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_112_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_112_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_113_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_113_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_113_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_114_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_114_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_114_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_4001_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_4001_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_4001_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_4002_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_4002_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_4002_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_4003_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_4003_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_4003_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_4004_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_4004_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_4004_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_4005_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_4005_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_4005_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_4006_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_4006_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_4006_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_4007_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_4007_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_4007_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_4008_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_4008_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_4008_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_4009_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_4009_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_4009_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_4011_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_4011_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_4011_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_4012_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_4012_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_4012_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_4013_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_4013_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_4013_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_4014_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_4014_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_4014_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_4015_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_4015_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_4015_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_4016_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_4016_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_4016_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_4017_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_4017_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_4017_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_4018_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_4018_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_4018_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_4019_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_4019_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_4019_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_4020_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_4020_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_4020_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_4021_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_4021_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_4021_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_4022_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_4022_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_4022_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_4030_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_4030_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_4030_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_4031_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_4031_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_4031_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_4032_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_4032_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_4032_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_4033_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_4033_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_4033_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_4034_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_4034_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_4034_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_4035_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_4035_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_4035_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_4036_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_4036_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_4036_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_4037_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_4037_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_4037_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_4038_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_4038_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_4038_fr.md (100%) rename {chapters => chapters-source-to-delete}/BP_4039_en.md (100%) rename {chapters => chapters-source-to-delete}/BP_4039_es.md (100%) rename {chapters => chapters-source-to-delete}/BP_4039_fr.md (100%) rename {chapters => chapters-source-to-delete}/img.png (100%) rename {chapters => chapters-source-to-delete}/img_1.png (100%) rename {chapters => chapters-source-to-delete}/img_2.png (100%) delete mode 100644 resources/BP_xxxx_fr.md delete mode 100644 resources/Lancement_Referentiel_EcoconceptionWeb_V4.pdf diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index f22e761e..d0fba5b1 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,5 +1,8 @@ # Contribuer au référentiel de bonnes pratiques +> [!IMPORTANT] +> Cette documentation est ancienne et ne correspond plus à la réalité. Il faut utiliser maintenant la plateforme de contribution [URL à définir]. + Tout personne qui le souhaite peut se proposer pour contribuer au référentiel. Les règles du présent document devront être respectées. diff --git a/README.en.md b/README.en.md index c1e101e8..66e1a569 100644 --- a/README.en.md +++ b/README.en.md @@ -31,125 +31,8 @@ To simplify your searches, don't forget to use the available filters on the disc ## Best Practices list -* [Eliminate non-essential features](/chapters/BP_001_en.md) -* [Accurately quantify the dimensions of features and components](/chapters/BP_002_en.md) -* [Optimize the user journey](/chapters/BP_003_en.md) -* [Avoid autocomplete in favor of other techniques to facilitate user input](/chapters/BP_004_en.md) -* [Prefer a simple, clean design, adapted to the web](/chapters/BP_005_en.md) -* [Use the « mobile first» strategy and/or consider Adaptive loading](/chapters/BP_006_en.md) -* [Respect the Back/Forward cache](/chapters/BP_007_en.md) -* [Use an asynchronous process when possible](/chapters/BP_008_en.md) -* [Limit the number of HTTP requests](/chapters/BP_009_en.md) -* [Store static data locally](/chapters/BP_010_en.md) -* [Prefer a custom solution over a CMS ](/chapters/BP_011_en.md) -* [Prefer static web pages](/chapters/BP_013_en.md) -* [Create a modular application architecture](/chapters/BP_014_en.md) -* [Choose the most appropriate technologies](/chapters/BP_015_en.md) -* [Use performance-oriented application forks](/chapters/BP_016_en.md) -* [Choose appropriate data formats](/chapters/BP_017_en.md) -* [Reduce the number of domains serving resources](/chapters/BP_018_en.md) -* [Replace official social networks share buttons ](/chapters/BP_019_en.md) -* [Divide CSS](/chapters/BP_021_en.md) -* [Limit the number of CSS](/chapters/BP_022_en.md) -* [Use CSS instead of images](/chapters/BP_023_en.md) -* [Write efficient CSS selectors](/chapters/BP_024_en.md) -* [Group similar CSS declarations](/chapters/BP_025_en.md) -* [Use shortened CSS notations](/chapters/BP_026_en.md) -* [Provide a print CSS ](/chapters/BP_027_en.md) -* [Prefer standard fonts](/chapters/BP_029_en.md) -* [Prefer glyphs over images](/chapters/BP_030_en.md) -* [Validate pages with W3C tools](/chapters/BP_031_en.md) -* [Externalize CSS and Javascript](/chapters/BP_032_en.md) -* [Avoid resizing images in the browser](/chapters/BP_034_en.md) -* [Avoid using raster images for the interface](/chapters/BP_035_en.md) -* [Optimize vector images](/chapters/BP_036_en.md) -* [Use lazy loading](/chapters/BP_037_en.md) -* [Use partial content reloading](/chapters/BP_038_en.md) -* [Avoid JavaScript / CSS animations](/chapters/BP_039_en.md) -* [Only use essential parts of Javascript libraries and CSS frameworks](/chapters/BP_040_en.md) -* [Avoid modifications during DOM traversal](/chapters/BP_041_en.md) -* [Hide DOM elements while they are being modified](/chapters/BP_042_en.md) -* [Minimize repaint (appearence) and reflow (layout)](/chapters/BP_043_en.md) -* [Use event delegation](/chapters/BP_044_en.md) -* [Modify several CSS properties at once](/chapters/BP_045_en.md) -* [Validate your code with a Linter](/chapters/BP_046_en.md) -* [Cache frequently accessed objects in Javascript](/chapters/BP_049_en.md) -* [Reduce DOM access via JavaScript](/chapters/BP_054_en.md) -* [Use all levels of CMS cache](/chapters/BP_057_en.md) -* [Optimize and generate media before importing them in a CMS](/chapters/BP_058_en.md) -* [Encode audio files outside of the CMS](/chapters/BP_060_en.md) -* [Cache often-used computed Data](/chapters/BP_064_en.md) -* [Remove all warnings and notices](/chapters/BP_070_en.md) -* [Avoid performing SQL queries inside a loop](/chapters/BP_072_en.md) -* [Avoid opening database connections when not necessary](/chapters/BP_073_en.md) -* [Optimize database queries](/chapters/BP_075_en.md) -* [Avoid transferring large amounts of data for processing tasks](/chapters/BP_076_en.md) -* [Minify CSS, JavaScript, HTML, and SVG files](/chapters/BP_077_en.md) -* [Compress CSS, Javascript, HTML and SVG files](/chapters/BP_078_en.md) -* [Combine CSS and JavaScript files](/chapters/BP_079_en.md) -* [Optimize images](/chapters/BP_080_en.md) -* [Optimize cookies size](/chapters/BP_082_en.md) -* [Use HSTS Preload list over 301 redirects](/chapters/BP_084_en.md) -* [Have an end of life strategy for the website](/chapters/BP_085_en.md) -* [Choose an eco-friendly web-host](/chapters/BP_086_en.md) -* [Choose an eco-friendly electricity provider](/chapters/BP_087_en.md) -* [Adapt service quality and availability level](/chapters/BP_088_en.md) -* [Use virtualized servers](/chapters/BP_089_en.md) -* [Optimize Server Energy Efficiency](/chapters/BP_090_en.md) -* [Install the bare minimum on the servers](/chapters/BP_091_en.md) -* [Put the whole caches in RAM (opcode and kvs)](/chapters/BP_092_en.md) -* [Store data in the cloud](/chapters/BP_093_en.md) -* [Host resources (CSS/JS) on a cookie-free domain](/chapters/BP_094_en.md) -* [Avoid redirects](/chapters/BP_095_en.md) -* [Display static error pages](/chapters/BP_096_en.md) -* [Use asynchronous servers](/chapters/BP_097_en.md) -* [Use a CDN](/chapters/BP_098_en.md) -* [Use a HTTP cache](/chapters/BP_099_en.md) -* [Add Expires or Cache-Control headers](/chapters/BP_101_en.md) -* [Cache Ajax responses](/chapters/BP_102_en.md) -* [Reduce server logs as much as possible](/chapters/BP_103_en.md) -* [Disable Apache DNS lookup](/chapters/BP_104_en.md) -* [Apache Vhost : disable AllowOverride](/chapters/BP_105_en.md) -* [Disable binary logs](/chapters/BP_106_en.md) -* [Compress documents](/chapters/BP_107_en.md) -* [Optimize PDF files](/chapters/BP_108_en.md) -* [Avoid sending heavy and redundant emails](/chapters/BP_109_en.md) -* [Only use double opt-in files](/chapters/BP_110_en.md) -* [Reduce emails size](/chapters/BP_111_en.md) -* [Adapt audio formats to listening contexts](/chapters/BP_112_en.md) -* [Adapt texts to the web](/chapters/BP_113_en.md) -* [Adapt videos to watching contexts](/chapters/BP_114_en.md) -* [Use less analytics tools and limit data collection](/chapters/BP_4001_en.md) -* [Limit the use of animated GIFs](/chapters/BP_4002_en.md) -* [Avoid autoplay for videos and audio content](/chapters/BP_4003_en.md) -* [Use CSS containers](/chapters/BP_4004_en.md) -* [Provide textual alternatives to multimedia content](/chapters/BP_4005_en.md) -* [Prefer HTTP/2 over HTTP/1](/chapters/BP_4006_en.md) -* [Save bandwidth with ServiceWorker](/chapters/BP_4007_en.md) -* [Set up an efficient sitemap](/chapters/BP_4008_en.md) -* [Ensure compatibility with older devices and software configurations](/chapters/BP_4009_en.md) -* [Reduce stored data volume to the bare minimum.](/chapters/BP_4011_en.md) -* [Set up a data expiration and deletion policy.](/chapters/BP_4012_en.md) -* [Limit canvas use](/chapters/BP_4013_en.md) -* [Make sure that user journeys allow users to carry out their intended action](/chapters/BP_4014_en.md) -* [Have page titles and meta descriptions relevant to pages content](/chapters/BP_4015_en.md) -* [Use the latest language version](/chapters/BP_4016_en.md) -* [Only load data/code when necessary](/chapters/BP_4017_en.md) -* [Delete unused features](/chapters/BP_4018_en.md) -* [Prefer PWAs over native mobile applications that are similar to the website](/chapters/BP_4019_en.md) -* [Avoid blocking times caused by long running JavaScript processes](/chapters/BP_4020_en.md) -* [Set up an elastic architecture](/chapters/BP_4021_en.md) -* [Limit HTTP API calls](/chapters/BP_4022_en.md) -* [Avoid using carousels](/chapters/BP_4030_en.md) -* [Set up a content end-of-life plan](/chapters/BP_4031_en.md) -* [Set up a "Circuit breaker"](/chapters/BP_4032_en.md) -* [Use "Request collapsing" as much as possible](/chapters/BP_4033_en.md) -* [Rely on managed services](/chapters/BP_4034_en.md) -* [Prefer pagination over infinite scrolling](/chapters/BP_4035_en.md) -* [Take care of your website regularly](/chapters/BP_4036_en.md) -* [Choose the right theme and limit CMS extensions](/chapters/BP_4037_en.md) -* [Secure administration access](/chapters/BP_4038_en.md) -* [Do not display documents within pages](/chapters/BP_4039_en.md) +> [!IMPORTANT] +> A mettre à jour avec les nouvelles BP. ## Licence diff --git a/README.es.md b/README.es.md index 763adb9b..482192fc 100644 --- a/README.es.md +++ b/README.es.md @@ -31,125 +31,9 @@ Para simplificar sus búsquedas, no olvide utilizar los filtros disponibles en l ## Lista de mejores prácticas -* [Eliminar funciones no esenciales](/chapters/BP_001_en.md) -* [Cuantificar con precisión las dimensiones de las características y componentes](/chapters/BP_002_en.md) -* [Optimizar el recorrido del usuario](/chapters/BP_003_en.md) -* [Evite el autocompletado en favor de otras técnicas para facilitar la entrada del usuario](/chapters/BP_004_en.md) -* [Prefiere un diseño simple, limpio y adaptado a la web](/chapters/BP_005_es.md) -* [Utilice la estrategia «mobile first» y/o considere la carga adaptativa](/chapters/BP_006_en.md) -* [Respetar la caché Atrás/Adelante](/chapters/BP_007_en.md) -* [Utilice un proceso asincrónico cuando sea posible](/chapters/BP_008_en.md) -* [Limitar el número de solicitudes HTTP](/chapters/BP_009_en.md) -* [Almacenar datos estáticos localmente](/chapters/BP_010_en.md) -* [Prefiere una solución personalizada a un CMS](/chapters/BP_011_en.md) -* [Prefiere páginas web estáticas](/chapters/BP_013_en.md) -* [Crear una arquitectura de aplicación modular](/chapters/BP_014_en.md) -* [Elija las tecnologías más adecuadas](/chapters/BP_015_es.md) -* [Utilice bifurcaciones de aplicaciones orientadas al rendimiento](/chapters/BP_016_en.md) -* [Elija los formatos de datos apropiados](/chapters/BP_017_en.md) -* [Reducir la cantidad de dominios que sirven recursos](/chapters/BP_018_en.md) -* [Reemplazar botones oficiales para compartir en redes sociales](/chapters/BP_019_en.md) -* [Dividir CSS](/chapters/BP_021_en.md) -* [Limitar el número de CSS](/chapters/BP_022_en.md) -* [Usar CSS en lugar de imágenes](/chapters/BP_023_en.md) -* [Escribir selectores CSS eficientes](/chapters/BP_024_en.md) -* [Agrupar declaraciones CSS similares](/chapters/BP_025_en.md) -* [Usar notaciones CSS abreviadas](/chapters/BP_026_en.md) -* [Proporcionar un CSS impreso](/chapters/BP_027_en.md) -* [Prefiere fuentes estándar](/chapters/BP_029_en.md) -* [Prefiero glifos a imágenes](/chapters/BP_030_en.md) -* [Validar páginas con herramientas del W3C](/chapters/BP_031_en.md) -* [Externalizar CSS y Javascript](/chapters/BP_032_en.md) -* [Evita cambiar el tamaño de las imágenes en el navegador](/chapters/BP_034_en.md) -* [Evite el uso de imágenes rasterizadas para la interfaz](/chapters/BP_035_en.md) -* [Optimizar imágenes vectoriales](/chapters/BP_036_en.md) -* [Usar carga diferida](/chapters/BP_037_en.md) -* [Usar recarga parcial de contenido](/chapters/BP_038_en.md) -* [Evitar animaciones JavaScript/CSS](/chapters/BP_039_en.md) -* [Utilice únicamente partes esenciales de las bibliotecas Javascript y los marcos CSS](/chapters/BP_040_en.md) -* [Evitar modificaciones durante el recorrido DOM](/chapters/BP_041_en.md) -* [Ocultar elementos DOM mientras se modifican](/chapters/BP_042_en.md) -* [Minimizar repintado (apariencia) y redistribución (diseño)](/chapters/BP_043_en.md) -* [Usar delegación de eventos](/chapters/BP_044_en.md) -* [Modificar varias propiedades CSS a la vez](/chapters/BP_045_en.md) -* [Valida tu código con un Linter](/chapters/BP_046_en.md) -* [Caché de objetos a los que se accede con frecuencia en Javascript](/chapters/BP_049_en.md) -* [Reducir el acceso DOM a través de JavaScript](/chapters/BP_054_en.md) -* [Usar todos los niveles de caché de CMS](/chapters/BP_057_en.md) -* [Optimizar y generar medios antes de importarlos en un CMS](/chapters/BP_058_en.md) -* [Codificar archivos de audio fuera del CMS](/chapters/BP_060_en.md) -* [Caché de datos calculados de uso frecuente](/chapters/BP_064_en.md) -* [Eliminar todas las advertencias y avisos](/chapters/BP_070_en.md) -* [Evite realizar consultas SQL dentro de un bucle](/chapters/BP_072_en.md) -* [Evitar abrir conexiones de bases de datos cuando no sea necesario](/chapters/BP_073_en.md) -* [Optimizar consultas de bases de datos](/chapters/BP_075_en.md) -* [Evite transferir grandes cantidades de datos para tareas de procesamiento](/chapters/BP_076_en.md) -* [Minimizar archivos CSS, JavaScript, HTML y SVG](/chapters/BP_077_en.md) -* [Comprimir archivos CSS, Javascript, HTML y SVG](/chapters/BP_078_en.md) -* [Combinar archivos CSS y JavaScript](/chapters/BP_079_en.md) -* [Optimizar imágenes](/chapters/BP_080_en.md) -* [Optimizar tamaño de cookies](/chapters/BP_082_en.md) -* [Usar lista de precarga HSTS en 301 redirecciones](/chapters/BP_084_en.md) -* [Tener una estrategia de fin de vida para el sitio web](/chapters/BP_085_en.md) -* [Elija un servidor web ecológico](/chapters/BP_086_en.md) -* [Elija un proveedor de electricidad ecológico](/chapters/BP_087_en.md) -* [Adaptar la calidad del servicio y el nivel de disponibilidad](/chapters/BP_088_en.md) -* [Usar servidores virtualizados](/chapters/BP_089_en.md) -* [Optimizar la eficiencia energética del servidor](/chapters/BP_090_en.md) -* [Instalar lo mínimo en los servidores](/chapters/BP_091_en.md) -* [Coloque todos los cachés en la RAM (código de operación y kvs)](/chapters/BP_092_en.md) -* [Almacenar datos en la nube](/chapters/BP_093_en.md) -* [Recursos de alojamiento (CSS/JS) en un dominio sin cookies](/chapters/BP_094_en.md) -* [Evitar redireccionamientos](/chapters/BP_095_en.md) -* [Mostrar páginas de error estáticas](/chapters/BP_096_en.md) -* [Usar servidores asíncronos](/chapters/BP_097_en.md) -* [Usar una CDN](/chapters/BP_098_en.md) -* [Usar una caché HTTP](/chapters/BP_099_en.md) -* [Agregar encabezados Expires o Cache-Control](/chapters/BP_101_en.md) -* [Caché de respuestas Ajax](/chapters/BP_102_en.md) -* [Reducir los registros del servidor tanto como sea posible](/chapters/BP_103_en.md) -* [Deshabilitar la búsqueda de DNS de Apache](/chapters/BP_104_en.md) -* [Apache Vhost: deshabilitar AllowOverride](/chapters/BP_105_en.md) -* [Deshabilitar registros binarios](/chapters/BP_106_en.md) -* [Comprimir documentos](/chapters/BP_107_en.md) -* [Optimizar archivos PDF](/chapters/BP_108_en.md) -* [Evite enviar correos electrónicos pesados y redundantes](/chapters/BP_109_en.md) -* [Utilice únicamente archivos de doble suscripción](/chapters/BP_110_en.md) -* [Reducir el tamaño de los correos electrónicos](/chapters/BP_111_en.md) -* [Adaptar formatos de audio a contextos de escucha](/chapters/BP_112_en.md) -* [Adaptar textos a la web](/chapters/BP_113_es.md) -* [Adaptar vídeos a los contextos de visualización](/chapters/BP_114_en.md) -* [Utilice menos herramientas de análisis y limite la recopilación de datos](/chapters/BP_4001_en.md) -* [Limitar el uso de GIF animados](/chapters/BP_4002_en.md) -* [Evitar la reproducción automática de vídeos y contenido de audio](/chapters/BP_4003_en.md) -* [Usar contenedores CSS](/chapters/BP_4004_en.md) -* [Proporcionar alternativas textuales al contenido multimedia](/chapters/BP_4005_en.md) -* [Prefiere HTTP/2 sobre HTTP/1](/chapters/BP_4006_en.md) -* [Ahorre ancho de banda con ServiceWorker](/chapters/BP_4007_en.md) -* [Configurar un mapa del sitio eficiente](/chapters/BP_4008_en.md) -* [Asegurar la compatibilidad con dispositivos y configuraciones de software más antiguos](/chapters/BP_4009_en.md) -* [Reducir el volumen de datos almacenados al mínimo indispensable.](/chapters/BP_4011_en.md) -* [Configurar una política de caducidad y eliminación de datos.](/chapters/BP_4012_en.md) -* [Limitar el uso del lienzo](/chapters/BP_4013_en.md) -* [Asegúrese de que los recorridos de los usuarios les permitan llevar a cabo la acción prevista](/chapters/BP_4014_en.md) -* [Tener títulos de página y meta descripciones relevantes para el contenido de las páginas](/chapters/BP_4015_en.md) -* [Utilice la última versión de idioma](/chapters/BP_4016_en.md) -* [Solo cargue datos/código cuando sea necesario](/chapters/BP_4017_en.md) -* [Eliminar funciones no utilizadas](/chapters/BP_4018_en.md) -* [Prefiera PWA a aplicaciones móviles nativas similares al sitio web](/chapters/BP_4019_en.md) -* [Evite tiempos de bloqueo causados por procesos de JavaScript de larga duración](/chapters/BP_4020_en.md) -* [Configurar una arquitectura elástica](/chapters/BP_4021_en.md) -* [Limitar llamadas API HTTP](/chapters/BP_4022_en.md) -* [Evitar el uso de carruseles](/chapters/BP_4030_en.md) -* [Configurar un plan de fin de vida útil del contenido](/chapters/BP_4031_en.md) -* [Configurar un "disyuntor"](/chapters/BP_4032_en.md) -* [Utilice "Solicitar colapso" tanto como sea posible](/chapters/BP_4033_en.md) -* [Confiar en servicios gestionados](/chapters/BP_4034_en.md) -* [Prefiero la paginación al desplazamiento infinito](/chapters/BP_4035_en.md) -* [Cuide su sitio web con regularidad](/chapters/BP_4036_en.md) -* [Elija el tema correcto y limite las extensiones de CMS](/chapters/BP_4037_en.md) -* [Acceso de administración seguro](/chapters/BP_4038_en.md) -* [No mostrar documentos dentro de las páginas](/chapters/BP_4039_en.md) +> [!IMPORTANT] +> A mettre à jour avec les nouvelles BP. + ## Licencia diff --git a/README.md b/README.md index b6d713ce..80c6d888 100644 --- a/README.md +++ b/README.md @@ -31,125 +31,9 @@ Pour simplifier vos recherches, n'oubliez pas d’utiliser les filtres disponibl ## La liste des Bonnes Pratiques -* [Éliminer les fonctionnalités non essentielles](/chapters/BP_001_fr.md) -* [Quantifier précisément le besoin](/chapters/BP_002_fr.md) -* [Optimiser le parcours utilisateur](/chapters/BP_003_fr.md) -* [Préférer la saisie assistée à l'autocomplétion](/chapters/BP_004_fr.md) -* [Favoriser un design simple, épuré, adapté au web](/chapters/BP_005_fr.md) -* [Privilégier une approche "mobile first", à défaut un chargement adaptatif](/chapters/BP_006_fr.md) -* [Respecter le principe de navigation rapide dans l’historique](/chapters/BP_007_fr.md) -* [Proposer un traitement asynchrone lorsque c'est possible](/chapters/BP_008_fr.md) -* [Limiter le nombre de requêtes HTTP](/chapters/BP_009_fr.md) -* [Stocker les données statiques localement](/chapters/BP_010_fr.md) -* [Favoriser un développement sur-mesure à l'usage d'un CMS](/chapters/BP_011_fr.md) -* [Favoriser les pages statiques](/chapters/BP_013_fr.md) -* [Créer une architecture applicative modulaire](/chapters/BP_014_fr.md) -* [Choisir les technologies les plus adaptées](/chapters/BP_015_fr.md) -* [Utiliser certains forks applicatifs orientés "performance"](/chapters/BP_016_fr.md) -* [Choisir un format de données adapté](/chapters/BP_017_fr.md) -* [Limiter le nombre de domaine servant les ressources](/chapters/BP_018_fr.md) -* [Remplacer les boutons officiels de partage des réseaux sociaux](/chapters/BP_019_fr.md) -* [Découper les CSS](/chapters/BP_021_fr.md) -* [Limiter le nombre de CSS](/chapters/BP_022_fr.md) -* [Préférer les CSS aux images](/chapters/BP_023_fr.md) -* [Écrire des sélecteurs CSS efficaces](/chapters/BP_024_fr.md) -* [Grouper les déclarations CSS similaires](/chapters/BP_025_fr.md) -* [Utiliser les notations CSS abrégées](/chapters/BP_026_fr.md) -* [Fournir une CSS print](/chapters/BP_027_fr.md) -* [Favoriser les polices standards](/chapters/BP_029_fr.md) -* [Préférer les glyphs aux images](/chapters/BP_030_fr.md) -* [Valider les pages auprès du W3C](/chapters/BP_031_fr.md) -* [Externaliser les CSS et JavaScript](/chapters/BP_032_fr.md) -* [Ne pas redimensionner les images coté navigateur](/chapters/BP_034_fr.md) -* [Éviter d'utiliser des images matricielles pour l'interface](/chapters/BP_035_fr.md) -* [Optimiser les images vectorielles](/chapters/BP_036_fr.md) -* [Utiliser le chargement paresseux](/chapters/BP_037_fr.md) -* [Utiliser le rechargement partiel d'une zone de contenu](/chapters/BP_038_fr.md) -* [Éviter les animations JavaScript / CSS](/chapters/BP_039_fr.md) -* [N'utilisez que les portions indispensables des librairies JavaScript et frameworks CSS](/chapters/BP_040_fr.md) -* [Ne pas faire de modification du DOM lorsqu’on le traverse](/chapters/BP_041_fr.md) -* [Rendre les éléments du DOM invisibles lors de leur modification](/chapters/BP_042_fr.md) -* [Réduire au maximum le repaint (appearence) et le reflow (layout)](/chapters/BP_043_fr.md) -* [Utiliser la délégation d'évènements](/chapters/BP_044_fr.md) -* [Modifier plusieurs propriétés CSS en 1 seule fois](/chapters/BP_045_fr.md) -* [Valider votre code avec un Linter](/chapters/BP_046_fr.md) -* [Mettre en cache les objets souvent accédés en JavaScript](/chapters/BP_049_fr.md) -* [Réduire les accès au DOM via JavaScript](/chapters/BP_054_fr.md) -* [Utiliser tous les niveaux de cache du CMS](/chapters/BP_057_fr.md) -* [Optimiser et générer les médias avant importation sur un CMS](/chapters/BP_058_fr.md) -* [Encoder les sons en dehors du CMS](/chapters/BP_060_fr.md) -* [Mettre en cache les données calculées souvent utilisées](/chapters/BP_064_fr.md) -* [Supprimer tous les warning et toutes les notices](/chapters/BP_070_fr.md) -* [Éviter d'effectuer des requêtes SQL à l’intérieur d’une boucle](/chapters/BP_072_fr.md) -* [Ne se connecter à une base de données que si nécessaire](/chapters/BP_073_fr.md) -* [Optimiser les requêtes aux bases de données](/chapters/BP_075_fr.md) -* [Éviter le transfert d'une grande quantité de données pour réaliser un traitement](/chapters/BP_076_fr.md) -* [Minifier les fichiers CSS, JavaScript, HTML et SVG](/chapters/BP_077_fr.md) -* [Compresser les fichiers CSS, JavaScript, HTML et SVG](/chapters/BP_078_fr.md) -* [Combiner les fichiers CSS et JavaScript](/chapters/BP_079_fr.md) -* [Optimiser les images](/chapters/BP_080_fr.md) -* [Optimiser la taille des cookies](/chapters/BP_082_fr.md) -* [Favoriser HSTS Preload list aux redirections 301](/chapters/BP_084_fr.md) -* [Mettre en place un plan de fin de vie du site](/chapters/BP_085_fr.md) -* [Choisir un hébergeur "éco-responsable"](/chapters/BP_086_fr.md) -* [Privilégier un fournisseur d'électricité écoresponsable](/chapters/BP_087_fr.md) -* [Adapter la qualité de service et le niveau de disponibilité](/chapters/BP_088_fr.md) -* [Utiliser des serveurs virtualisés](/chapters/BP_089_fr.md) -* [Optimiser l'efficacité énergétique des serveurs](/chapters/BP_090_fr.md) -* [Installer le minimum requis sur le serveur](/chapters/BP_091_fr.md) -* [Mettre les caches entièrement en RAM (opcode et kvs)](/chapters/BP_092_fr.md) -* [Stocker les données dans le cloud](/chapters/BP_093_fr.md) -* [Héberger les ressources (CSS/JS) sur un domaine sans cookie](/chapters/BP_094_fr.md) -* [Éviter les redirections](/chapters/BP_095_fr.md) -* [Afficher des pages d'erreur statiques](/chapters/BP_096_fr.md) -* [Utiliser un serveur asynchrone](/chapters/BP_097_fr.md) -* [Utiliser un CDN](/chapters/BP_098_fr.md) -* [Utiliser un cache HTTP](/chapters/BP_099_fr.md) -* [Ajouter des entêtes Expires ou Cache-Control](/chapters/BP_101_fr.md) -* [Mettre en cache les réponses Ajax](/chapters/BP_102_fr.md) -* [Réduire au nécessaire les logs des serveurs](/chapters/BP_103_fr.md) -* [Désactiver le DNS lookup d’Apache](/chapters/BP_104_fr.md) -* [Apache Vhost : désactiver le AllowOverride](/chapters/BP_105_fr.md) -* [Désactiver les logs binaires](/chapters/BP_106_fr.md) -* [Compresser les documents](/chapters/BP_107_fr.md) -* [Optimiser les PDF](/chapters/BP_108_fr.md) -* [Limiter les e-mails lourds et redondants](/chapters/BP_109_fr.md) -* [N'utiliser que des fichiers double opt-in](/chapters/BP_110_fr.md) -* [Limiter la taille des e-mails envoyés](/chapters/BP_111_fr.md) -* [Adapter les sons aux contextes d'écoute](/chapters/BP_112_fr.md) -* [Adapter les textes au web](/chapters/BP_113_fr.md) -* [Adapter les vidéos aux contextes de visualisation](/chapters/BP_114_fr.md) -* [Limiter les outils d'analytics et les données collectées](/chapters/BP_4001_fr.md) -* [Limiter l'utilisation des GIFs animés](/chapters/BP_4002_fr.md) -* [Éviter la lecture et le chargement automatique des vidéos et des sons](/chapters/BP_4003_fr.md) -* [Utiliser les compartiments CSS](/chapters/BP_4004_fr.md) -* [Fournir une alternative textuelle aux contenus multimédias](/chapters/BP_4005_fr.md) -* [Privilégier HTTP/2 à HTTP/1](/chapters/BP_4006_fr.md) -* [Économiser de la bande passante grace à un Service Worker](/chapters/BP_4007_fr.md) -* [Mettre en place un sitemap efficient](/chapters/BP_4008_fr.md) -* [Assurer la compatibilité avec les plus anciens appareils et logiciels du parc](/chapters/BP_4009_fr.md) -* [Réduire le volume de données stockées au strict nécessaire](/chapters/BP_4011_fr.md) -* [Mettre en place une politique d'expiration et suppression des données](/chapters/BP_4012_fr.md) -* [Limiter le recours aux canvas](/chapters/BP_4013_fr.md) -* [S'assurer que les parcours utilisateurs permettent de réaliser leur action prévue](/chapters/BP_4014_fr.md) -* [Avoir un titre de page et une metadescription pertinents avec le contenu de la page](/chapters/BP_4015_fr.md) -* [Utiliser la version la plus récente du langage](/chapters/BP_4016_fr.md) -* [Ne charger des données/du code que lorsqu'elles sont/il est nécessaire](/chapters/BP_4017_fr.md) -* [Éliminer les fonctionnalités non utilisées](/chapters/BP_4018_fr.md) -* [Préférer une PWA à une application mobile native similaire au site web](/chapters/BP_4019_fr.md) -* [Éviter les temps de blocages par des traitements JavaScript trop longs](/chapters/BP_4020_fr.md) -* [Mettre en place une architecture élastique](/chapters/BP_4021_fr.md) -* [Limiter le nombre d'appels aux API HTTP](/chapters/BP_4022_fr.md) -* [Limiter le recours aux carrousels](/chapters/BP_4030_fr.md) -* [Avoir une stratégie de fin de vie des contenus](/chapters/BP_4031_fr.md) -* [Mettre en place un "Circuit breaker"](/chapters/BP_4032_fr.md) -* [Favoriser le "Request collapsing"](/chapters/BP_4033_fr.md) -* [S’appuyer sur les services managés](/chapters/BP_4034_fr.md) -* [Préférer la pagination au défilement infini](/chapters/BP_4035_fr.md) -* [Entretenir son site régulièrement](/chapters/BP_4036_fr.md) -* [Limiter le nombre d'extensions dans un CMS](/chapters/BP_4037_fr.md) -* [Sécuriser l'accès à l'administration](/chapters/BP_4038_fr.md) -* [Ne pas afficher les documents à l'intérieur des pages](/chapters/BP_4039_fr.md) +> [!IMPORTANT] +> A mettre à jour avec les nouvelles BP. + ## Licence diff --git a/chapters/BP_001_en.md b/chapters-source-to-delete/BP_001_en.md similarity index 100% rename from chapters/BP_001_en.md rename to chapters-source-to-delete/BP_001_en.md diff --git a/chapters/BP_001_es.md b/chapters-source-to-delete/BP_001_es.md similarity index 100% rename from chapters/BP_001_es.md rename to chapters-source-to-delete/BP_001_es.md diff --git a/chapters/BP_001_fr.md b/chapters-source-to-delete/BP_001_fr.md similarity index 100% rename from chapters/BP_001_fr.md rename to chapters-source-to-delete/BP_001_fr.md diff --git a/chapters/BP_002_en.md b/chapters-source-to-delete/BP_002_en.md similarity index 100% rename from chapters/BP_002_en.md rename to chapters-source-to-delete/BP_002_en.md diff --git a/chapters/BP_002_es.md b/chapters-source-to-delete/BP_002_es.md similarity index 100% rename from chapters/BP_002_es.md rename to chapters-source-to-delete/BP_002_es.md diff --git a/chapters/BP_002_fr.md b/chapters-source-to-delete/BP_002_fr.md similarity index 100% rename from chapters/BP_002_fr.md rename to chapters-source-to-delete/BP_002_fr.md diff --git a/chapters/BP_003_en.md b/chapters-source-to-delete/BP_003_en.md similarity index 100% rename from chapters/BP_003_en.md rename to chapters-source-to-delete/BP_003_en.md diff --git a/chapters/BP_003_es.md b/chapters-source-to-delete/BP_003_es.md similarity index 100% rename from chapters/BP_003_es.md rename to chapters-source-to-delete/BP_003_es.md diff --git a/chapters/BP_003_fr.md b/chapters-source-to-delete/BP_003_fr.md similarity index 100% rename from chapters/BP_003_fr.md rename to chapters-source-to-delete/BP_003_fr.md diff --git a/chapters/BP_004_en.md b/chapters-source-to-delete/BP_004_en.md similarity index 100% rename from chapters/BP_004_en.md rename to chapters-source-to-delete/BP_004_en.md diff --git a/chapters/BP_004_es.md b/chapters-source-to-delete/BP_004_es.md similarity index 100% rename from chapters/BP_004_es.md rename to chapters-source-to-delete/BP_004_es.md diff --git a/chapters/BP_004_fr.md b/chapters-source-to-delete/BP_004_fr.md similarity index 100% rename from chapters/BP_004_fr.md rename to chapters-source-to-delete/BP_004_fr.md diff --git a/chapters/BP_005_en.md b/chapters-source-to-delete/BP_005_en.md similarity index 100% rename from chapters/BP_005_en.md rename to chapters-source-to-delete/BP_005_en.md diff --git a/chapters/BP_005_es.md b/chapters-source-to-delete/BP_005_es.md similarity index 100% rename from chapters/BP_005_es.md rename to chapters-source-to-delete/BP_005_es.md diff --git a/chapters/BP_005_fr.md b/chapters-source-to-delete/BP_005_fr.md similarity index 100% rename from chapters/BP_005_fr.md rename to chapters-source-to-delete/BP_005_fr.md diff --git a/chapters/BP_006_en.md b/chapters-source-to-delete/BP_006_en.md similarity index 100% rename from chapters/BP_006_en.md rename to chapters-source-to-delete/BP_006_en.md diff --git a/chapters/BP_006_es.md b/chapters-source-to-delete/BP_006_es.md similarity index 100% rename from chapters/BP_006_es.md rename to chapters-source-to-delete/BP_006_es.md diff --git a/chapters/BP_006_fr.md b/chapters-source-to-delete/BP_006_fr.md similarity index 100% rename from chapters/BP_006_fr.md rename to chapters-source-to-delete/BP_006_fr.md diff --git a/chapters/BP_007_en.md b/chapters-source-to-delete/BP_007_en.md similarity index 100% rename from chapters/BP_007_en.md rename to chapters-source-to-delete/BP_007_en.md diff --git a/chapters/BP_007_es.md b/chapters-source-to-delete/BP_007_es.md similarity index 100% rename from chapters/BP_007_es.md rename to chapters-source-to-delete/BP_007_es.md diff --git a/chapters/BP_007_fr.md b/chapters-source-to-delete/BP_007_fr.md similarity index 100% rename from chapters/BP_007_fr.md rename to chapters-source-to-delete/BP_007_fr.md diff --git a/chapters/BP_008_en.md b/chapters-source-to-delete/BP_008_en.md similarity index 100% rename from chapters/BP_008_en.md rename to chapters-source-to-delete/BP_008_en.md diff --git a/chapters/BP_008_es.md b/chapters-source-to-delete/BP_008_es.md similarity index 100% rename from chapters/BP_008_es.md rename to chapters-source-to-delete/BP_008_es.md diff --git a/chapters/BP_008_fr.md b/chapters-source-to-delete/BP_008_fr.md similarity index 100% rename from chapters/BP_008_fr.md rename to chapters-source-to-delete/BP_008_fr.md diff --git a/chapters/BP_009_en.md b/chapters-source-to-delete/BP_009_en.md similarity index 100% rename from chapters/BP_009_en.md rename to chapters-source-to-delete/BP_009_en.md diff --git a/chapters/BP_009_es.md b/chapters-source-to-delete/BP_009_es.md similarity index 100% rename from chapters/BP_009_es.md rename to chapters-source-to-delete/BP_009_es.md diff --git a/chapters/BP_009_fr.md b/chapters-source-to-delete/BP_009_fr.md similarity index 100% rename from chapters/BP_009_fr.md rename to chapters-source-to-delete/BP_009_fr.md diff --git a/chapters/BP_010_en.md b/chapters-source-to-delete/BP_010_en.md similarity index 100% rename from chapters/BP_010_en.md rename to chapters-source-to-delete/BP_010_en.md diff --git a/chapters/BP_010_es.md b/chapters-source-to-delete/BP_010_es.md similarity index 100% rename from chapters/BP_010_es.md rename to chapters-source-to-delete/BP_010_es.md diff --git a/chapters/BP_010_fr.md b/chapters-source-to-delete/BP_010_fr.md similarity index 100% rename from chapters/BP_010_fr.md rename to chapters-source-to-delete/BP_010_fr.md diff --git a/chapters/BP_011_en.md b/chapters-source-to-delete/BP_011_en.md similarity index 100% rename from chapters/BP_011_en.md rename to chapters-source-to-delete/BP_011_en.md diff --git a/chapters/BP_011_es.md b/chapters-source-to-delete/BP_011_es.md similarity index 100% rename from chapters/BP_011_es.md rename to chapters-source-to-delete/BP_011_es.md diff --git a/chapters/BP_011_fr.md b/chapters-source-to-delete/BP_011_fr.md similarity index 100% rename from chapters/BP_011_fr.md rename to chapters-source-to-delete/BP_011_fr.md diff --git a/chapters/BP_013_en.md b/chapters-source-to-delete/BP_013_en.md similarity index 100% rename from chapters/BP_013_en.md rename to chapters-source-to-delete/BP_013_en.md diff --git a/chapters/BP_013_es.md b/chapters-source-to-delete/BP_013_es.md similarity index 100% rename from chapters/BP_013_es.md rename to chapters-source-to-delete/BP_013_es.md diff --git a/chapters/BP_013_fr.md b/chapters-source-to-delete/BP_013_fr.md similarity index 100% rename from chapters/BP_013_fr.md rename to chapters-source-to-delete/BP_013_fr.md diff --git a/chapters/BP_014_en.md b/chapters-source-to-delete/BP_014_en.md similarity index 100% rename from chapters/BP_014_en.md rename to chapters-source-to-delete/BP_014_en.md diff --git a/chapters/BP_014_es.md b/chapters-source-to-delete/BP_014_es.md similarity index 100% rename from chapters/BP_014_es.md rename to chapters-source-to-delete/BP_014_es.md diff --git a/chapters/BP_014_fr.md b/chapters-source-to-delete/BP_014_fr.md similarity index 100% rename from chapters/BP_014_fr.md rename to chapters-source-to-delete/BP_014_fr.md diff --git a/chapters/BP_015_en.md b/chapters-source-to-delete/BP_015_en.md similarity index 100% rename from chapters/BP_015_en.md rename to chapters-source-to-delete/BP_015_en.md diff --git a/chapters/BP_015_es.md b/chapters-source-to-delete/BP_015_es.md similarity index 100% rename from chapters/BP_015_es.md rename to chapters-source-to-delete/BP_015_es.md diff --git a/chapters/BP_015_fr.md b/chapters-source-to-delete/BP_015_fr.md similarity index 100% rename from chapters/BP_015_fr.md rename to chapters-source-to-delete/BP_015_fr.md diff --git a/chapters/BP_016_en.md b/chapters-source-to-delete/BP_016_en.md similarity index 100% rename from chapters/BP_016_en.md rename to chapters-source-to-delete/BP_016_en.md diff --git a/chapters/BP_016_es.md b/chapters-source-to-delete/BP_016_es.md similarity index 100% rename from chapters/BP_016_es.md rename to chapters-source-to-delete/BP_016_es.md diff --git a/chapters/BP_016_fr.md b/chapters-source-to-delete/BP_016_fr.md similarity index 100% rename from chapters/BP_016_fr.md rename to chapters-source-to-delete/BP_016_fr.md diff --git a/chapters/BP_017_en.md b/chapters-source-to-delete/BP_017_en.md similarity index 100% rename from chapters/BP_017_en.md rename to chapters-source-to-delete/BP_017_en.md diff --git a/chapters/BP_017_es.md b/chapters-source-to-delete/BP_017_es.md similarity index 100% rename from chapters/BP_017_es.md rename to chapters-source-to-delete/BP_017_es.md diff --git a/chapters/BP_017_fr.md b/chapters-source-to-delete/BP_017_fr.md similarity index 100% rename from chapters/BP_017_fr.md rename to chapters-source-to-delete/BP_017_fr.md diff --git a/chapters/BP_018_en.md b/chapters-source-to-delete/BP_018_en.md similarity index 100% rename from chapters/BP_018_en.md rename to chapters-source-to-delete/BP_018_en.md diff --git a/chapters/BP_018_es.md b/chapters-source-to-delete/BP_018_es.md similarity index 100% rename from chapters/BP_018_es.md rename to chapters-source-to-delete/BP_018_es.md diff --git a/chapters/BP_018_fr.md b/chapters-source-to-delete/BP_018_fr.md similarity index 100% rename from chapters/BP_018_fr.md rename to chapters-source-to-delete/BP_018_fr.md diff --git a/chapters/BP_019_en.md b/chapters-source-to-delete/BP_019_en.md similarity index 100% rename from chapters/BP_019_en.md rename to chapters-source-to-delete/BP_019_en.md diff --git a/chapters/BP_019_es.md b/chapters-source-to-delete/BP_019_es.md similarity index 100% rename from chapters/BP_019_es.md rename to chapters-source-to-delete/BP_019_es.md diff --git a/chapters/BP_019_fr.md b/chapters-source-to-delete/BP_019_fr.md similarity index 100% rename from chapters/BP_019_fr.md rename to chapters-source-to-delete/BP_019_fr.md diff --git a/chapters/BP_021_en.md b/chapters-source-to-delete/BP_021_en.md similarity index 100% rename from chapters/BP_021_en.md rename to chapters-source-to-delete/BP_021_en.md diff --git a/chapters/BP_021_es.md b/chapters-source-to-delete/BP_021_es.md similarity index 100% rename from chapters/BP_021_es.md rename to chapters-source-to-delete/BP_021_es.md diff --git a/chapters/BP_021_fr.md b/chapters-source-to-delete/BP_021_fr.md similarity index 100% rename from chapters/BP_021_fr.md rename to chapters-source-to-delete/BP_021_fr.md diff --git a/chapters/BP_022_en.md b/chapters-source-to-delete/BP_022_en.md similarity index 100% rename from chapters/BP_022_en.md rename to chapters-source-to-delete/BP_022_en.md diff --git a/chapters/BP_022_es.md b/chapters-source-to-delete/BP_022_es.md similarity index 100% rename from chapters/BP_022_es.md rename to chapters-source-to-delete/BP_022_es.md diff --git a/chapters/BP_022_fr.md b/chapters-source-to-delete/BP_022_fr.md similarity index 100% rename from chapters/BP_022_fr.md rename to chapters-source-to-delete/BP_022_fr.md diff --git a/chapters/BP_023_en.md b/chapters-source-to-delete/BP_023_en.md similarity index 100% rename from chapters/BP_023_en.md rename to chapters-source-to-delete/BP_023_en.md diff --git a/chapters/BP_023_es.md b/chapters-source-to-delete/BP_023_es.md similarity index 100% rename from chapters/BP_023_es.md rename to chapters-source-to-delete/BP_023_es.md diff --git a/chapters/BP_023_fr.md b/chapters-source-to-delete/BP_023_fr.md similarity index 100% rename from chapters/BP_023_fr.md rename to chapters-source-to-delete/BP_023_fr.md diff --git a/chapters/BP_024_en.md b/chapters-source-to-delete/BP_024_en.md similarity index 100% rename from chapters/BP_024_en.md rename to chapters-source-to-delete/BP_024_en.md diff --git a/chapters/BP_024_es.md b/chapters-source-to-delete/BP_024_es.md similarity index 100% rename from chapters/BP_024_es.md rename to chapters-source-to-delete/BP_024_es.md diff --git a/chapters/BP_024_fr.md b/chapters-source-to-delete/BP_024_fr.md similarity index 100% rename from chapters/BP_024_fr.md rename to chapters-source-to-delete/BP_024_fr.md diff --git a/chapters/BP_025_en.md b/chapters-source-to-delete/BP_025_en.md similarity index 100% rename from chapters/BP_025_en.md rename to chapters-source-to-delete/BP_025_en.md diff --git a/chapters/BP_025_es.md b/chapters-source-to-delete/BP_025_es.md similarity index 100% rename from chapters/BP_025_es.md rename to chapters-source-to-delete/BP_025_es.md diff --git a/chapters/BP_025_fr.md b/chapters-source-to-delete/BP_025_fr.md similarity index 100% rename from chapters/BP_025_fr.md rename to chapters-source-to-delete/BP_025_fr.md diff --git a/chapters/BP_026_en.md b/chapters-source-to-delete/BP_026_en.md similarity index 100% rename from chapters/BP_026_en.md rename to chapters-source-to-delete/BP_026_en.md diff --git a/chapters/BP_026_es.md b/chapters-source-to-delete/BP_026_es.md similarity index 100% rename from chapters/BP_026_es.md rename to chapters-source-to-delete/BP_026_es.md diff --git a/chapters/BP_026_fr.md b/chapters-source-to-delete/BP_026_fr.md similarity index 100% rename from chapters/BP_026_fr.md rename to chapters-source-to-delete/BP_026_fr.md diff --git a/chapters/BP_027_en.md b/chapters-source-to-delete/BP_027_en.md similarity index 100% rename from chapters/BP_027_en.md rename to chapters-source-to-delete/BP_027_en.md diff --git a/chapters/BP_027_es.md b/chapters-source-to-delete/BP_027_es.md similarity index 100% rename from chapters/BP_027_es.md rename to chapters-source-to-delete/BP_027_es.md diff --git a/chapters/BP_027_fr.md b/chapters-source-to-delete/BP_027_fr.md similarity index 100% rename from chapters/BP_027_fr.md rename to chapters-source-to-delete/BP_027_fr.md diff --git a/chapters/BP_029_en.md b/chapters-source-to-delete/BP_029_en.md similarity index 100% rename from chapters/BP_029_en.md rename to chapters-source-to-delete/BP_029_en.md diff --git a/chapters/BP_029_es.md b/chapters-source-to-delete/BP_029_es.md similarity index 100% rename from chapters/BP_029_es.md rename to chapters-source-to-delete/BP_029_es.md diff --git a/chapters/BP_029_fr.md b/chapters-source-to-delete/BP_029_fr.md similarity index 100% rename from chapters/BP_029_fr.md rename to chapters-source-to-delete/BP_029_fr.md diff --git a/chapters/BP_030_en.md b/chapters-source-to-delete/BP_030_en.md similarity index 100% rename from chapters/BP_030_en.md rename to chapters-source-to-delete/BP_030_en.md diff --git a/chapters/BP_030_es.md b/chapters-source-to-delete/BP_030_es.md similarity index 100% rename from chapters/BP_030_es.md rename to chapters-source-to-delete/BP_030_es.md diff --git a/chapters/BP_030_fr.md b/chapters-source-to-delete/BP_030_fr.md similarity index 100% rename from chapters/BP_030_fr.md rename to chapters-source-to-delete/BP_030_fr.md diff --git a/chapters/BP_031_en.md b/chapters-source-to-delete/BP_031_en.md similarity index 100% rename from chapters/BP_031_en.md rename to chapters-source-to-delete/BP_031_en.md diff --git a/chapters/BP_031_es.md b/chapters-source-to-delete/BP_031_es.md similarity index 100% rename from chapters/BP_031_es.md rename to chapters-source-to-delete/BP_031_es.md diff --git a/chapters/BP_031_fr.md b/chapters-source-to-delete/BP_031_fr.md similarity index 100% rename from chapters/BP_031_fr.md rename to chapters-source-to-delete/BP_031_fr.md diff --git a/chapters/BP_032_en.md b/chapters-source-to-delete/BP_032_en.md similarity index 100% rename from chapters/BP_032_en.md rename to chapters-source-to-delete/BP_032_en.md diff --git a/chapters/BP_032_es.md b/chapters-source-to-delete/BP_032_es.md similarity index 100% rename from chapters/BP_032_es.md rename to chapters-source-to-delete/BP_032_es.md diff --git a/chapters/BP_032_fr.md b/chapters-source-to-delete/BP_032_fr.md similarity index 100% rename from chapters/BP_032_fr.md rename to chapters-source-to-delete/BP_032_fr.md diff --git a/chapters/BP_034_en.md b/chapters-source-to-delete/BP_034_en.md similarity index 100% rename from chapters/BP_034_en.md rename to chapters-source-to-delete/BP_034_en.md diff --git a/chapters/BP_034_es.md b/chapters-source-to-delete/BP_034_es.md similarity index 100% rename from chapters/BP_034_es.md rename to chapters-source-to-delete/BP_034_es.md diff --git a/chapters/BP_034_fr.md b/chapters-source-to-delete/BP_034_fr.md similarity index 100% rename from chapters/BP_034_fr.md rename to chapters-source-to-delete/BP_034_fr.md diff --git a/chapters/BP_035_en.md b/chapters-source-to-delete/BP_035_en.md similarity index 100% rename from chapters/BP_035_en.md rename to chapters-source-to-delete/BP_035_en.md diff --git a/chapters/BP_035_es.md b/chapters-source-to-delete/BP_035_es.md similarity index 100% rename from chapters/BP_035_es.md rename to chapters-source-to-delete/BP_035_es.md diff --git a/chapters/BP_035_fr.md b/chapters-source-to-delete/BP_035_fr.md similarity index 100% rename from chapters/BP_035_fr.md rename to chapters-source-to-delete/BP_035_fr.md diff --git a/chapters/BP_036_en.md b/chapters-source-to-delete/BP_036_en.md similarity index 100% rename from chapters/BP_036_en.md rename to chapters-source-to-delete/BP_036_en.md diff --git a/chapters/BP_036_es.md b/chapters-source-to-delete/BP_036_es.md similarity index 100% rename from chapters/BP_036_es.md rename to chapters-source-to-delete/BP_036_es.md diff --git a/chapters/BP_036_fr.md b/chapters-source-to-delete/BP_036_fr.md similarity index 100% rename from chapters/BP_036_fr.md rename to chapters-source-to-delete/BP_036_fr.md diff --git a/chapters/BP_037_en.md b/chapters-source-to-delete/BP_037_en.md similarity index 100% rename from chapters/BP_037_en.md rename to chapters-source-to-delete/BP_037_en.md diff --git a/chapters/BP_037_es.md b/chapters-source-to-delete/BP_037_es.md similarity index 100% rename from chapters/BP_037_es.md rename to chapters-source-to-delete/BP_037_es.md diff --git a/chapters/BP_037_fr.md b/chapters-source-to-delete/BP_037_fr.md similarity index 100% rename from chapters/BP_037_fr.md rename to chapters-source-to-delete/BP_037_fr.md diff --git a/chapters/BP_038_en.md b/chapters-source-to-delete/BP_038_en.md similarity index 100% rename from chapters/BP_038_en.md rename to chapters-source-to-delete/BP_038_en.md diff --git a/chapters/BP_038_es.md b/chapters-source-to-delete/BP_038_es.md similarity index 100% rename from chapters/BP_038_es.md rename to chapters-source-to-delete/BP_038_es.md diff --git a/chapters/BP_038_fr.md b/chapters-source-to-delete/BP_038_fr.md similarity index 100% rename from chapters/BP_038_fr.md rename to chapters-source-to-delete/BP_038_fr.md diff --git a/chapters/BP_039_en.md b/chapters-source-to-delete/BP_039_en.md similarity index 100% rename from chapters/BP_039_en.md rename to chapters-source-to-delete/BP_039_en.md diff --git a/chapters/BP_039_es.md b/chapters-source-to-delete/BP_039_es.md similarity index 100% rename from chapters/BP_039_es.md rename to chapters-source-to-delete/BP_039_es.md diff --git a/chapters/BP_039_fr.md b/chapters-source-to-delete/BP_039_fr.md similarity index 100% rename from chapters/BP_039_fr.md rename to chapters-source-to-delete/BP_039_fr.md diff --git a/chapters/BP_040_en.md b/chapters-source-to-delete/BP_040_en.md similarity index 100% rename from chapters/BP_040_en.md rename to chapters-source-to-delete/BP_040_en.md diff --git a/chapters/BP_040_es.md b/chapters-source-to-delete/BP_040_es.md similarity index 100% rename from chapters/BP_040_es.md rename to chapters-source-to-delete/BP_040_es.md diff --git a/chapters/BP_040_fr.md b/chapters-source-to-delete/BP_040_fr.md similarity index 100% rename from chapters/BP_040_fr.md rename to chapters-source-to-delete/BP_040_fr.md diff --git a/chapters/BP_041_en.md b/chapters-source-to-delete/BP_041_en.md similarity index 100% rename from chapters/BP_041_en.md rename to chapters-source-to-delete/BP_041_en.md diff --git a/chapters/BP_041_es.md b/chapters-source-to-delete/BP_041_es.md similarity index 100% rename from chapters/BP_041_es.md rename to chapters-source-to-delete/BP_041_es.md diff --git a/chapters/BP_041_fr.md b/chapters-source-to-delete/BP_041_fr.md similarity index 100% rename from chapters/BP_041_fr.md rename to chapters-source-to-delete/BP_041_fr.md diff --git a/chapters/BP_042_en.md b/chapters-source-to-delete/BP_042_en.md similarity index 100% rename from chapters/BP_042_en.md rename to chapters-source-to-delete/BP_042_en.md diff --git a/chapters/BP_042_es.md b/chapters-source-to-delete/BP_042_es.md similarity index 100% rename from chapters/BP_042_es.md rename to chapters-source-to-delete/BP_042_es.md diff --git a/chapters/BP_042_fr.md b/chapters-source-to-delete/BP_042_fr.md similarity index 100% rename from chapters/BP_042_fr.md rename to chapters-source-to-delete/BP_042_fr.md diff --git a/chapters/BP_043_en.md b/chapters-source-to-delete/BP_043_en.md similarity index 100% rename from chapters/BP_043_en.md rename to chapters-source-to-delete/BP_043_en.md diff --git a/chapters/BP_043_es.md b/chapters-source-to-delete/BP_043_es.md similarity index 100% rename from chapters/BP_043_es.md rename to chapters-source-to-delete/BP_043_es.md diff --git a/chapters/BP_043_fr.md b/chapters-source-to-delete/BP_043_fr.md similarity index 100% rename from chapters/BP_043_fr.md rename to chapters-source-to-delete/BP_043_fr.md diff --git a/chapters/BP_044_en.md b/chapters-source-to-delete/BP_044_en.md similarity index 100% rename from chapters/BP_044_en.md rename to chapters-source-to-delete/BP_044_en.md diff --git a/chapters/BP_044_es.md b/chapters-source-to-delete/BP_044_es.md similarity index 100% rename from chapters/BP_044_es.md rename to chapters-source-to-delete/BP_044_es.md diff --git a/chapters/BP_044_fr.md b/chapters-source-to-delete/BP_044_fr.md similarity index 100% rename from chapters/BP_044_fr.md rename to chapters-source-to-delete/BP_044_fr.md diff --git a/chapters/BP_045_en.md b/chapters-source-to-delete/BP_045_en.md similarity index 100% rename from chapters/BP_045_en.md rename to chapters-source-to-delete/BP_045_en.md diff --git a/chapters/BP_045_es.md b/chapters-source-to-delete/BP_045_es.md similarity index 100% rename from chapters/BP_045_es.md rename to chapters-source-to-delete/BP_045_es.md diff --git a/chapters/BP_045_fr.md b/chapters-source-to-delete/BP_045_fr.md similarity index 100% rename from chapters/BP_045_fr.md rename to chapters-source-to-delete/BP_045_fr.md diff --git a/chapters/BP_046_en.md b/chapters-source-to-delete/BP_046_en.md similarity index 100% rename from chapters/BP_046_en.md rename to chapters-source-to-delete/BP_046_en.md diff --git a/chapters/BP_046_es.md b/chapters-source-to-delete/BP_046_es.md similarity index 100% rename from chapters/BP_046_es.md rename to chapters-source-to-delete/BP_046_es.md diff --git a/chapters/BP_046_fr.md b/chapters-source-to-delete/BP_046_fr.md similarity index 100% rename from chapters/BP_046_fr.md rename to chapters-source-to-delete/BP_046_fr.md diff --git a/chapters/BP_049_en.md b/chapters-source-to-delete/BP_049_en.md similarity index 100% rename from chapters/BP_049_en.md rename to chapters-source-to-delete/BP_049_en.md diff --git a/chapters/BP_049_es.md b/chapters-source-to-delete/BP_049_es.md similarity index 100% rename from chapters/BP_049_es.md rename to chapters-source-to-delete/BP_049_es.md diff --git a/chapters/BP_049_fr.md b/chapters-source-to-delete/BP_049_fr.md similarity index 100% rename from chapters/BP_049_fr.md rename to chapters-source-to-delete/BP_049_fr.md diff --git a/chapters/BP_054_en.md b/chapters-source-to-delete/BP_054_en.md similarity index 100% rename from chapters/BP_054_en.md rename to chapters-source-to-delete/BP_054_en.md diff --git a/chapters/BP_054_es.md b/chapters-source-to-delete/BP_054_es.md similarity index 100% rename from chapters/BP_054_es.md rename to chapters-source-to-delete/BP_054_es.md diff --git a/chapters/BP_054_fr.md b/chapters-source-to-delete/BP_054_fr.md similarity index 100% rename from chapters/BP_054_fr.md rename to chapters-source-to-delete/BP_054_fr.md diff --git a/chapters/BP_057_en.md b/chapters-source-to-delete/BP_057_en.md similarity index 100% rename from chapters/BP_057_en.md rename to chapters-source-to-delete/BP_057_en.md diff --git a/chapters/BP_057_es.md b/chapters-source-to-delete/BP_057_es.md similarity index 100% rename from chapters/BP_057_es.md rename to chapters-source-to-delete/BP_057_es.md diff --git a/chapters/BP_057_fr.md b/chapters-source-to-delete/BP_057_fr.md similarity index 100% rename from chapters/BP_057_fr.md rename to chapters-source-to-delete/BP_057_fr.md diff --git a/chapters/BP_058_en.md b/chapters-source-to-delete/BP_058_en.md similarity index 100% rename from chapters/BP_058_en.md rename to chapters-source-to-delete/BP_058_en.md diff --git a/chapters/BP_058_es.md b/chapters-source-to-delete/BP_058_es.md similarity index 100% rename from chapters/BP_058_es.md rename to chapters-source-to-delete/BP_058_es.md diff --git a/chapters/BP_058_fr.md b/chapters-source-to-delete/BP_058_fr.md similarity index 100% rename from chapters/BP_058_fr.md rename to chapters-source-to-delete/BP_058_fr.md diff --git a/chapters/BP_060_en.md b/chapters-source-to-delete/BP_060_en.md similarity index 100% rename from chapters/BP_060_en.md rename to chapters-source-to-delete/BP_060_en.md diff --git a/chapters/BP_060_es.md b/chapters-source-to-delete/BP_060_es.md similarity index 100% rename from chapters/BP_060_es.md rename to chapters-source-to-delete/BP_060_es.md diff --git a/chapters/BP_060_fr.md b/chapters-source-to-delete/BP_060_fr.md similarity index 100% rename from chapters/BP_060_fr.md rename to chapters-source-to-delete/BP_060_fr.md diff --git a/chapters/BP_064_en.md b/chapters-source-to-delete/BP_064_en.md similarity index 100% rename from chapters/BP_064_en.md rename to chapters-source-to-delete/BP_064_en.md diff --git a/chapters/BP_064_es.md b/chapters-source-to-delete/BP_064_es.md similarity index 100% rename from chapters/BP_064_es.md rename to chapters-source-to-delete/BP_064_es.md diff --git a/chapters/BP_064_fr.md b/chapters-source-to-delete/BP_064_fr.md similarity index 100% rename from chapters/BP_064_fr.md rename to chapters-source-to-delete/BP_064_fr.md diff --git a/chapters/BP_070_en.md b/chapters-source-to-delete/BP_070_en.md similarity index 100% rename from chapters/BP_070_en.md rename to chapters-source-to-delete/BP_070_en.md diff --git a/chapters/BP_070_es.md b/chapters-source-to-delete/BP_070_es.md similarity index 100% rename from chapters/BP_070_es.md rename to chapters-source-to-delete/BP_070_es.md diff --git a/chapters/BP_070_fr.md b/chapters-source-to-delete/BP_070_fr.md similarity index 100% rename from chapters/BP_070_fr.md rename to chapters-source-to-delete/BP_070_fr.md diff --git a/chapters/BP_072_en.md b/chapters-source-to-delete/BP_072_en.md similarity index 100% rename from chapters/BP_072_en.md rename to chapters-source-to-delete/BP_072_en.md diff --git a/chapters/BP_072_es.md b/chapters-source-to-delete/BP_072_es.md similarity index 100% rename from chapters/BP_072_es.md rename to chapters-source-to-delete/BP_072_es.md diff --git a/chapters/BP_072_fr.md b/chapters-source-to-delete/BP_072_fr.md similarity index 100% rename from chapters/BP_072_fr.md rename to chapters-source-to-delete/BP_072_fr.md diff --git a/chapters/BP_073_en.md b/chapters-source-to-delete/BP_073_en.md similarity index 100% rename from chapters/BP_073_en.md rename to chapters-source-to-delete/BP_073_en.md diff --git a/chapters/BP_073_es.md b/chapters-source-to-delete/BP_073_es.md similarity index 100% rename from chapters/BP_073_es.md rename to chapters-source-to-delete/BP_073_es.md diff --git a/chapters/BP_073_fr.md b/chapters-source-to-delete/BP_073_fr.md similarity index 100% rename from chapters/BP_073_fr.md rename to chapters-source-to-delete/BP_073_fr.md diff --git a/chapters/BP_075_en.md b/chapters-source-to-delete/BP_075_en.md similarity index 100% rename from chapters/BP_075_en.md rename to chapters-source-to-delete/BP_075_en.md diff --git a/chapters/BP_075_es.md b/chapters-source-to-delete/BP_075_es.md similarity index 100% rename from chapters/BP_075_es.md rename to chapters-source-to-delete/BP_075_es.md diff --git a/chapters/BP_075_fr.md b/chapters-source-to-delete/BP_075_fr.md similarity index 100% rename from chapters/BP_075_fr.md rename to chapters-source-to-delete/BP_075_fr.md diff --git a/chapters/BP_076_en.md b/chapters-source-to-delete/BP_076_en.md similarity index 100% rename from chapters/BP_076_en.md rename to chapters-source-to-delete/BP_076_en.md diff --git a/chapters/BP_076_es.md b/chapters-source-to-delete/BP_076_es.md similarity index 100% rename from chapters/BP_076_es.md rename to chapters-source-to-delete/BP_076_es.md diff --git a/chapters/BP_076_fr.md b/chapters-source-to-delete/BP_076_fr.md similarity index 100% rename from chapters/BP_076_fr.md rename to chapters-source-to-delete/BP_076_fr.md diff --git a/chapters/BP_077_en.md b/chapters-source-to-delete/BP_077_en.md similarity index 100% rename from chapters/BP_077_en.md rename to chapters-source-to-delete/BP_077_en.md diff --git a/chapters/BP_077_es.md b/chapters-source-to-delete/BP_077_es.md similarity index 100% rename from chapters/BP_077_es.md rename to chapters-source-to-delete/BP_077_es.md diff --git a/chapters/BP_077_fr.md b/chapters-source-to-delete/BP_077_fr.md similarity index 100% rename from chapters/BP_077_fr.md rename to chapters-source-to-delete/BP_077_fr.md diff --git a/chapters/BP_078_en.md b/chapters-source-to-delete/BP_078_en.md similarity index 100% rename from chapters/BP_078_en.md rename to chapters-source-to-delete/BP_078_en.md diff --git a/chapters/BP_078_es.md b/chapters-source-to-delete/BP_078_es.md similarity index 100% rename from chapters/BP_078_es.md rename to chapters-source-to-delete/BP_078_es.md diff --git a/chapters/BP_078_fr.md b/chapters-source-to-delete/BP_078_fr.md similarity index 100% rename from chapters/BP_078_fr.md rename to chapters-source-to-delete/BP_078_fr.md diff --git a/chapters/BP_079_en.md b/chapters-source-to-delete/BP_079_en.md similarity index 100% rename from chapters/BP_079_en.md rename to chapters-source-to-delete/BP_079_en.md diff --git a/chapters/BP_079_es.md b/chapters-source-to-delete/BP_079_es.md similarity index 100% rename from chapters/BP_079_es.md rename to chapters-source-to-delete/BP_079_es.md diff --git a/chapters/BP_079_fr.md b/chapters-source-to-delete/BP_079_fr.md similarity index 100% rename from chapters/BP_079_fr.md rename to chapters-source-to-delete/BP_079_fr.md diff --git a/chapters/BP_080_en.md b/chapters-source-to-delete/BP_080_en.md similarity index 100% rename from chapters/BP_080_en.md rename to chapters-source-to-delete/BP_080_en.md diff --git a/chapters/BP_080_es.md b/chapters-source-to-delete/BP_080_es.md similarity index 100% rename from chapters/BP_080_es.md rename to chapters-source-to-delete/BP_080_es.md diff --git a/chapters/BP_080_fr.md b/chapters-source-to-delete/BP_080_fr.md similarity index 100% rename from chapters/BP_080_fr.md rename to chapters-source-to-delete/BP_080_fr.md diff --git a/chapters/BP_082_en.md b/chapters-source-to-delete/BP_082_en.md similarity index 100% rename from chapters/BP_082_en.md rename to chapters-source-to-delete/BP_082_en.md diff --git a/chapters/BP_082_es.md b/chapters-source-to-delete/BP_082_es.md similarity index 100% rename from chapters/BP_082_es.md rename to chapters-source-to-delete/BP_082_es.md diff --git a/chapters/BP_082_fr.md b/chapters-source-to-delete/BP_082_fr.md similarity index 100% rename from chapters/BP_082_fr.md rename to chapters-source-to-delete/BP_082_fr.md diff --git a/chapters/BP_084_en.md b/chapters-source-to-delete/BP_084_en.md similarity index 100% rename from chapters/BP_084_en.md rename to chapters-source-to-delete/BP_084_en.md diff --git a/chapters/BP_084_es.md b/chapters-source-to-delete/BP_084_es.md similarity index 100% rename from chapters/BP_084_es.md rename to chapters-source-to-delete/BP_084_es.md diff --git a/chapters/BP_084_fr.md b/chapters-source-to-delete/BP_084_fr.md similarity index 100% rename from chapters/BP_084_fr.md rename to chapters-source-to-delete/BP_084_fr.md diff --git a/chapters/BP_085_en.md b/chapters-source-to-delete/BP_085_en.md similarity index 100% rename from chapters/BP_085_en.md rename to chapters-source-to-delete/BP_085_en.md diff --git a/chapters/BP_085_es.md b/chapters-source-to-delete/BP_085_es.md similarity index 100% rename from chapters/BP_085_es.md rename to chapters-source-to-delete/BP_085_es.md diff --git a/chapters/BP_085_fr.md b/chapters-source-to-delete/BP_085_fr.md similarity index 100% rename from chapters/BP_085_fr.md rename to chapters-source-to-delete/BP_085_fr.md diff --git a/chapters/BP_086_en.md b/chapters-source-to-delete/BP_086_en.md similarity index 100% rename from chapters/BP_086_en.md rename to chapters-source-to-delete/BP_086_en.md diff --git a/chapters/BP_086_es.md b/chapters-source-to-delete/BP_086_es.md similarity index 100% rename from chapters/BP_086_es.md rename to chapters-source-to-delete/BP_086_es.md diff --git a/chapters/BP_086_fr.md b/chapters-source-to-delete/BP_086_fr.md similarity index 100% rename from chapters/BP_086_fr.md rename to chapters-source-to-delete/BP_086_fr.md diff --git a/chapters/BP_087_en.md b/chapters-source-to-delete/BP_087_en.md similarity index 100% rename from chapters/BP_087_en.md rename to chapters-source-to-delete/BP_087_en.md diff --git a/chapters/BP_087_es.md b/chapters-source-to-delete/BP_087_es.md similarity index 100% rename from chapters/BP_087_es.md rename to chapters-source-to-delete/BP_087_es.md diff --git a/chapters/BP_087_fr.md b/chapters-source-to-delete/BP_087_fr.md similarity index 100% rename from chapters/BP_087_fr.md rename to chapters-source-to-delete/BP_087_fr.md diff --git a/chapters/BP_088_en.md b/chapters-source-to-delete/BP_088_en.md similarity index 100% rename from chapters/BP_088_en.md rename to chapters-source-to-delete/BP_088_en.md diff --git a/chapters/BP_088_es.md b/chapters-source-to-delete/BP_088_es.md similarity index 100% rename from chapters/BP_088_es.md rename to chapters-source-to-delete/BP_088_es.md diff --git a/chapters/BP_088_fr.md b/chapters-source-to-delete/BP_088_fr.md similarity index 100% rename from chapters/BP_088_fr.md rename to chapters-source-to-delete/BP_088_fr.md diff --git a/chapters/BP_089_en.md b/chapters-source-to-delete/BP_089_en.md similarity index 100% rename from chapters/BP_089_en.md rename to chapters-source-to-delete/BP_089_en.md diff --git a/chapters/BP_089_es.md b/chapters-source-to-delete/BP_089_es.md similarity index 100% rename from chapters/BP_089_es.md rename to chapters-source-to-delete/BP_089_es.md diff --git a/chapters/BP_089_fr.md b/chapters-source-to-delete/BP_089_fr.md similarity index 100% rename from chapters/BP_089_fr.md rename to chapters-source-to-delete/BP_089_fr.md diff --git a/chapters/BP_090_en.md b/chapters-source-to-delete/BP_090_en.md similarity index 100% rename from chapters/BP_090_en.md rename to chapters-source-to-delete/BP_090_en.md diff --git a/chapters/BP_090_es.md b/chapters-source-to-delete/BP_090_es.md similarity index 100% rename from chapters/BP_090_es.md rename to chapters-source-to-delete/BP_090_es.md diff --git a/chapters/BP_090_fr.md b/chapters-source-to-delete/BP_090_fr.md similarity index 100% rename from chapters/BP_090_fr.md rename to chapters-source-to-delete/BP_090_fr.md diff --git a/chapters/BP_091_en.md b/chapters-source-to-delete/BP_091_en.md similarity index 100% rename from chapters/BP_091_en.md rename to chapters-source-to-delete/BP_091_en.md diff --git a/chapters/BP_091_es.md b/chapters-source-to-delete/BP_091_es.md similarity index 100% rename from chapters/BP_091_es.md rename to chapters-source-to-delete/BP_091_es.md diff --git a/chapters/BP_091_fr.md b/chapters-source-to-delete/BP_091_fr.md similarity index 100% rename from chapters/BP_091_fr.md rename to chapters-source-to-delete/BP_091_fr.md diff --git a/chapters/BP_092_en.md b/chapters-source-to-delete/BP_092_en.md similarity index 100% rename from chapters/BP_092_en.md rename to chapters-source-to-delete/BP_092_en.md diff --git a/chapters/BP_092_es.md b/chapters-source-to-delete/BP_092_es.md similarity index 100% rename from chapters/BP_092_es.md rename to chapters-source-to-delete/BP_092_es.md diff --git a/chapters/BP_092_fr.md b/chapters-source-to-delete/BP_092_fr.md similarity index 100% rename from chapters/BP_092_fr.md rename to chapters-source-to-delete/BP_092_fr.md diff --git a/chapters/BP_093_en.md b/chapters-source-to-delete/BP_093_en.md similarity index 100% rename from chapters/BP_093_en.md rename to chapters-source-to-delete/BP_093_en.md diff --git a/chapters/BP_093_es.md b/chapters-source-to-delete/BP_093_es.md similarity index 100% rename from chapters/BP_093_es.md rename to chapters-source-to-delete/BP_093_es.md diff --git a/chapters/BP_093_fr.md b/chapters-source-to-delete/BP_093_fr.md similarity index 100% rename from chapters/BP_093_fr.md rename to chapters-source-to-delete/BP_093_fr.md diff --git a/chapters/BP_094_en.md b/chapters-source-to-delete/BP_094_en.md similarity index 100% rename from chapters/BP_094_en.md rename to chapters-source-to-delete/BP_094_en.md diff --git a/chapters/BP_094_es.md b/chapters-source-to-delete/BP_094_es.md similarity index 100% rename from chapters/BP_094_es.md rename to chapters-source-to-delete/BP_094_es.md diff --git a/chapters/BP_094_fr.md b/chapters-source-to-delete/BP_094_fr.md similarity index 100% rename from chapters/BP_094_fr.md rename to chapters-source-to-delete/BP_094_fr.md diff --git a/chapters/BP_095_en.md b/chapters-source-to-delete/BP_095_en.md similarity index 100% rename from chapters/BP_095_en.md rename to chapters-source-to-delete/BP_095_en.md diff --git a/chapters/BP_095_es.md b/chapters-source-to-delete/BP_095_es.md similarity index 100% rename from chapters/BP_095_es.md rename to chapters-source-to-delete/BP_095_es.md diff --git a/chapters/BP_095_fr.md b/chapters-source-to-delete/BP_095_fr.md similarity index 100% rename from chapters/BP_095_fr.md rename to chapters-source-to-delete/BP_095_fr.md diff --git a/chapters/BP_096_en.md b/chapters-source-to-delete/BP_096_en.md similarity index 100% rename from chapters/BP_096_en.md rename to chapters-source-to-delete/BP_096_en.md diff --git a/chapters/BP_096_es.md b/chapters-source-to-delete/BP_096_es.md similarity index 100% rename from chapters/BP_096_es.md rename to chapters-source-to-delete/BP_096_es.md diff --git a/chapters/BP_096_fr.md b/chapters-source-to-delete/BP_096_fr.md similarity index 100% rename from chapters/BP_096_fr.md rename to chapters-source-to-delete/BP_096_fr.md diff --git a/chapters/BP_097_en.md b/chapters-source-to-delete/BP_097_en.md similarity index 100% rename from chapters/BP_097_en.md rename to chapters-source-to-delete/BP_097_en.md diff --git a/chapters/BP_097_es.md b/chapters-source-to-delete/BP_097_es.md similarity index 100% rename from chapters/BP_097_es.md rename to chapters-source-to-delete/BP_097_es.md diff --git a/chapters/BP_097_fr.md b/chapters-source-to-delete/BP_097_fr.md similarity index 100% rename from chapters/BP_097_fr.md rename to chapters-source-to-delete/BP_097_fr.md diff --git a/chapters/BP_098_en.md b/chapters-source-to-delete/BP_098_en.md similarity index 100% rename from chapters/BP_098_en.md rename to chapters-source-to-delete/BP_098_en.md diff --git a/chapters/BP_098_es.md b/chapters-source-to-delete/BP_098_es.md similarity index 100% rename from chapters/BP_098_es.md rename to chapters-source-to-delete/BP_098_es.md diff --git a/chapters/BP_098_fr.md b/chapters-source-to-delete/BP_098_fr.md similarity index 100% rename from chapters/BP_098_fr.md rename to chapters-source-to-delete/BP_098_fr.md diff --git a/chapters/BP_099_en.md b/chapters-source-to-delete/BP_099_en.md similarity index 100% rename from chapters/BP_099_en.md rename to chapters-source-to-delete/BP_099_en.md diff --git a/chapters/BP_099_es.md b/chapters-source-to-delete/BP_099_es.md similarity index 100% rename from chapters/BP_099_es.md rename to chapters-source-to-delete/BP_099_es.md diff --git a/chapters/BP_099_fr.md b/chapters-source-to-delete/BP_099_fr.md similarity index 100% rename from chapters/BP_099_fr.md rename to chapters-source-to-delete/BP_099_fr.md diff --git a/chapters/BP_101_en.md b/chapters-source-to-delete/BP_101_en.md similarity index 100% rename from chapters/BP_101_en.md rename to chapters-source-to-delete/BP_101_en.md diff --git a/chapters/BP_101_es.md b/chapters-source-to-delete/BP_101_es.md similarity index 100% rename from chapters/BP_101_es.md rename to chapters-source-to-delete/BP_101_es.md diff --git a/chapters/BP_101_fr.md b/chapters-source-to-delete/BP_101_fr.md similarity index 100% rename from chapters/BP_101_fr.md rename to chapters-source-to-delete/BP_101_fr.md diff --git a/chapters/BP_102_en.md b/chapters-source-to-delete/BP_102_en.md similarity index 100% rename from chapters/BP_102_en.md rename to chapters-source-to-delete/BP_102_en.md diff --git a/chapters/BP_102_es.md b/chapters-source-to-delete/BP_102_es.md similarity index 100% rename from chapters/BP_102_es.md rename to chapters-source-to-delete/BP_102_es.md diff --git a/chapters/BP_102_fr.md b/chapters-source-to-delete/BP_102_fr.md similarity index 100% rename from chapters/BP_102_fr.md rename to chapters-source-to-delete/BP_102_fr.md diff --git a/chapters/BP_103_en.md b/chapters-source-to-delete/BP_103_en.md similarity index 100% rename from chapters/BP_103_en.md rename to chapters-source-to-delete/BP_103_en.md diff --git a/chapters/BP_103_es.md b/chapters-source-to-delete/BP_103_es.md similarity index 100% rename from chapters/BP_103_es.md rename to chapters-source-to-delete/BP_103_es.md diff --git a/chapters/BP_103_fr.md b/chapters-source-to-delete/BP_103_fr.md similarity index 100% rename from chapters/BP_103_fr.md rename to chapters-source-to-delete/BP_103_fr.md diff --git a/chapters/BP_104_en.md b/chapters-source-to-delete/BP_104_en.md similarity index 100% rename from chapters/BP_104_en.md rename to chapters-source-to-delete/BP_104_en.md diff --git a/chapters/BP_104_es.md b/chapters-source-to-delete/BP_104_es.md similarity index 100% rename from chapters/BP_104_es.md rename to chapters-source-to-delete/BP_104_es.md diff --git a/chapters/BP_104_fr.md b/chapters-source-to-delete/BP_104_fr.md similarity index 100% rename from chapters/BP_104_fr.md rename to chapters-source-to-delete/BP_104_fr.md diff --git a/chapters/BP_105_en.md b/chapters-source-to-delete/BP_105_en.md similarity index 100% rename from chapters/BP_105_en.md rename to chapters-source-to-delete/BP_105_en.md diff --git a/chapters/BP_105_es.md b/chapters-source-to-delete/BP_105_es.md similarity index 100% rename from chapters/BP_105_es.md rename to chapters-source-to-delete/BP_105_es.md diff --git a/chapters/BP_105_fr.md b/chapters-source-to-delete/BP_105_fr.md similarity index 100% rename from chapters/BP_105_fr.md rename to chapters-source-to-delete/BP_105_fr.md diff --git a/chapters/BP_106_en.md b/chapters-source-to-delete/BP_106_en.md similarity index 100% rename from chapters/BP_106_en.md rename to chapters-source-to-delete/BP_106_en.md diff --git a/chapters/BP_106_es.md b/chapters-source-to-delete/BP_106_es.md similarity index 100% rename from chapters/BP_106_es.md rename to chapters-source-to-delete/BP_106_es.md diff --git a/chapters/BP_106_fr.md b/chapters-source-to-delete/BP_106_fr.md similarity index 100% rename from chapters/BP_106_fr.md rename to chapters-source-to-delete/BP_106_fr.md diff --git a/chapters/BP_107_en.md b/chapters-source-to-delete/BP_107_en.md similarity index 100% rename from chapters/BP_107_en.md rename to chapters-source-to-delete/BP_107_en.md diff --git a/chapters/BP_107_es.md b/chapters-source-to-delete/BP_107_es.md similarity index 100% rename from chapters/BP_107_es.md rename to chapters-source-to-delete/BP_107_es.md diff --git a/chapters/BP_107_fr.md b/chapters-source-to-delete/BP_107_fr.md similarity index 100% rename from chapters/BP_107_fr.md rename to chapters-source-to-delete/BP_107_fr.md diff --git a/chapters/BP_108_en.md b/chapters-source-to-delete/BP_108_en.md similarity index 100% rename from chapters/BP_108_en.md rename to chapters-source-to-delete/BP_108_en.md diff --git a/chapters/BP_108_es.md b/chapters-source-to-delete/BP_108_es.md similarity index 100% rename from chapters/BP_108_es.md rename to chapters-source-to-delete/BP_108_es.md diff --git a/chapters/BP_108_fr.md b/chapters-source-to-delete/BP_108_fr.md similarity index 100% rename from chapters/BP_108_fr.md rename to chapters-source-to-delete/BP_108_fr.md diff --git a/chapters/BP_109_en.md b/chapters-source-to-delete/BP_109_en.md similarity index 100% rename from chapters/BP_109_en.md rename to chapters-source-to-delete/BP_109_en.md diff --git a/chapters/BP_109_es.md b/chapters-source-to-delete/BP_109_es.md similarity index 100% rename from chapters/BP_109_es.md rename to chapters-source-to-delete/BP_109_es.md diff --git a/chapters/BP_109_fr.md b/chapters-source-to-delete/BP_109_fr.md similarity index 100% rename from chapters/BP_109_fr.md rename to chapters-source-to-delete/BP_109_fr.md diff --git a/chapters/BP_110_en.md b/chapters-source-to-delete/BP_110_en.md similarity index 100% rename from chapters/BP_110_en.md rename to chapters-source-to-delete/BP_110_en.md diff --git a/chapters/BP_110_es.md b/chapters-source-to-delete/BP_110_es.md similarity index 100% rename from chapters/BP_110_es.md rename to chapters-source-to-delete/BP_110_es.md diff --git a/chapters/BP_110_fr.md b/chapters-source-to-delete/BP_110_fr.md similarity index 100% rename from chapters/BP_110_fr.md rename to chapters-source-to-delete/BP_110_fr.md diff --git a/chapters/BP_111_en.md b/chapters-source-to-delete/BP_111_en.md similarity index 100% rename from chapters/BP_111_en.md rename to chapters-source-to-delete/BP_111_en.md diff --git a/chapters/BP_111_es.md b/chapters-source-to-delete/BP_111_es.md similarity index 100% rename from chapters/BP_111_es.md rename to chapters-source-to-delete/BP_111_es.md diff --git a/chapters/BP_111_fr.md b/chapters-source-to-delete/BP_111_fr.md similarity index 100% rename from chapters/BP_111_fr.md rename to chapters-source-to-delete/BP_111_fr.md diff --git a/chapters/BP_112_en.md b/chapters-source-to-delete/BP_112_en.md similarity index 100% rename from chapters/BP_112_en.md rename to chapters-source-to-delete/BP_112_en.md diff --git a/chapters/BP_112_es.md b/chapters-source-to-delete/BP_112_es.md similarity index 100% rename from chapters/BP_112_es.md rename to chapters-source-to-delete/BP_112_es.md diff --git a/chapters/BP_112_fr.md b/chapters-source-to-delete/BP_112_fr.md similarity index 100% rename from chapters/BP_112_fr.md rename to chapters-source-to-delete/BP_112_fr.md diff --git a/chapters/BP_113_en.md b/chapters-source-to-delete/BP_113_en.md similarity index 100% rename from chapters/BP_113_en.md rename to chapters-source-to-delete/BP_113_en.md diff --git a/chapters/BP_113_es.md b/chapters-source-to-delete/BP_113_es.md similarity index 100% rename from chapters/BP_113_es.md rename to chapters-source-to-delete/BP_113_es.md diff --git a/chapters/BP_113_fr.md b/chapters-source-to-delete/BP_113_fr.md similarity index 100% rename from chapters/BP_113_fr.md rename to chapters-source-to-delete/BP_113_fr.md diff --git a/chapters/BP_114_en.md b/chapters-source-to-delete/BP_114_en.md similarity index 100% rename from chapters/BP_114_en.md rename to chapters-source-to-delete/BP_114_en.md diff --git a/chapters/BP_114_es.md b/chapters-source-to-delete/BP_114_es.md similarity index 100% rename from chapters/BP_114_es.md rename to chapters-source-to-delete/BP_114_es.md diff --git a/chapters/BP_114_fr.md b/chapters-source-to-delete/BP_114_fr.md similarity index 100% rename from chapters/BP_114_fr.md rename to chapters-source-to-delete/BP_114_fr.md diff --git a/chapters/BP_4001_en.md b/chapters-source-to-delete/BP_4001_en.md similarity index 100% rename from chapters/BP_4001_en.md rename to chapters-source-to-delete/BP_4001_en.md diff --git a/chapters/BP_4001_es.md b/chapters-source-to-delete/BP_4001_es.md similarity index 100% rename from chapters/BP_4001_es.md rename to chapters-source-to-delete/BP_4001_es.md diff --git a/chapters/BP_4001_fr.md b/chapters-source-to-delete/BP_4001_fr.md similarity index 100% rename from chapters/BP_4001_fr.md rename to chapters-source-to-delete/BP_4001_fr.md diff --git a/chapters/BP_4002_en.md b/chapters-source-to-delete/BP_4002_en.md similarity index 100% rename from chapters/BP_4002_en.md rename to chapters-source-to-delete/BP_4002_en.md diff --git a/chapters/BP_4002_es.md b/chapters-source-to-delete/BP_4002_es.md similarity index 100% rename from chapters/BP_4002_es.md rename to chapters-source-to-delete/BP_4002_es.md diff --git a/chapters/BP_4002_fr.md b/chapters-source-to-delete/BP_4002_fr.md similarity index 100% rename from chapters/BP_4002_fr.md rename to chapters-source-to-delete/BP_4002_fr.md diff --git a/chapters/BP_4003_en.md b/chapters-source-to-delete/BP_4003_en.md similarity index 100% rename from chapters/BP_4003_en.md rename to chapters-source-to-delete/BP_4003_en.md diff --git a/chapters/BP_4003_es.md b/chapters-source-to-delete/BP_4003_es.md similarity index 100% rename from chapters/BP_4003_es.md rename to chapters-source-to-delete/BP_4003_es.md diff --git a/chapters/BP_4003_fr.md b/chapters-source-to-delete/BP_4003_fr.md similarity index 100% rename from chapters/BP_4003_fr.md rename to chapters-source-to-delete/BP_4003_fr.md diff --git a/chapters/BP_4004_en.md b/chapters-source-to-delete/BP_4004_en.md similarity index 100% rename from chapters/BP_4004_en.md rename to chapters-source-to-delete/BP_4004_en.md diff --git a/chapters/BP_4004_es.md b/chapters-source-to-delete/BP_4004_es.md similarity index 100% rename from chapters/BP_4004_es.md rename to chapters-source-to-delete/BP_4004_es.md diff --git a/chapters/BP_4004_fr.md b/chapters-source-to-delete/BP_4004_fr.md similarity index 100% rename from chapters/BP_4004_fr.md rename to chapters-source-to-delete/BP_4004_fr.md diff --git a/chapters/BP_4005_en.md b/chapters-source-to-delete/BP_4005_en.md similarity index 100% rename from chapters/BP_4005_en.md rename to chapters-source-to-delete/BP_4005_en.md diff --git a/chapters/BP_4005_es.md b/chapters-source-to-delete/BP_4005_es.md similarity index 100% rename from chapters/BP_4005_es.md rename to chapters-source-to-delete/BP_4005_es.md diff --git a/chapters/BP_4005_fr.md b/chapters-source-to-delete/BP_4005_fr.md similarity index 100% rename from chapters/BP_4005_fr.md rename to chapters-source-to-delete/BP_4005_fr.md diff --git a/chapters/BP_4006_en.md b/chapters-source-to-delete/BP_4006_en.md similarity index 100% rename from chapters/BP_4006_en.md rename to chapters-source-to-delete/BP_4006_en.md diff --git a/chapters/BP_4006_es.md b/chapters-source-to-delete/BP_4006_es.md similarity index 100% rename from chapters/BP_4006_es.md rename to chapters-source-to-delete/BP_4006_es.md diff --git a/chapters/BP_4006_fr.md b/chapters-source-to-delete/BP_4006_fr.md similarity index 100% rename from chapters/BP_4006_fr.md rename to chapters-source-to-delete/BP_4006_fr.md diff --git a/chapters/BP_4007_en.md b/chapters-source-to-delete/BP_4007_en.md similarity index 100% rename from chapters/BP_4007_en.md rename to chapters-source-to-delete/BP_4007_en.md diff --git a/chapters/BP_4007_es.md b/chapters-source-to-delete/BP_4007_es.md similarity index 100% rename from chapters/BP_4007_es.md rename to chapters-source-to-delete/BP_4007_es.md diff --git a/chapters/BP_4007_fr.md b/chapters-source-to-delete/BP_4007_fr.md similarity index 100% rename from chapters/BP_4007_fr.md rename to chapters-source-to-delete/BP_4007_fr.md diff --git a/chapters/BP_4008_en.md b/chapters-source-to-delete/BP_4008_en.md similarity index 100% rename from chapters/BP_4008_en.md rename to chapters-source-to-delete/BP_4008_en.md diff --git a/chapters/BP_4008_es.md b/chapters-source-to-delete/BP_4008_es.md similarity index 100% rename from chapters/BP_4008_es.md rename to chapters-source-to-delete/BP_4008_es.md diff --git a/chapters/BP_4008_fr.md b/chapters-source-to-delete/BP_4008_fr.md similarity index 100% rename from chapters/BP_4008_fr.md rename to chapters-source-to-delete/BP_4008_fr.md diff --git a/chapters/BP_4009_en.md b/chapters-source-to-delete/BP_4009_en.md similarity index 100% rename from chapters/BP_4009_en.md rename to chapters-source-to-delete/BP_4009_en.md diff --git a/chapters/BP_4009_es.md b/chapters-source-to-delete/BP_4009_es.md similarity index 100% rename from chapters/BP_4009_es.md rename to chapters-source-to-delete/BP_4009_es.md diff --git a/chapters/BP_4009_fr.md b/chapters-source-to-delete/BP_4009_fr.md similarity index 100% rename from chapters/BP_4009_fr.md rename to chapters-source-to-delete/BP_4009_fr.md diff --git a/chapters/BP_4011_en.md b/chapters-source-to-delete/BP_4011_en.md similarity index 100% rename from chapters/BP_4011_en.md rename to chapters-source-to-delete/BP_4011_en.md diff --git a/chapters/BP_4011_es.md b/chapters-source-to-delete/BP_4011_es.md similarity index 100% rename from chapters/BP_4011_es.md rename to chapters-source-to-delete/BP_4011_es.md diff --git a/chapters/BP_4011_fr.md b/chapters-source-to-delete/BP_4011_fr.md similarity index 100% rename from chapters/BP_4011_fr.md rename to chapters-source-to-delete/BP_4011_fr.md diff --git a/chapters/BP_4012_en.md b/chapters-source-to-delete/BP_4012_en.md similarity index 100% rename from chapters/BP_4012_en.md rename to chapters-source-to-delete/BP_4012_en.md diff --git a/chapters/BP_4012_es.md b/chapters-source-to-delete/BP_4012_es.md similarity index 100% rename from chapters/BP_4012_es.md rename to chapters-source-to-delete/BP_4012_es.md diff --git a/chapters/BP_4012_fr.md b/chapters-source-to-delete/BP_4012_fr.md similarity index 100% rename from chapters/BP_4012_fr.md rename to chapters-source-to-delete/BP_4012_fr.md diff --git a/chapters/BP_4013_en.md b/chapters-source-to-delete/BP_4013_en.md similarity index 100% rename from chapters/BP_4013_en.md rename to chapters-source-to-delete/BP_4013_en.md diff --git a/chapters/BP_4013_es.md b/chapters-source-to-delete/BP_4013_es.md similarity index 100% rename from chapters/BP_4013_es.md rename to chapters-source-to-delete/BP_4013_es.md diff --git a/chapters/BP_4013_fr.md b/chapters-source-to-delete/BP_4013_fr.md similarity index 100% rename from chapters/BP_4013_fr.md rename to chapters-source-to-delete/BP_4013_fr.md diff --git a/chapters/BP_4014_en.md b/chapters-source-to-delete/BP_4014_en.md similarity index 100% rename from chapters/BP_4014_en.md rename to chapters-source-to-delete/BP_4014_en.md diff --git a/chapters/BP_4014_es.md b/chapters-source-to-delete/BP_4014_es.md similarity index 100% rename from chapters/BP_4014_es.md rename to chapters-source-to-delete/BP_4014_es.md diff --git a/chapters/BP_4014_fr.md b/chapters-source-to-delete/BP_4014_fr.md similarity index 100% rename from chapters/BP_4014_fr.md rename to chapters-source-to-delete/BP_4014_fr.md diff --git a/chapters/BP_4015_en.md b/chapters-source-to-delete/BP_4015_en.md similarity index 100% rename from chapters/BP_4015_en.md rename to chapters-source-to-delete/BP_4015_en.md diff --git a/chapters/BP_4015_es.md b/chapters-source-to-delete/BP_4015_es.md similarity index 100% rename from chapters/BP_4015_es.md rename to chapters-source-to-delete/BP_4015_es.md diff --git a/chapters/BP_4015_fr.md b/chapters-source-to-delete/BP_4015_fr.md similarity index 100% rename from chapters/BP_4015_fr.md rename to chapters-source-to-delete/BP_4015_fr.md diff --git a/chapters/BP_4016_en.md b/chapters-source-to-delete/BP_4016_en.md similarity index 100% rename from chapters/BP_4016_en.md rename to chapters-source-to-delete/BP_4016_en.md diff --git a/chapters/BP_4016_es.md b/chapters-source-to-delete/BP_4016_es.md similarity index 100% rename from chapters/BP_4016_es.md rename to chapters-source-to-delete/BP_4016_es.md diff --git a/chapters/BP_4016_fr.md b/chapters-source-to-delete/BP_4016_fr.md similarity index 100% rename from chapters/BP_4016_fr.md rename to chapters-source-to-delete/BP_4016_fr.md diff --git a/chapters/BP_4017_en.md b/chapters-source-to-delete/BP_4017_en.md similarity index 100% rename from chapters/BP_4017_en.md rename to chapters-source-to-delete/BP_4017_en.md diff --git a/chapters/BP_4017_es.md b/chapters-source-to-delete/BP_4017_es.md similarity index 100% rename from chapters/BP_4017_es.md rename to chapters-source-to-delete/BP_4017_es.md diff --git a/chapters/BP_4017_fr.md b/chapters-source-to-delete/BP_4017_fr.md similarity index 100% rename from chapters/BP_4017_fr.md rename to chapters-source-to-delete/BP_4017_fr.md diff --git a/chapters/BP_4018_en.md b/chapters-source-to-delete/BP_4018_en.md similarity index 100% rename from chapters/BP_4018_en.md rename to chapters-source-to-delete/BP_4018_en.md diff --git a/chapters/BP_4018_es.md b/chapters-source-to-delete/BP_4018_es.md similarity index 100% rename from chapters/BP_4018_es.md rename to chapters-source-to-delete/BP_4018_es.md diff --git a/chapters/BP_4018_fr.md b/chapters-source-to-delete/BP_4018_fr.md similarity index 100% rename from chapters/BP_4018_fr.md rename to chapters-source-to-delete/BP_4018_fr.md diff --git a/chapters/BP_4019_en.md b/chapters-source-to-delete/BP_4019_en.md similarity index 100% rename from chapters/BP_4019_en.md rename to chapters-source-to-delete/BP_4019_en.md diff --git a/chapters/BP_4019_es.md b/chapters-source-to-delete/BP_4019_es.md similarity index 100% rename from chapters/BP_4019_es.md rename to chapters-source-to-delete/BP_4019_es.md diff --git a/chapters/BP_4019_fr.md b/chapters-source-to-delete/BP_4019_fr.md similarity index 100% rename from chapters/BP_4019_fr.md rename to chapters-source-to-delete/BP_4019_fr.md diff --git a/chapters/BP_4020_en.md b/chapters-source-to-delete/BP_4020_en.md similarity index 100% rename from chapters/BP_4020_en.md rename to chapters-source-to-delete/BP_4020_en.md diff --git a/chapters/BP_4020_es.md b/chapters-source-to-delete/BP_4020_es.md similarity index 100% rename from chapters/BP_4020_es.md rename to chapters-source-to-delete/BP_4020_es.md diff --git a/chapters/BP_4020_fr.md b/chapters-source-to-delete/BP_4020_fr.md similarity index 100% rename from chapters/BP_4020_fr.md rename to chapters-source-to-delete/BP_4020_fr.md diff --git a/chapters/BP_4021_en.md b/chapters-source-to-delete/BP_4021_en.md similarity index 100% rename from chapters/BP_4021_en.md rename to chapters-source-to-delete/BP_4021_en.md diff --git a/chapters/BP_4021_es.md b/chapters-source-to-delete/BP_4021_es.md similarity index 100% rename from chapters/BP_4021_es.md rename to chapters-source-to-delete/BP_4021_es.md diff --git a/chapters/BP_4021_fr.md b/chapters-source-to-delete/BP_4021_fr.md similarity index 100% rename from chapters/BP_4021_fr.md rename to chapters-source-to-delete/BP_4021_fr.md diff --git a/chapters/BP_4022_en.md b/chapters-source-to-delete/BP_4022_en.md similarity index 100% rename from chapters/BP_4022_en.md rename to chapters-source-to-delete/BP_4022_en.md diff --git a/chapters/BP_4022_es.md b/chapters-source-to-delete/BP_4022_es.md similarity index 100% rename from chapters/BP_4022_es.md rename to chapters-source-to-delete/BP_4022_es.md diff --git a/chapters/BP_4022_fr.md b/chapters-source-to-delete/BP_4022_fr.md similarity index 100% rename from chapters/BP_4022_fr.md rename to chapters-source-to-delete/BP_4022_fr.md diff --git a/chapters/BP_4030_en.md b/chapters-source-to-delete/BP_4030_en.md similarity index 100% rename from chapters/BP_4030_en.md rename to chapters-source-to-delete/BP_4030_en.md diff --git a/chapters/BP_4030_es.md b/chapters-source-to-delete/BP_4030_es.md similarity index 100% rename from chapters/BP_4030_es.md rename to chapters-source-to-delete/BP_4030_es.md diff --git a/chapters/BP_4030_fr.md b/chapters-source-to-delete/BP_4030_fr.md similarity index 100% rename from chapters/BP_4030_fr.md rename to chapters-source-to-delete/BP_4030_fr.md diff --git a/chapters/BP_4031_en.md b/chapters-source-to-delete/BP_4031_en.md similarity index 100% rename from chapters/BP_4031_en.md rename to chapters-source-to-delete/BP_4031_en.md diff --git a/chapters/BP_4031_es.md b/chapters-source-to-delete/BP_4031_es.md similarity index 100% rename from chapters/BP_4031_es.md rename to chapters-source-to-delete/BP_4031_es.md diff --git a/chapters/BP_4031_fr.md b/chapters-source-to-delete/BP_4031_fr.md similarity index 100% rename from chapters/BP_4031_fr.md rename to chapters-source-to-delete/BP_4031_fr.md diff --git a/chapters/BP_4032_en.md b/chapters-source-to-delete/BP_4032_en.md similarity index 100% rename from chapters/BP_4032_en.md rename to chapters-source-to-delete/BP_4032_en.md diff --git a/chapters/BP_4032_es.md b/chapters-source-to-delete/BP_4032_es.md similarity index 100% rename from chapters/BP_4032_es.md rename to chapters-source-to-delete/BP_4032_es.md diff --git a/chapters/BP_4032_fr.md b/chapters-source-to-delete/BP_4032_fr.md similarity index 100% rename from chapters/BP_4032_fr.md rename to chapters-source-to-delete/BP_4032_fr.md diff --git a/chapters/BP_4033_en.md b/chapters-source-to-delete/BP_4033_en.md similarity index 100% rename from chapters/BP_4033_en.md rename to chapters-source-to-delete/BP_4033_en.md diff --git a/chapters/BP_4033_es.md b/chapters-source-to-delete/BP_4033_es.md similarity index 100% rename from chapters/BP_4033_es.md rename to chapters-source-to-delete/BP_4033_es.md diff --git a/chapters/BP_4033_fr.md b/chapters-source-to-delete/BP_4033_fr.md similarity index 100% rename from chapters/BP_4033_fr.md rename to chapters-source-to-delete/BP_4033_fr.md diff --git a/chapters/BP_4034_en.md b/chapters-source-to-delete/BP_4034_en.md similarity index 100% rename from chapters/BP_4034_en.md rename to chapters-source-to-delete/BP_4034_en.md diff --git a/chapters/BP_4034_es.md b/chapters-source-to-delete/BP_4034_es.md similarity index 100% rename from chapters/BP_4034_es.md rename to chapters-source-to-delete/BP_4034_es.md diff --git a/chapters/BP_4034_fr.md b/chapters-source-to-delete/BP_4034_fr.md similarity index 100% rename from chapters/BP_4034_fr.md rename to chapters-source-to-delete/BP_4034_fr.md diff --git a/chapters/BP_4035_en.md b/chapters-source-to-delete/BP_4035_en.md similarity index 100% rename from chapters/BP_4035_en.md rename to chapters-source-to-delete/BP_4035_en.md diff --git a/chapters/BP_4035_es.md b/chapters-source-to-delete/BP_4035_es.md similarity index 100% rename from chapters/BP_4035_es.md rename to chapters-source-to-delete/BP_4035_es.md diff --git a/chapters/BP_4035_fr.md b/chapters-source-to-delete/BP_4035_fr.md similarity index 100% rename from chapters/BP_4035_fr.md rename to chapters-source-to-delete/BP_4035_fr.md diff --git a/chapters/BP_4036_en.md b/chapters-source-to-delete/BP_4036_en.md similarity index 100% rename from chapters/BP_4036_en.md rename to chapters-source-to-delete/BP_4036_en.md diff --git a/chapters/BP_4036_es.md b/chapters-source-to-delete/BP_4036_es.md similarity index 100% rename from chapters/BP_4036_es.md rename to chapters-source-to-delete/BP_4036_es.md diff --git a/chapters/BP_4036_fr.md b/chapters-source-to-delete/BP_4036_fr.md similarity index 100% rename from chapters/BP_4036_fr.md rename to chapters-source-to-delete/BP_4036_fr.md diff --git a/chapters/BP_4037_en.md b/chapters-source-to-delete/BP_4037_en.md similarity index 100% rename from chapters/BP_4037_en.md rename to chapters-source-to-delete/BP_4037_en.md diff --git a/chapters/BP_4037_es.md b/chapters-source-to-delete/BP_4037_es.md similarity index 100% rename from chapters/BP_4037_es.md rename to chapters-source-to-delete/BP_4037_es.md diff --git a/chapters/BP_4037_fr.md b/chapters-source-to-delete/BP_4037_fr.md similarity index 100% rename from chapters/BP_4037_fr.md rename to chapters-source-to-delete/BP_4037_fr.md diff --git a/chapters/BP_4038_en.md b/chapters-source-to-delete/BP_4038_en.md similarity index 100% rename from chapters/BP_4038_en.md rename to chapters-source-to-delete/BP_4038_en.md diff --git a/chapters/BP_4038_es.md b/chapters-source-to-delete/BP_4038_es.md similarity index 100% rename from chapters/BP_4038_es.md rename to chapters-source-to-delete/BP_4038_es.md diff --git a/chapters/BP_4038_fr.md b/chapters-source-to-delete/BP_4038_fr.md similarity index 100% rename from chapters/BP_4038_fr.md rename to chapters-source-to-delete/BP_4038_fr.md diff --git a/chapters/BP_4039_en.md b/chapters-source-to-delete/BP_4039_en.md similarity index 100% rename from chapters/BP_4039_en.md rename to chapters-source-to-delete/BP_4039_en.md diff --git a/chapters/BP_4039_es.md b/chapters-source-to-delete/BP_4039_es.md similarity index 100% rename from chapters/BP_4039_es.md rename to chapters-source-to-delete/BP_4039_es.md diff --git a/chapters/BP_4039_fr.md b/chapters-source-to-delete/BP_4039_fr.md similarity index 100% rename from chapters/BP_4039_fr.md rename to chapters-source-to-delete/BP_4039_fr.md diff --git a/chapters/img.png b/chapters-source-to-delete/img.png similarity index 100% rename from chapters/img.png rename to chapters-source-to-delete/img.png diff --git a/chapters/img_1.png b/chapters-source-to-delete/img_1.png similarity index 100% rename from chapters/img_1.png rename to chapters-source-to-delete/img_1.png diff --git a/chapters/img_2.png b/chapters-source-to-delete/img_2.png similarity index 100% rename from chapters/img_2.png rename to chapters-source-to-delete/img_2.png diff --git a/resources/BP_xxxx_fr.md b/resources/BP_xxxx_fr.md deleted file mode 100644 index e958067d..00000000 --- a/resources/BP_xxxx_fr.md +++ /dev/null @@ -1,41 +0,0 @@ -## Titre - -### Identifiants - -| GreenIT | V2 | V3 | V4 | -|:-------:|:----:|:----:|:----:| -| | | | | - -### Catégories - -| Cycle de vie | Tiers | Responsable | -|:---------:|:----:|:----:| -| | | | - -### Indications - -| Degré de priorité | Mise en oeuvre | Impact écologique | -|-------------------|:-------------------------:|:---------------------:| -| | | | - -|Ressources Economisées | -|:----------------------------------------------------------:| -|Processeur / Mémoire vive / Stockage / Réseau / Requêtes | - -### Description - -... - -### Exemple - -(facultatif) ... - -### Solution alternative - -(facultatif) ... - -### Principe de validation - -| Le nombre ... | est inférieur ou égal à | -|-------------------|:-------------------------:| -| de ... | ... | diff --git a/resources/Lancement_Referentiel_EcoconceptionWeb_V4.pdf b/resources/Lancement_Referentiel_EcoconceptionWeb_V4.pdf deleted file mode 100644 index d596a5fa9d8dd6e91e76d1cfc8b2169ab5160e15..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47839 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 O5PQeYuAr_+Oz=OE^eB4( From 06cdd85d6d222f3e503b9137d10d7664b3cf998d Mon Sep 17 00:00:00 2001 From: Renaud Heluin Date: Sat, 10 May 2025 10:54:07 +0200 Subject: [PATCH 002/568] feat: add cms, next and datas (in `src/content/**/*.md`) --- .DS_Store | Bin 10244 -> 10244 bytes .env.example | 21 + .eslintignore | 2 + .eslintrc | 6 + .gitignore | 27 +- .gitignore copy | 28 + .local_mogodb/.env | 5 + .local_mogodb/.gitignore | 1 + .local_mogodb/docker-compose.yml | 48 + .nvmrc | 1 + .prettierrc | 1 + .vscode/extensions.json | 7 + .vscode/settings.json | 3 + NOTICE | 4 + app/[lang]/fiches/[slug]/page.tsx | 52 + app/[lang]/fiches/fiches.preval.ts | 10 + app/[lang]/fiches/page.tsx | 83 + app/[lang]/layout.tsx | 34 + app/[lang]/lexique/[slug]/page.tsx | 23 + app/[lang]/lexique/lexique.preval.ts | 10 + app/[lang]/lexique/page.tsx | 85 + app/[lang]/mentions-legales/page.tsx | 17 + app/[lang]/page.tsx | 21 + app/[lang]/personas/[slug]/page.tsx | 24 + app/[lang]/personas/page.tsx | 48 + app/[lang]/personas/personas.preval.ts | 10 + app/favicon.ico | Bin 0 -> 4286 bytes app/globals.css | 281 + app/layout.tsx | 13 + app/page.tsx | 27 + components/card-view.tsx | 52 + components/footer.tsx | 71 + components/header.tsx | 134 + components/iconify.tsx | 16 + components/language-picker.tsx | 46 + components/licence.tsx | 49 + components/mdx/CTAWithIcon.tsx | 28 + components/mdx/Headings/Headings_h1.tsx | 14 + components/mdx/Headings/Headings_h2.tsx | 13 + components/mdx/Headings/Headings_h3.tsx | 13 + components/mdx/Headings/Headings_strong.tsx | 12 + components/mdx/LexiqueTooltip.tsx | 0 components/mdx/PositionableImage.tsx | 88 + components/mdx/mdx-components.tsx | 69 + components/pages/fiche/Card.tsx | 140 + components/pages/fiche/FicheFilter.tsx | 178 + components/pages/fiche/InternalNav.tsx | 73 + components/pages/fiche/MetaCard.tsx | 162 + components/pages/fiche/MetaItem.tsx | 88 + components/pages/fiche/Permalink.tsx | 41 + components/pages/fiche/TableValidation.tsx | 51 + components/pages/fiche/TableView.tsx | 94 + components/pages/fiche/VersionDisplay.tsx | 37 + components/pages/fiches-page.tsx | 89 + components/pages/home-page.tsx | 27 + components/pages/lexique-page.tsx | 26 + components/pages/mentions-legales-page.tsx | 26 + components/pages/personas-page.tsx | 26 + components/search/checkbox-group.tsx | 47 + components/search/global-search.tsx | 50 + components/search/input-search.tsx | 110 + content/users/index.json | 13 + graphql.config.js | 14 + i18n/ui.ts | 518 + i18n/utils.ts | 18 + model/cardType.ts | 10 + next-env.d.ts | 6 + next.config.js | 32 + package.json | 66 + pages/api/tina/[...routes].ts | 24 + pnpm-lock.yaml | 16114 ++++++++++++++++ postcss.config.js | 6 + public/admin/.gitignore | 2 + public/create-token.gif | Bin 0 -> 5130287 bytes public/deploy-vercel.gif | Bin 0 -> 8655136 bytes public/favicon.ico | Bin 0 -> 4286 bytes public/favicon.svg | 1 + public/img.png | Bin 0 -> 2516 bytes public/img_1.png | Bin 0 -> 8079 bytes public/img_2.png | Bin 0 -> 22821 bytes .../img_fiches/1.04/1.04_captcha-calcul.jpg | Bin 0 -> 11184 bytes public/img_fiches/1.04/1.04_recaptcha.jpg | Bin 0 -> 7487 bytes public/img_fiches/3.01/pict1.png | Bin 0 -> 233626 bytes public/img_fiches/5.02/format-choice.svg | 1 + public/img_fiches/5.02/image1.png | Bin 0 -> 395673 bytes public/img_fiches/5.02/image2.png | Bin 0 -> 1084069 bytes ...dafb-6ad4-4706-9b6a-5e6507959189_image.png | Bin 0 -> 16724 bytes .../img_fiches/rweb-0030/vue-font-forge.svg | 1 + public/logo-asso.png | Bin 0 -> 24549 bytes public/next.svg | 1 + public/setup-kv-store.gif | Bin 0 -> 912809 bytes public/tina.svg | 6 + public/vercel.svg | 1 + public/zeit.svg | 10 + referentiel-config.ts | 120 + src/content/constants/index.ts | 209 + src/content/fiches/en/.gitkeep | 0 ...r-les-fonctionnalites-non-essentielles.mdx | 53 + src/content/fiches/es/.gitkeep | 0 ...r-les-fonctionnalites-non-essentielles.mdx | 53 + ...r-les-fonctionnalites-non-essentielles.mdx | 53 + ..._0002-quantifier-precisement-le-besoin.mdx | 57 + ...0003-optimiser-le-parcours-utilisateur.mdx | 50 + ...-la-saisie-assistee-a-l-autocompletion.mdx | 87 + ...r-un-design-simple-epure-adapte-au-web.mdx | 51 + ...first-a-defaut-un-chargement-adaptatif.mdx | 55 + ...-de-navigation-rapide-dans-lhistorique.mdx | 64 + ...ment-asynchrone-lorsque-c-est-possible.mdx | 46 + ...009-limiter-le-nombre-de-requetes-http.mdx | 49 + ...ocker-les-donnees-statiques-localement.mdx | 42 + ...oppement-sur-mesure-a-l-usage-d-un-cms.mdx | 41 + ...WEB_0013-favoriser-les-pages-statiques.mdx | 49 + ...une-architecture-applicative-modulaire.mdx | 47 + ...sir-les-technologies-les-plus-adaptees.mdx | 48 + ...forks-applicatifs-orientes-performance.mdx | 43 + ...17-choisir-un-format-de-donnees-adapte.mdx | 56 + ...bre-de-domaines-servant-les-ressources.mdx | 51 + ...ficiels-de-partage-des-reseaux-sociaux.mdx | 58 + .../fiches/fr/RWEB_0021-decouper-les-css.mdx | 53 + .../fr/RWEB_0022-limiter-le-nombre-de-css.mdx | 50 + .../RWEB_0023-preferer-les-css-aux-images.mdx | 59 + ...24-ecrire-des-selecteurs-css-efficaces.mdx | 61 + ...rouper-les-declarations-css-similaires.mdx | 67 + ...26-utiliser-les-notations-css-abregees.mdx | 54 + .../fr/RWEB_0027-fournir-une-css-print.mdx | 58 + ...B_0029-favoriser-les-polices-standards.mdx | 79 + ...B_0030-preferer-les-glyphes-aux-images.mdx | 54 + ...B_0031-valider-les-pages-aupres-du-w3c.mdx | 41 + ...032-externaliser-les-css-et-javascript.mdx | 60 + ...imensionner-les-images-cote-navigateur.mdx | 42 + ...s-images-matricielles-pour-l-interface.mdx | 57 + ...0036-optimiser-les-images-vectorielles.mdx | 52 + ..._0037-utiliser-le-chargement-paresseux.mdx | 65 + ...argement-partiel-d-une-zone-de-contenu.mdx | 47 + ...9-eviter-les-animations-javascript-css.mdx | 64 + ...iotheques-javascript-et-frameworks-css.mdx | 54 + ...dification-du-dom-lorsquon-le-traverse.mdx | 51 + ...m-invisibles-lors-de-leur-modification.mdx | 56 + ...repaint-appearence-et-le-reflow-layout.mdx | 46 + ...44-utiliser-la-delegation-d-evenements.mdx | 71 + ...usieurs-proprietes-css-en-1-seule-fois.mdx | 58 + ...0046-valider-votre-code-avec-un-linter.mdx | 46 + ...s-objets-souvent-accedes-en-javascript.mdx | 53 + ...eduire-les-acces-au-dom-via-javascript.mdx | 47 + ...liser-tous-les-niveaux-de-cache-du-cms.mdx | 46 + ...es-medias-avant-importation-sur-un-cms.mdx | 50 + ...0060-encoder-les-sons-en-dehors-du-cms.mdx | 46 + ...es-donnees-calculees-souvent-utilisees.mdx | 45 + ...ous-les-warnings-et-toutes-les-notices.mdx | 59 + ...-requetes-sql-a-linterieur-dune-boucle.mdx | 61 + ...-une-base-de-donnees-que-si-necessaire.mdx | 57 + ...iser-les-requetes-aux-bases-de-donnees.mdx | 75 + ...de-donnees-pour-realiser-un-traitement.mdx | 57 + ...es-fichiers-css-javascript-html-et-svg.mdx | 44 + ...es-fichiers-css-javascript-html-et-svg.mdx | 56 + ...ombiner-les-fichiers-css-et-javascript.mdx | 41 + .../fr/RWEB_0080-optimiser-les-images.mdx | 83 + ...B_0082-optimiser-la-taille-des-cookies.mdx | 48 + ...hsts-preload-list-aux-redirections-301.mdx | 50 + ...en-place-un-plan-de-fin-de-vie-du-site.mdx | 57 + ...6-choisir-un-hebergeur-eco-responsable.mdx | 56 + ...urnisseur-d-electricite-ecoresponsable.mdx | 46 + ...-service-et-le-niveau-de-disponibilite.mdx | 42 + ...0089-utiliser-des-serveurs-virtualises.mdx | 53 + ...-l-efficacite-energetique-des-serveurs.mdx | 43 + ...aller-le-minimum-requis-sur-le-serveur.mdx | 43 + ...aches-entierement-en-ram-opcode-et-kvs.mdx | 47 + ...0093-stocker-les-donnees-dans-le-cloud.mdx | 43 + ...urces-cssjs-sur-un-domaine-sans-cookie.mdx | 40 + .../fr/RWEB_0095-eviter-les-redirections.mdx | 50 + ...afficher-des-pages-d-erreurs-statiques.mdx | 44 + ...EB_0097-utiliser-un-serveur-asynchrone.mdx | 47 + .../fiches/fr/RWEB_0098-utiliser-un-cdn.mdx | 42 + .../fr/RWEB_0099-utiliser-un-cache-http.mdx | 41 + ...r-des-entetes-expires-ou-cache-control.mdx | 57 + ...0102-mettre-en-cache-les-reponses-ajax.mdx | 40 + ...re-au-necessaire-les-logs-des-serveurs.mdx | 51 + ..._0104-desactiver-le-dns-lookup-dapache.mdx | 46 + ...ache-vhost-desactiver-le-allowoverride.mdx | 50 + ...RWEB_0106-desactiver-les-logs-binaires.mdx | 48 + .../fr/RWEB_0107-compresser-les-documents.mdx | 47 + .../fiches/fr/RWEB_0108-optimiser-les-pdf.mdx | 48 + ...miter-les-e-mails-lourds-et-redondants.mdx | 53 + ...tiliser-que-des-fichiers-double-opt-in.mdx | 47 + ...-limiter-la-taille-des-e-mails-envoyes.mdx | 54 + ...dapter-les-sons-aux-contextes-d-ecoute.mdx | 51 + .../RWEB_0113-adapter-les-textes-au-web.mdx | 45 + ...-videos-aux-contextes-de-visualisation.mdx | 53 + ...-d-analytics-et-les-donnees-collectees.mdx | 35 + ...-limiter-l-utilisation-des-gifs-animes.mdx | 52 + ...ent-automatique-des-videos-et-des-sons.mdx | 54 + ...EB_4004-utiliser-les-compartiments-css.mdx | 57 + ...ive-textuelle-aux-contenus-multimedias.mdx | 41 + .../RWEB_4006-privilegier-http2-a-http1.mdx | 43 + ...ande-passante-grace-a-un-serviceworker.mdx | 63 + ...8-mettre-en-place-un-sitemap-efficient.mdx | 33 + ...anciens-appareils-et-logiciels-du-parc.mdx | 53 + ...-donnees-stockees-au-strict-necessaire.mdx | 46 + ...-expiration-et-suppression-des-donnees.mdx | 62 + ...WEB_4013-limiter-le-recours-aux-canvas.mdx | 44 + ...mettent-de-realiser-leur-action-prevue.mdx | 43 + ...-pertinents-avec-le-contenu-de-la-page.mdx | 43 + ...-la-version-la-plus-recente-du-langage.mdx | 38 + ...que-lorsqu-elles-sontil-est-necessaire.mdx | 51 + ...iner-les-fonctionnalites-non-utilisees.mdx | 51 + ...on-mobile-native-similaire-au-site-web.mdx | 43 + ...-des-traitements-javascript-trop-longs.mdx | 50 + ...re-en-place-une-architecture-elastique.mdx | 50 + ...imiter-le-nombre-d-appels-aux-api-http.mdx | 42 + ...4030-limiter-le-recours-aux-carrousels.mdx | 56 + ...e-strategie-de-fin-de-vie-des-contenus.mdx | 38 + ...032-mettre-en-place-un-circuit-breaker.mdx | 43 + ...B_4033-favoriser-le-request-collapsing.mdx | 44 + ...4034-sappuyer-sur-les-services-manages.mdx | 40 + ...rer-la-pagination-au-defilement-infini.mdx | 34 + ...4036-entretenir-son-site-regulierement.mdx | 47 + ...ter-le-nombre-d-extensions-dans-un-cms.mdx | 47 + ...8-securiser-l-acces-a-l-administration.mdx | 54 + ...-les-documents-a-l-interieur-des-pages.mdx | 37 + src/content/home/en.mdx | 77 + src/content/home/es.mdx | 77 + src/content/home/fr.mdx | 66 + src/content/lexique/fr/accessibilite-web.mdx | 9 + src/content/lexique/fr/api.mdx | 9 + src/content/lexique/fr/artboards.mdx | 11 + src/content/lexique/fr/assets.mdx | 11 + src/content/lexique/fr/back-office.mdx | 9 + src/content/lexique/fr/cache.mdx | 9 + src/content/lexique/fr/cms.mdx | 9 + src/content/lexique/fr/compression.mdx | 9 + src/content/lexique/fr/cpu.mdx | 9 + src/content/lexique/fr/desktop.mdx | 9 + src/content/lexique/fr/dom.mdx | 9 + src/content/lexique/fr/ecoconcevoir.mdx | 9 + src/content/lexique/fr/extension.mdx | 9 + src/content/lexique/fr/front-office.mdx | 9 + src/content/lexique/fr/ftp.mdx | 9 + .../lexique/fr/ligne-de-flottaison.mdx | 9 + src/content/lexique/fr/local.mdx | 9 + src/content/lexique/fr/matricielle.mdx | 9 + src/content/lexique/fr/micro-interaction.mdx | 9 + src/content/lexique/fr/open-source.mdx | 9 + .../lexique/fr/parcours-utilisateur.mdx | 9 + src/content/lexique/fr/performances.mdx | 10 + src/content/lexique/fr/pixellisation.mdx | 9 + src/content/lexique/fr/requete.mdx | 9 + src/content/lexique/fr/responsive.mdx | 11 + src/content/lexique/fr/scope.mdx | 9 + src/content/lexique/fr/seo.mdx | 9 + src/content/lexique/fr/services-tiers.mdx | 9 + src/content/lexique/fr/template.mdx | 10 + src/content/lexique/fr/terminaux.mdx | 9 + src/content/lexique/fr/test.mdx | 9 + src/content/lexique/fr/theme.mdx | 11 + src/content/lexique/fr/vectoriel.mdx | 10 + src/content/lexique/fr/vignette.mdx | 15 + src/content/mentionsLegales/en.mdx | 32 + src/content/mentionsLegales/es.mdx | 32 + src/content/mentionsLegales/fr.mdx | 32 + src/content/pages/home.md | 19 + .../personas/fr/administrateur-systemes.mdx | 11 + .../fr/architecte-logicieldeveloppeur.mdx | 11 + .../personas/fr/codeuseur-developpeuser.mdx | 38 + src/content/personas/fr/contributeur.mdx | 9 + src/content/personas/fr/designeuser.mdx | 37 + ...nce-et-developpeur-front-end-d-agences.mdx | 38 + ...-code-madame-et-monsieur-tout-le-monde.mdx | 36 + src/content/personas/fr/poamoa.mdx | 11 + src/content/personas/fr/referenceuser-seo.mdx | 11 + src/js/utils.js | 85 + tailwind.config.js | 56 + tina/.gitignore | 1 + tina/collections/fiches.tsx | 386 + tina/collections/home.tsx | 54 + tina/collections/lexique.tsx | 38 + tina/collections/mentionsLegales.tsx | 55 + tina/collections/pages.tsx | 49 + tina/collections/personas.tsx | 66 + tina/config.tsx | 41 + tina/database.ts | 38 + tina/tina-lock.json | 1 + tina/utils/commonFields.tsx | 394 + tina/utils/templates.tsx | 62 + tina/utils/warning.jsx | 35 + tsconfig.json | 33 + utils/cn.tsx | 6 + utils/extract-text.ts | 12 + utils/transform-path.ts | 3 + vercel.json | 7 + 289 files changed, 28349 insertions(+), 2 deletions(-) create mode 100644 .env.example create mode 100644 .eslintignore create mode 100644 .eslintrc create mode 100644 .gitignore copy create mode 100644 .local_mogodb/.env create mode 100644 .local_mogodb/.gitignore create mode 100644 .local_mogodb/docker-compose.yml create mode 100644 .nvmrc create mode 100644 .prettierrc create mode 100644 .vscode/extensions.json create mode 100644 .vscode/settings.json create mode 100644 NOTICE create mode 100644 app/[lang]/fiches/[slug]/page.tsx create mode 100644 app/[lang]/fiches/fiches.preval.ts create mode 100644 app/[lang]/fiches/page.tsx create mode 100644 app/[lang]/layout.tsx create mode 100644 app/[lang]/lexique/[slug]/page.tsx create mode 100644 app/[lang]/lexique/lexique.preval.ts create mode 100644 app/[lang]/lexique/page.tsx create mode 100644 app/[lang]/mentions-legales/page.tsx create mode 100644 app/[lang]/page.tsx create mode 100644 app/[lang]/personas/[slug]/page.tsx create mode 100644 app/[lang]/personas/page.tsx create mode 100644 app/[lang]/personas/personas.preval.ts create mode 100644 app/favicon.ico create mode 100644 app/globals.css create mode 100644 app/layout.tsx create mode 100644 app/page.tsx create mode 100644 components/card-view.tsx create mode 100644 components/footer.tsx create mode 100644 components/header.tsx create mode 100644 components/iconify.tsx create mode 100644 components/language-picker.tsx create mode 100644 components/licence.tsx create mode 100644 components/mdx/CTAWithIcon.tsx create mode 100644 components/mdx/Headings/Headings_h1.tsx create mode 100644 components/mdx/Headings/Headings_h2.tsx create mode 100644 components/mdx/Headings/Headings_h3.tsx create mode 100644 components/mdx/Headings/Headings_strong.tsx create mode 100644 components/mdx/LexiqueTooltip.tsx create mode 100644 components/mdx/PositionableImage.tsx create mode 100644 components/mdx/mdx-components.tsx create mode 100644 components/pages/fiche/Card.tsx create mode 100644 components/pages/fiche/FicheFilter.tsx create mode 100644 components/pages/fiche/InternalNav.tsx create mode 100644 components/pages/fiche/MetaCard.tsx create mode 100644 components/pages/fiche/MetaItem.tsx create mode 100644 components/pages/fiche/Permalink.tsx create mode 100644 components/pages/fiche/TableValidation.tsx create mode 100644 components/pages/fiche/TableView.tsx create mode 100644 components/pages/fiche/VersionDisplay.tsx create mode 100644 components/pages/fiches-page.tsx create mode 100644 components/pages/home-page.tsx create mode 100644 components/pages/lexique-page.tsx create mode 100644 components/pages/mentions-legales-page.tsx create mode 100644 components/pages/personas-page.tsx create mode 100644 components/search/checkbox-group.tsx create mode 100644 components/search/global-search.tsx create mode 100644 components/search/input-search.tsx create mode 100644 content/users/index.json create mode 100644 graphql.config.js create mode 100644 i18n/ui.ts create mode 100644 i18n/utils.ts create mode 100644 model/cardType.ts create mode 100644 next-env.d.ts create mode 100644 next.config.js create mode 100644 package.json create mode 100644 pages/api/tina/[...routes].ts create mode 100644 pnpm-lock.yaml create mode 100644 postcss.config.js create mode 100644 public/admin/.gitignore create mode 100644 public/create-token.gif create mode 100644 public/deploy-vercel.gif create mode 100644 public/favicon.ico create mode 100644 public/favicon.svg create mode 100644 public/img.png create mode 100644 public/img_1.png create mode 100644 public/img_2.png create mode 100644 public/img_fiches/1.04/1.04_captcha-calcul.jpg create mode 100644 public/img_fiches/1.04/1.04_recaptcha.jpg create mode 100644 public/img_fiches/3.01/pict1.png create mode 100644 public/img_fiches/5.02/format-choice.svg create mode 100644 public/img_fiches/5.02/image1.png create mode 100644 public/img_fiches/5.02/image2.png create mode 100644 public/img_fiches/7.02/64d7dafb-6ad4-4706-9b6a-5e6507959189_image.png create mode 100644 public/img_fiches/rweb-0030/vue-font-forge.svg create mode 100644 public/logo-asso.png create mode 100644 public/next.svg create mode 100644 public/setup-kv-store.gif create mode 100644 public/tina.svg create mode 100644 public/vercel.svg create mode 100644 public/zeit.svg create mode 100644 referentiel-config.ts create mode 100644 src/content/constants/index.ts create mode 100644 src/content/fiches/en/.gitkeep create mode 100644 src/content/fiches/en/RWEB_0001-eliminer-les-fonctionnalites-non-essentielles.mdx create mode 100644 src/content/fiches/es/.gitkeep create mode 100644 src/content/fiches/es/RWEB_0001-eliminer-les-fonctionnalites-non-essentielles.mdx create mode 100644 src/content/fiches/fr/RWEB_0001-eliminer-les-fonctionnalites-non-essentielles.mdx create mode 100644 src/content/fiches/fr/RWEB_0002-quantifier-precisement-le-besoin.mdx create mode 100644 src/content/fiches/fr/RWEB_0003-optimiser-le-parcours-utilisateur.mdx create mode 100644 src/content/fiches/fr/RWEB_0004-preferer-la-saisie-assistee-a-l-autocompletion.mdx create mode 100644 src/content/fiches/fr/RWEB_0005-favoriser-un-design-simple-epure-adapte-au-web.mdx create mode 100644 src/content/fiches/fr/RWEB_0006-privilegier-une-approche-mobile-first-a-defaut-un-chargement-adaptatif.mdx create mode 100644 src/content/fiches/fr/RWEB_0007-respecter-le-principe-de-navigation-rapide-dans-lhistorique.mdx create mode 100644 src/content/fiches/fr/RWEB_0008-proposer-un-traitement-asynchrone-lorsque-c-est-possible.mdx create mode 100644 src/content/fiches/fr/RWEB_0009-limiter-le-nombre-de-requetes-http.mdx create mode 100644 src/content/fiches/fr/RWEB_0010-stocker-les-donnees-statiques-localement.mdx create mode 100644 src/content/fiches/fr/RWEB_0011-favoriser-un-developpement-sur-mesure-a-l-usage-d-un-cms.mdx create mode 100644 src/content/fiches/fr/RWEB_0013-favoriser-les-pages-statiques.mdx create mode 100644 src/content/fiches/fr/RWEB_0014-creer-une-architecture-applicative-modulaire.mdx create mode 100644 src/content/fiches/fr/RWEB_0015-choisir-les-technologies-les-plus-adaptees.mdx create mode 100644 src/content/fiches/fr/RWEB_0016-utiliser-certains-forks-applicatifs-orientes-performance.mdx create mode 100644 src/content/fiches/fr/RWEB_0017-choisir-un-format-de-donnees-adapte.mdx create mode 100644 src/content/fiches/fr/RWEB_0018-limiter-le-nombre-de-domaines-servant-les-ressources.mdx create mode 100644 src/content/fiches/fr/RWEB_0019-remplacer-les-boutons-officiels-de-partage-des-reseaux-sociaux.mdx create mode 100644 src/content/fiches/fr/RWEB_0021-decouper-les-css.mdx create mode 100644 src/content/fiches/fr/RWEB_0022-limiter-le-nombre-de-css.mdx create mode 100644 src/content/fiches/fr/RWEB_0023-preferer-les-css-aux-images.mdx create mode 100644 src/content/fiches/fr/RWEB_0024-ecrire-des-selecteurs-css-efficaces.mdx create mode 100644 src/content/fiches/fr/RWEB_0025-grouper-les-declarations-css-similaires.mdx create mode 100644 src/content/fiches/fr/RWEB_0026-utiliser-les-notations-css-abregees.mdx create mode 100644 src/content/fiches/fr/RWEB_0027-fournir-une-css-print.mdx create mode 100644 src/content/fiches/fr/RWEB_0029-favoriser-les-polices-standards.mdx create mode 100644 src/content/fiches/fr/RWEB_0030-preferer-les-glyphes-aux-images.mdx create mode 100644 src/content/fiches/fr/RWEB_0031-valider-les-pages-aupres-du-w3c.mdx create mode 100644 src/content/fiches/fr/RWEB_0032-externaliser-les-css-et-javascript.mdx create mode 100644 src/content/fiches/fr/RWEB_0034-ne-pas-redimensionner-les-images-cote-navigateur.mdx create mode 100644 src/content/fiches/fr/RWEB_0035-eviter-d-utiliser-des-images-matricielles-pour-l-interface.mdx create mode 100644 src/content/fiches/fr/RWEB_0036-optimiser-les-images-vectorielles.mdx create mode 100644 src/content/fiches/fr/RWEB_0037-utiliser-le-chargement-paresseux.mdx create mode 100644 src/content/fiches/fr/RWEB_0038-utiliser-le-rechargement-partiel-d-une-zone-de-contenu.mdx create mode 100644 src/content/fiches/fr/RWEB_0039-eviter-les-animations-javascript-css.mdx create mode 100644 src/content/fiches/fr/RWEB_0040-n-utilisez-que-les-portions-indispensables-des-bibliotheques-javascript-et-frameworks-css.mdx create mode 100644 src/content/fiches/fr/RWEB_0041-ne-pas-faire-de-modification-du-dom-lorsquon-le-traverse.mdx create mode 100644 src/content/fiches/fr/RWEB_0042-rendre-les-elements-du-dom-invisibles-lors-de-leur-modification.mdx create mode 100644 src/content/fiches/fr/RWEB_0043-reduire-au-maximum-le-repaint-appearence-et-le-reflow-layout.mdx create mode 100644 src/content/fiches/fr/RWEB_0044-utiliser-la-delegation-d-evenements.mdx create mode 100644 src/content/fiches/fr/RWEB_0045-modifier-plusieurs-proprietes-css-en-1-seule-fois.mdx create mode 100644 src/content/fiches/fr/RWEB_0046-valider-votre-code-avec-un-linter.mdx create mode 100644 src/content/fiches/fr/RWEB_0049-mettre-en-cache-les-objets-souvent-accedes-en-javascript.mdx create mode 100644 src/content/fiches/fr/RWEB_0054-reduire-les-acces-au-dom-via-javascript.mdx create mode 100644 src/content/fiches/fr/RWEB_0057-utiliser-tous-les-niveaux-de-cache-du-cms.mdx create mode 100644 src/content/fiches/fr/RWEB_0058-optimiser-et-generer-les-medias-avant-importation-sur-un-cms.mdx create mode 100644 src/content/fiches/fr/RWEB_0060-encoder-les-sons-en-dehors-du-cms.mdx create mode 100644 src/content/fiches/fr/RWEB_0064-mettre-en-cache-les-donnees-calculees-souvent-utilisees.mdx create mode 100644 src/content/fiches/fr/RWEB_0070-supprimer-tous-les-warnings-et-toutes-les-notices.mdx create mode 100644 src/content/fiches/fr/RWEB_0072-eviter-d-effectuer-des-requetes-sql-a-linterieur-dune-boucle.mdx create mode 100644 src/content/fiches/fr/RWEB_0073-ne-se-connecter-a-une-base-de-donnees-que-si-necessaire.mdx create mode 100644 src/content/fiches/fr/RWEB_0075-optimiser-les-requetes-aux-bases-de-donnees.mdx create mode 100644 src/content/fiches/fr/RWEB_0076-eviter-le-transfert-d-une-grande-quantite-de-donnees-pour-realiser-un-traitement.mdx create mode 100644 src/content/fiches/fr/RWEB_0077-minifier-les-fichiers-css-javascript-html-et-svg.mdx create mode 100644 src/content/fiches/fr/RWEB_0078-compresser-les-fichiers-css-javascript-html-et-svg.mdx create mode 100644 src/content/fiches/fr/RWEB_0079-combiner-les-fichiers-css-et-javascript.mdx create mode 100644 src/content/fiches/fr/RWEB_0080-optimiser-les-images.mdx create mode 100644 src/content/fiches/fr/RWEB_0082-optimiser-la-taille-des-cookies.mdx create mode 100644 src/content/fiches/fr/RWEB_0084-favoriser-hsts-preload-list-aux-redirections-301.mdx create mode 100644 src/content/fiches/fr/RWEB_0085-mettre-en-place-un-plan-de-fin-de-vie-du-site.mdx create mode 100644 src/content/fiches/fr/RWEB_0086-choisir-un-hebergeur-eco-responsable.mdx create mode 100644 src/content/fiches/fr/RWEB_0087-privilegier-un-fournisseur-d-electricite-ecoresponsable.mdx create mode 100644 src/content/fiches/fr/RWEB_0088-adapter-la-qualite-de-service-et-le-niveau-de-disponibilite.mdx create mode 100644 src/content/fiches/fr/RWEB_0089-utiliser-des-serveurs-virtualises.mdx create mode 100644 src/content/fiches/fr/RWEB_0090-optimiser-l-efficacite-energetique-des-serveurs.mdx create mode 100644 src/content/fiches/fr/RWEB_0091-installer-le-minimum-requis-sur-le-serveur.mdx create mode 100644 src/content/fiches/fr/RWEB_0092-mettre-les-caches-entierement-en-ram-opcode-et-kvs.mdx create mode 100644 src/content/fiches/fr/RWEB_0093-stocker-les-donnees-dans-le-cloud.mdx create mode 100644 src/content/fiches/fr/RWEB_0094-heberger-les-ressources-cssjs-sur-un-domaine-sans-cookie.mdx create mode 100644 src/content/fiches/fr/RWEB_0095-eviter-les-redirections.mdx create mode 100644 src/content/fiches/fr/RWEB_0096-afficher-des-pages-d-erreurs-statiques.mdx create mode 100644 src/content/fiches/fr/RWEB_0097-utiliser-un-serveur-asynchrone.mdx create mode 100644 src/content/fiches/fr/RWEB_0098-utiliser-un-cdn.mdx create mode 100644 src/content/fiches/fr/RWEB_0099-utiliser-un-cache-http.mdx create mode 100644 src/content/fiches/fr/RWEB_0101-ajouter-des-entetes-expires-ou-cache-control.mdx create mode 100644 src/content/fiches/fr/RWEB_0102-mettre-en-cache-les-reponses-ajax.mdx create mode 100644 src/content/fiches/fr/RWEB_0103-reduire-au-necessaire-les-logs-des-serveurs.mdx create mode 100644 src/content/fiches/fr/RWEB_0104-desactiver-le-dns-lookup-dapache.mdx create mode 100644 src/content/fiches/fr/RWEB_0105-apache-vhost-desactiver-le-allowoverride.mdx create mode 100644 src/content/fiches/fr/RWEB_0106-desactiver-les-logs-binaires.mdx create mode 100644 src/content/fiches/fr/RWEB_0107-compresser-les-documents.mdx create mode 100644 src/content/fiches/fr/RWEB_0108-optimiser-les-pdf.mdx create mode 100644 src/content/fiches/fr/RWEB_0109-limiter-les-e-mails-lourds-et-redondants.mdx create mode 100644 src/content/fiches/fr/RWEB_0110-n-utiliser-que-des-fichiers-double-opt-in.mdx create mode 100644 src/content/fiches/fr/RWEB_0111-limiter-la-taille-des-e-mails-envoyes.mdx create mode 100644 src/content/fiches/fr/RWEB_0112-adapter-les-sons-aux-contextes-d-ecoute.mdx create mode 100644 src/content/fiches/fr/RWEB_0113-adapter-les-textes-au-web.mdx create mode 100644 src/content/fiches/fr/RWEB_0114-adapter-les-videos-aux-contextes-de-visualisation.mdx create mode 100644 src/content/fiches/fr/RWEB_4001-limiter-les-outils-d-analytics-et-les-donnees-collectees.mdx create mode 100644 src/content/fiches/fr/RWEB_4002-limiter-l-utilisation-des-gifs-animes.mdx create mode 100644 src/content/fiches/fr/RWEB_4003-eviter-la-lecture-et-le-chargement-automatique-des-videos-et-des-sons.mdx create mode 100644 src/content/fiches/fr/RWEB_4004-utiliser-les-compartiments-css.mdx create mode 100644 src/content/fiches/fr/RWEB_4005-fournir-une-alternative-textuelle-aux-contenus-multimedias.mdx create mode 100644 src/content/fiches/fr/RWEB_4006-privilegier-http2-a-http1.mdx create mode 100644 src/content/fiches/fr/RWEB_4007-economiser-de-la-bande-passante-grace-a-un-serviceworker.mdx create mode 100644 src/content/fiches/fr/RWEB_4008-mettre-en-place-un-sitemap-efficient.mdx create mode 100644 src/content/fiches/fr/RWEB_4009-assurer-la-compatibilite-avec-les-plus-anciens-appareils-et-logiciels-du-parc.mdx create mode 100644 src/content/fiches/fr/RWEB_4011-reduire-le-volume-de-donnees-stockees-au-strict-necessaire.mdx create mode 100644 src/content/fiches/fr/RWEB_4012-mettre-en-place-une-politique-d-expiration-et-suppression-des-donnees.mdx create mode 100644 src/content/fiches/fr/RWEB_4013-limiter-le-recours-aux-canvas.mdx create mode 100644 src/content/fiches/fr/RWEB_4014-s-assurer-que-les-parcours-utilisateurs-permettent-de-realiser-leur-action-prevue.mdx create mode 100644 src/content/fiches/fr/RWEB_4015-avoir-un-titre-de-page-et-une-metadescription-pertinents-avec-le-contenu-de-la-page.mdx create mode 100644 src/content/fiches/fr/RWEB_4016-utiliser-la-version-la-plus-recente-du-langage.mdx create mode 100644 src/content/fiches/fr/RWEB_4017-ne-charger-des-donneesdu-code-que-lorsqu-elles-sontil-est-necessaire.mdx create mode 100644 src/content/fiches/fr/RWEB_4018-eliminer-les-fonctionnalites-non-utilisees.mdx create mode 100644 src/content/fiches/fr/RWEB_4019-preferer-une-pwa-a-une-application-mobile-native-similaire-au-site-web.mdx create mode 100644 src/content/fiches/fr/RWEB_4020-eviter-les-temps-de-blocages-par-des-traitements-javascript-trop-longs.mdx create mode 100644 src/content/fiches/fr/RWEB_4021-mettre-en-place-une-architecture-elastique.mdx create mode 100644 src/content/fiches/fr/RWEB_4022-limiter-le-nombre-d-appels-aux-api-http.mdx create mode 100644 src/content/fiches/fr/RWEB_4030-limiter-le-recours-aux-carrousels.mdx create mode 100644 src/content/fiches/fr/RWEB_4031-avoir-une-strategie-de-fin-de-vie-des-contenus.mdx create mode 100644 src/content/fiches/fr/RWEB_4032-mettre-en-place-un-circuit-breaker.mdx create mode 100644 src/content/fiches/fr/RWEB_4033-favoriser-le-request-collapsing.mdx create mode 100644 src/content/fiches/fr/RWEB_4034-sappuyer-sur-les-services-manages.mdx create mode 100644 src/content/fiches/fr/RWEB_4035-preferer-la-pagination-au-defilement-infini.mdx create mode 100644 src/content/fiches/fr/RWEB_4036-entretenir-son-site-regulierement.mdx create mode 100644 src/content/fiches/fr/RWEB_4037-bien-choisir-son-theme-et-limiter-le-nombre-d-extensions-dans-un-cms.mdx create mode 100644 src/content/fiches/fr/RWEB_4038-securiser-l-acces-a-l-administration.mdx create mode 100644 src/content/fiches/fr/RWEB_4039-ne-pas-afficher-les-documents-a-l-interieur-des-pages.mdx create mode 100644 src/content/home/en.mdx create mode 100644 src/content/home/es.mdx create mode 100644 src/content/home/fr.mdx create mode 100644 src/content/lexique/fr/accessibilite-web.mdx create mode 100644 src/content/lexique/fr/api.mdx create mode 100644 src/content/lexique/fr/artboards.mdx create mode 100644 src/content/lexique/fr/assets.mdx create mode 100644 src/content/lexique/fr/back-office.mdx create mode 100644 src/content/lexique/fr/cache.mdx create mode 100644 src/content/lexique/fr/cms.mdx create mode 100644 src/content/lexique/fr/compression.mdx create mode 100644 src/content/lexique/fr/cpu.mdx create mode 100644 src/content/lexique/fr/desktop.mdx create mode 100644 src/content/lexique/fr/dom.mdx create mode 100644 src/content/lexique/fr/ecoconcevoir.mdx create mode 100644 src/content/lexique/fr/extension.mdx create mode 100644 src/content/lexique/fr/front-office.mdx create mode 100644 src/content/lexique/fr/ftp.mdx create mode 100644 src/content/lexique/fr/ligne-de-flottaison.mdx create mode 100644 src/content/lexique/fr/local.mdx create mode 100644 src/content/lexique/fr/matricielle.mdx create mode 100644 src/content/lexique/fr/micro-interaction.mdx create mode 100644 src/content/lexique/fr/open-source.mdx create mode 100644 src/content/lexique/fr/parcours-utilisateur.mdx create mode 100644 src/content/lexique/fr/performances.mdx create mode 100644 src/content/lexique/fr/pixellisation.mdx create mode 100644 src/content/lexique/fr/requete.mdx create mode 100644 src/content/lexique/fr/responsive.mdx create mode 100644 src/content/lexique/fr/scope.mdx create mode 100644 src/content/lexique/fr/seo.mdx create mode 100644 src/content/lexique/fr/services-tiers.mdx create mode 100644 src/content/lexique/fr/template.mdx create mode 100644 src/content/lexique/fr/terminaux.mdx create mode 100644 src/content/lexique/fr/test.mdx create mode 100644 src/content/lexique/fr/theme.mdx create mode 100644 src/content/lexique/fr/vectoriel.mdx create mode 100644 src/content/lexique/fr/vignette.mdx create mode 100644 src/content/mentionsLegales/en.mdx create mode 100644 src/content/mentionsLegales/es.mdx create mode 100644 src/content/mentionsLegales/fr.mdx create mode 100644 src/content/pages/home.md create mode 100644 src/content/personas/fr/administrateur-systemes.mdx create mode 100644 src/content/personas/fr/architecte-logicieldeveloppeur.mdx create mode 100644 src/content/personas/fr/codeuseur-developpeuser.mdx create mode 100644 src/content/personas/fr/contributeur.mdx create mode 100644 src/content/personas/fr/designeuser.mdx create mode 100644 src/content/personas/fr/low-code-freelance-et-developpeur-front-end-d-agences.mdx create mode 100644 src/content/personas/fr/no-code-madame-et-monsieur-tout-le-monde.mdx create mode 100644 src/content/personas/fr/poamoa.mdx create mode 100644 src/content/personas/fr/referenceuser-seo.mdx create mode 100644 src/js/utils.js create mode 100644 tailwind.config.js create mode 100644 tina/.gitignore create mode 100644 tina/collections/fiches.tsx create mode 100644 tina/collections/home.tsx create mode 100644 tina/collections/lexique.tsx create mode 100644 tina/collections/mentionsLegales.tsx create mode 100644 tina/collections/pages.tsx create mode 100644 tina/collections/personas.tsx create mode 100644 tina/config.tsx create mode 100644 tina/database.ts create mode 100644 tina/tina-lock.json create mode 100644 tina/utils/commonFields.tsx create mode 100644 tina/utils/templates.tsx create mode 100644 tina/utils/warning.jsx create mode 100644 tsconfig.json create mode 100644 utils/cn.tsx create mode 100644 utils/extract-text.ts create mode 100644 utils/transform-path.ts create mode 100644 vercel.json diff --git a/.DS_Store b/.DS_Store index 8eeabf9ad2748b834a39de53ef830907a8ed997f..4fa7f31c8891d68036b2cde1723f2143397b079f 100644 GIT binary patch delta 32 ocmZn(XbG6$&nUGqU^hRb)Mg$5HO|eKBu&{S7A)AzuJD%~0I^^S-v9sr delta 188 zcmZn(XbG6$&nUMsU^hRb+-4pDHO_iYh9ZVkhGK?%hEgCa8N|*>Hw;eB&n;j8gMA@D z3X7`Td>5Cboctu9EXSc6iQ8?C9CpN|G6knfIaI3)GLWslz_3|g(t>R>yTV^~0J$(Q AXaE2J diff --git a/.env.example b/.env.example new file mode 100644 index 00000000..1f221061 --- /dev/null +++ b/.env.example @@ -0,0 +1,21 @@ +# Github credentials for onPut and onDelete +GITHUB_PERSONAL_ACCESS_TOKEN= + +# Required when building locally +GITHUB_OWNER= +GITHUB_REPO= +GITHUB_BRANCH=main + +# Used by NextAuth.js to encrypt JWT +# do `openssl rand -hex 16` +NEXTAUTH_SECRET=changeme + +# Used by Vercel KV (DO NOT USE) +KV_REST_API_URL="" +KV_REST_API_TOKEN="" + +# Used by MangoDB (TO USE) +MONGODB_URI="mongodb://root:password@localhost:27017/?authSource=admin" + +# DO NOT ASK AUTH IN LOCAL +TINA_PUBLIC_IS_LOCAL=true \ No newline at end of file diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 00000000..76add878 --- /dev/null +++ b/.eslintignore @@ -0,0 +1,2 @@ +node_modules +dist \ No newline at end of file diff --git a/.eslintrc b/.eslintrc new file mode 100644 index 00000000..29292405 --- /dev/null +++ b/.eslintrc @@ -0,0 +1,6 @@ +{ + "extends": "next/core-web-vitals", + "rules": { + "react-hooks/rules-of-hooks": "warn", + }, +} diff --git a/.gitignore b/.gitignore index f7d5e80e..d1086470 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,26 @@ -# JetBrains default useless folder -/.idea +# dependencies +/node_modules +/.pnp +.pnp.js + +# testing +/coverage + +# next.js +/.next/ +/out/ + +# production +/build + +# misc +.DS_Store +.env +.env.local +.idea + +# debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* diff --git a/.gitignore copy b/.gitignore copy new file mode 100644 index 00000000..f65aa01e --- /dev/null +++ b/.gitignore copy @@ -0,0 +1,28 @@ + +# dependencies +/node_modules +/.pnp +.pnp.js + +# testing +/coverage + +# next.js +/.next/ +/out/ + +# production +/build + +# misc +.DS_Store +.env +.env.local +.idea + +# debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +_astro-bkp \ No newline at end of file diff --git a/.local_mogodb/.env b/.local_mogodb/.env new file mode 100644 index 00000000..b2233ff2 --- /dev/null +++ b/.local_mogodb/.env @@ -0,0 +1,5 @@ +# MongoDB Environment +MONGO_INITDB_ROOT_USERNAME=root +MONGO_INITDB_ROOT_PASSWORD=password +MONGO_EXPRESS_USERNAME=admin +MONGO_EXPRESS_PASSWORD=password \ No newline at end of file diff --git a/.local_mogodb/.gitignore b/.local_mogodb/.gitignore new file mode 100644 index 00000000..1e18f275 --- /dev/null +++ b/.local_mogodb/.gitignore @@ -0,0 +1 @@ +!.env \ No newline at end of file diff --git a/.local_mogodb/docker-compose.yml b/.local_mogodb/docker-compose.yml new file mode 100644 index 00000000..aff732ff --- /dev/null +++ b/.local_mogodb/docker-compose.yml @@ -0,0 +1,48 @@ +services: + mongodb: + image: mongo:latest + container_name: mongodb + hostname: mongodb + volumes: + - mongodb-data:/data/db/ + - mongodb-log:/var/log/mongodb/ + env_file: + - .env + environment: + MONGO_INITDB_ROOT_USERNAME: ${MONGO_INITDB_ROOT_USERNAME} + MONGO_INITDB_ROOT_PASSWORD: ${MONGO_INITDB_ROOT_PASSWORD} + ports: + - '27017:27017' + networks: + - mongodb_network + + mongo-express: + image: mongo-express:latest + container_name: mongo-express + restart: always + environment: + ME_CONFIG_MONGODB_ADMINUSERNAME: ${MONGO_INITDB_ROOT_USERNAME} + ME_CONFIG_MONGODB_ADMINPASSWORD: ${MONGO_INITDB_ROOT_PASSWORD} + ME_CONFIG_MONGODB_PORT: 27017 + ME_CONFIG_MONGODB_SERVER: 'mongodb' + ME_CONFIG_BASICAUTH_USERNAME: ${MONGO_EXPRESS_USERNAME} + ME_CONFIG_BASICAUTH_PASSWORD: ${MONGO_EXPRESS_PASSWORD} + ports: + - 8081:8081 + networks: + - mongodb_network + depends_on: + - mongodb + +volumes: + mongodb-data: + driver: local + name: mongo-data + mongodb-log: + driver: local + name: mongo-log + +networks: + mongodb_network: + driver: bridge + name: mongo-network diff --git a/.nvmrc b/.nvmrc new file mode 100644 index 00000000..53d1c14d --- /dev/null +++ b/.nvmrc @@ -0,0 +1 @@ +v22 diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/.prettierrc @@ -0,0 +1 @@ +{} diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 00000000..759abfbb --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,7 @@ +{ + "recommendations": [ + "graphql.vscode-graphql", + "bradlc.vscode-tailwindcss", + "esbenp.prettier-vscode" + ] +} diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 00000000..90e1476f --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "prettier.prettierPath": "./node_modules/prettier" +} \ No newline at end of file diff --git a/NOTICE b/NOTICE new file mode 100644 index 00000000..eee04e6f --- /dev/null +++ b/NOTICE @@ -0,0 +1,4 @@ +Tina Cloud Starter +Copyright 2021 Forestry.io Holdings, Inc. + +This product includes software developed at Forestry.io Holdings, Inc. (http://www.forestry.io/). diff --git a/app/[lang]/fiches/[slug]/page.tsx b/app/[lang]/fiches/[slug]/page.tsx new file mode 100644 index 00000000..4e4287b9 --- /dev/null +++ b/app/[lang]/fiches/[slug]/page.tsx @@ -0,0 +1,52 @@ +import { FichesPage } from '../../../../components/pages/fiches-page'; +import { InternalNavigation } from '../../../../components/pages/fiche/InternalNav'; +import { client } from '../../../../tina/__generated__/databaseClient'; +import { FichesConnectionQuery } from '../../../../tina/__generated__/types'; +import fichesData from '../fiches.preval'; +export async function generateStaticParams() { + const { data }: { data: FichesConnectionQuery } = fichesData; + return data.fichesConnection.edges?.map((e) => ({ lang: e?.node?.language, slug: e?.node?._sys.filename })) +} +export default async function Page({ params }) { + const { lang, slug } = params; + + const res = await client.queries.fiches({ + relativePath: `${lang}/${slug}.mdx`, + }); + + + const cursor = btoa(res.data.fiches.id.replaceAll('\\','/')); + const {data:dataAfter} = await client.queries.fichesConnection({ + filter :{ + language: { + eq: lang + } + }, + first: 1, + after: cursor + }); + const {data: dataBefore} = await client.queries.fichesConnection({ + filter :{ + language: { + eq: lang + } + }, + first: 1, + before: cursor + }); + const nextPage = dataAfter.fichesConnection.edges && dataAfter.fichesConnection.edges[0]; + const previousPage = dataBefore.fichesConnection.edges && dataBefore.fichesConnection.edges[0]; + + return ( + <> + + + + + ); +} diff --git a/app/[lang]/fiches/fiches.preval.ts b/app/[lang]/fiches/fiches.preval.ts new file mode 100644 index 00000000..3940dbdb --- /dev/null +++ b/app/[lang]/fiches/fiches.preval.ts @@ -0,0 +1,10 @@ +import preval from 'next-plugin-preval'; +import { client } from '../../../tina/__generated__/databaseClient'; + +async function getData() { + return await client.queries.fichesConnection( + {first: 1000}, + ); +} + +export default preval(getData()); diff --git a/app/[lang]/fiches/page.tsx b/app/[lang]/fiches/page.tsx new file mode 100644 index 00000000..7d1eb77b --- /dev/null +++ b/app/[lang]/fiches/page.tsx @@ -0,0 +1,83 @@ +import { CardOrientation, CardType } from '../../../model/cardType'; +import { FichesConnectionEdges, FichesConnectionQuery } from '../../../tina/__generated__/types'; + +import CardView from '../../../components/card-view'; +import { FichesCardFilter } from '../../../components/pages/fiche/FicheFilter'; +import { FichesTableView } from '../../../components/pages/fiche/TableView'; +import { Fragment } from 'react'; +import { useTranslations } from '../../../i18n/utils'; +import { ui } from '../../../i18n/ui'; +import { client } from '../../../tina/__generated__/databaseClient'; + +export async function generateStaticParams() { + const lang = Object.keys(ui); + return lang.map((lang) => ({ lang })); +} + +export default async function Home({ params }) { + const { lang } = params; + const { data }: { data: FichesConnectionQuery } = await client.queries.fichesConnection({ + first: 1000, + filter: { + language: { + eq: lang, + }, + published: { + eq: true, + }, + }, + }); + const t = useTranslations(lang); + const entries = data.fichesConnection.edges; + + if (!entries) { + return null; + } + return ( +

+
+

{t('Bonnes pratiques')}

+
+ +
+ {entries && } + +
    + {entries?.map((entry) => ( + + + + ))} +
+
+
+ +
+
+
+
+ ); +} diff --git a/app/[lang]/layout.tsx b/app/[lang]/layout.tsx new file mode 100644 index 00000000..ae4226f2 --- /dev/null +++ b/app/[lang]/layout.tsx @@ -0,0 +1,34 @@ +import Header from '../../components/header'; +import { ui } from '../../i18n/ui'; +import { Inter } from 'next/font/google'; +import Footer from '../../components/footer'; +import GlobalSearch from '../../components/search/global-search'; +const inter = Inter({ subsets: ['latin'] }); + +export const metadata = { + title: "Les bonnes pratiques d'écoconception | Collectif Green IT", + description: "Les bonnes pratiques d'écoconception pour Performance Web", +}; + +export default function RootLayout({ + children, + params, +}: { + children: React.ReactNode; + params: { + lang: keyof typeof ui; + }; +}) { + return ( + <> + + +
+ + {children} +