diff --git a/pom.xml b/pom.xml
index d4650387dcebff4c0c326e520abfde4ad76b7a48..3693c7d378d67686de80d62e02470bc5fb186f77 100644
--- a/pom.xml
+++ b/pom.xml
@@ -332,7 +332,7 @@
         <dependency>
             <groupId>fr.inrae.po2engine</groupId>
             <artifactId>PO2Engine</artifactId>
-            <version>2.3.0.5</version>
+            <version>2.3.1.3</version>
             <exclusions>
                 <exclusion>
                     <groupId>ch.qos.logback</groupId>
diff --git a/src/main/java/fr/inra/po2vocabmanager/utils/DataTreeCell.java b/src/main/java/fr/inra/po2vocabmanager/utils/DataTreeCell.java
index f363952677127a4132f304900ce794142540b283..6a4704d82ba3fda32250ba688bf6af7d2c5dd538 100644
--- a/src/main/java/fr/inra/po2vocabmanager/utils/DataTreeCell.java
+++ b/src/main/java/fr/inra/po2vocabmanager/utils/DataTreeCell.java
@@ -154,6 +154,59 @@ public class DataTreeCell extends TextFieldTreeCell<DataNode> {
         diagNewIti.showAndWait();
     }
 
+    private static StepFile addStepData(ItineraryFile itiFile, StepFile parentStep, GeneralFile current, boolean rbCopy, StepFile stepToClone) {
+        StepFile s = new StepFile("new step", current);
+        s.setId("");
+        if(rbCopy && stepToClone != null) {
+            s.cloneFrom(stepToClone, itiFile, new HashMap<>(), itiFile, null);
+        }
+
+        if(parentStep != null) {
+            parentStep.addSubStep(s);
+        }
+
+        itiFile.addStep(s);
+        DataNode stepNode = new DataNode(DataNodeType.STEP);
+        stepNode.setItineraryFile(itiFile);
+        if(parentStep != null) {
+            MainApp.getDataControler().addNode(s,stepNode, MainApp.getDataControler().getDataNode(parentStep, itiFile));
+        } else {
+            MainApp.getDataControler().addNode(s,stepNode, MainApp.getDataControler().getDataNode(itiFile) );
+        }
+
+        if(rbCopy) {
+            MainApp.getDataControler().buildItineraryTree(itiFile);
+        }
+        MainApp.getDataControler().selectNode(s);
+        current.getData().setModified(true);
+        return s;
+    }
+
+    private static void newStepImport(ItineraryFile iti, StepFile parent) {
+        File fileImport = getFile(MainApp.primaryStage);
+        if (fileImport == null) {
+            return;
+        }
+        MainApp.logger.info("start importing file " + fileImport.getName());
+        ImportReport importReport = iti.checkImportStepFromXLSX(fileImport);
+        if(importReport.success()) {
+            StepFile step = iti.importStepFromXLSX(fileImport);
+            if(parent != null && step != null) {
+                parent.addSubStep(step);
+            }
+            handleInterfaceUpdate(step.getGeneralFile(), importReport.success(), importReport.toString());
+        } else {
+            showErrorImportAlert(importReport.toString());
+        }
+    }
+
+    private static File getFile(Stage primaryStage) {
+        FileChooser fileChooser = new FileChooser();
+        fileChooser.setTitle("Import file");
+        fileChooser.getExtensionFilters().add(new FileChooser.ExtensionFilter("Xlsx files (*.xlsx)", "*.xlsx"));
+        return fileChooser.showOpenDialog(primaryStage);
+    }
+
     public void addExistingStep(ItineraryFile itineraryFile) {
         Dialog<ButtonType> addStep = new Dialog<>();
         addStep.getDialogPane().setPrefSize(300, 500);
@@ -221,49 +274,20 @@ public class DataTreeCell extends TextFieldTreeCell<DataNode> {
     }
 
 
-    private static StepFile addStepData(ItineraryFile itiFile, StepFile parentStep, GeneralFile current, boolean rbCopy, StepFile stepToClone) {
-        StepFile s = new StepFile("new step", current);
-        s.setId("");
-        if(rbCopy && stepToClone != null) {
-            s.cloneFrom(stepToClone, itiFile, new HashMap<>(), itiFile, null);
-        }
-
-        if(parentStep != null) {
-            parentStep.addSubStep(s);
-        }
-
-        itiFile.addStep(s);
-        DataNode stepNode = new DataNode(DataNodeType.STEP);
-        stepNode.setItineraryFile(itiFile);
-        if(parentStep != null) {
-            MainApp.getDataControler().addNode(s,stepNode, MainApp.getDataControler().getDataNode(parentStep, itiFile));
-        } else {
-            MainApp.getDataControler().addNode(s,stepNode, MainApp.getDataControler().getDataNode(itiFile) );
-        }
-
-        if(rbCopy) {
-            MainApp.getDataControler().buildItineraryTree(itiFile);
-        }
-        MainApp.getDataControler().selectNode(s);
-        current.getData().setModified(true);
-        return s;
-    }
-
-    private static void newStepImport(ItineraryFile iti, StepFile parent) {
+    private static void newItineraryObsImport(ItineraryFile iti) {
         File fileImport = getFile(MainApp.primaryStage);
         if (fileImport == null) {
             return;
         }
-        MainApp.logger.info("start importing file " + fileImport.getName());
-        ImportReport importReport = iti.checkImportStepFromXLSX(fileImport);
-        if(importReport.success()) {
-            StepFile step = iti.importStepFromXLSX(fileImport);
-            if(parent != null && step != null) {
-                parent.addSubStep(step);
-            }
-            handleInterfaceUpdate(step.getGeneralFile(), importReport.success(), importReport.toString());
+        MainApp.logger.info("start importing/create file " + fileImport.getName());
+        Report r = iti.checkCreateObservationFromXLSX(fileImport);
+        if(r.success()) {
+            ObservationFile obs = iti.createObservationFromXLSX(fileImport);
+            handleInterfaceUpdate(obs.getItineraryFile().getProcessFile(), r.success(), "File import completed");
+            MainApp.getDataControler().selectNode(obs);
+            MainApp.logger.info("import done with sucess");
         } else {
-            showErrorImportAlert(importReport.toString());
+            showErrorImportAlert(r.prettyPrintError());
         }
     }
 
@@ -281,24 +305,6 @@ public class DataTreeCell extends TextFieldTreeCell<DataNode> {
         addStepData(itineraryFile, parentStep, current, false, null);
     }
 
-
-    private static void newItineraryObsImport(ItineraryFile iti) {
-        File fileImport = getFile(MainApp.primaryStage);
-        if (fileImport == null) {
-            return;
-        }
-        MainApp.logger.info("start importing/create file " + fileImport.getName());
-        Report r = iti.checkCreateObservationFromXLSX(fileImport);
-        if(r.success()) {
-            ObservationFile obs = iti.createObservationFromXLSX(fileImport);
-            handleInterfaceUpdate(obs.getItineraryFile().getProcessFile(), r.success(), "File import completed");
-            MainApp.getDataControler().selectNode(obs);
-            MainApp.logger.info("import done with sucess");
-        } else {
-            showErrorImportAlert(r.prettyPrintError());
-        }
-    }
-
     public void copyStep(ItineraryFile itineraryFile, StepFile parentStep) {
         if(parentStep != null && parentStep.getFather() != null) {
             Alert notPossible = new Alert(Alert.AlertType.INFORMATION);
@@ -339,13 +345,6 @@ public class DataTreeCell extends TextFieldTreeCell<DataNode> {
         }
     }
 
-    private static File getFile(Stage primaryStage) {
-        FileChooser fileChooser = new FileChooser();
-        fileChooser.setTitle("Import file");
-        fileChooser.getExtensionFilters().add(new FileChooser.ExtensionFilter("Xlsx files (*.xlsx)", "*.xlsx"));
-        return fileChooser.showOpenDialog(primaryStage);
-    }
-
     @Override
     public void updateItem(DataNode item, boolean empty) {
         super.updateItem(item, empty);
diff --git a/src/main/java/fr/inra/po2vocabmanager/view/RootLayoutController.java b/src/main/java/fr/inra/po2vocabmanager/view/RootLayoutController.java
index 32f5ace9b1b68fc9c557b51bc115d38e64991963..2613c50dcddbc14a54bd64f381a89a8b0a1242ab 100644
--- a/src/main/java/fr/inra/po2vocabmanager/view/RootLayoutController.java
+++ b/src/main/java/fr/inra/po2vocabmanager/view/RootLayoutController.java
@@ -83,6 +83,8 @@ public class RootLayoutController {
     @FXML
     Menu conceptScheme;
     @FXML
+    CheckMenuItem showDeprecated;
+    @FXML
     MenuItem addConceptScheme;
     @FXML
     MenuItem itemNewProject;
@@ -110,7 +112,8 @@ public class RootLayoutController {
         itemNewProject.setDisable(true);
         itemNewOntology.setVisible(true);
         itemNewOntology.setDisable(true);
-
+        showDeprecated.setDisable(false);
+        showDeprecated.setSelected(false);
     }
 
     /**
@@ -155,6 +158,13 @@ public class RootLayoutController {
                 mainApp.run(null);
             }
         });
+
+        showDeprecated.setOnAction(event -> {
+            if(MainApp.getOntologyControler() != null && MainApp.getOntologyControler().getCurrentOntology() != null) {
+                MainApp.getOntologyControler().getCurrentOntology().setShowDeprecated(showDeprecated.selectedProperty().get());
+                MainApp.getOntologyControler().rebuildTree(true);
+            }
+        });
     }
 
     public void exportOnto() {
diff --git a/src/main/java/fr/inra/po2vocabmanager/view/ontoView/OntologyOverviewController.java b/src/main/java/fr/inra/po2vocabmanager/view/ontoView/OntologyOverviewController.java
index 51804f4d99503ae4459ab0bfce7c197757a08d79..827d62cf315ac5299a768d483788a75ba7f1549b 100644
--- a/src/main/java/fr/inra/po2vocabmanager/view/ontoView/OntologyOverviewController.java
+++ b/src/main/java/fr/inra/po2vocabmanager/view/ontoView/OntologyOverviewController.java
@@ -176,6 +176,7 @@ TableView<SimpleStringProperty> tableClose;
     private BooleanProperty canEdit = new SimpleBooleanProperty(false);
     private BooleanProperty syncCloud = new SimpleBooleanProperty(false);
     private BooleanProperty isOnMainScheme = new SimpleBooleanProperty(false);
+    private BooleanProperty showDeprecated = new SimpleBooleanProperty(false);
 
     private TreeItem<VocabConcept> rootItem;
     private StringProperty title = new SimpleStringProperty();
@@ -585,11 +586,7 @@ TableView<SimpleStringProperty> tableClose;
 
 
     public void rebuildTree(boolean rebuildConstraint) {
-        if(isOnMainScheme().get()) {
-            rootItem = new RecursiveTreeItem<VocabConcept>(currentOntology.getRootNode(), VocabConcept::getGraphic , VocabConcept::getSubNode, this);
-        } else {
-            rootItem = new RecursiveTreeItem<VocabConcept>(currentOntology.getRootNode(), VocabConcept::getGraphic , VocabConcept::getSubNodeInScheme, this);
-        }
+        rootItem = new RecursiveTreeItem<>(currentOntology.getRootNode(), VocabConcept::getGraphic, VocabConcept::getSubNodeInScheme, this);
         setTree(rootItem);
         if(rebuildConstraint) {
             currentOntology.rebuildConstraints();
@@ -677,8 +674,8 @@ TableView<SimpleStringProperty> tableClose;
                         minorVersion.bind(onto.getMinorVersion());
 
                         currentOntology = onto;
+                        showDeprecated.bind(currentOntology.showDeprecatedProperty());
 
-//                        rebuildConstraints();
                         currentOntology.setCurrentSkosScheme(currentOntology.getMainScheme());
                         MainApp.getOntologyControler().setIsOnMainScheme(true);
 
diff --git a/src/main/resources/fr/inra/po2vocabmanager/view/RootLayout.fxml b/src/main/resources/fr/inra/po2vocabmanager/view/RootLayout.fxml
index efcc17d2b2f65f442c8745e8610c0f839b6e93c3..73754c1296a5a7e4527cc45660fa407c6d86ea53 100644
--- a/src/main/resources/fr/inra/po2vocabmanager/view/RootLayout.fxml
+++ b/src/main/resources/fr/inra/po2vocabmanager/view/RootLayout.fxml
@@ -49,6 +49,7 @@
                 <Menu fx:id="view" mnemonicParsing="false" text="View">
                     <items>
                         <Menu fx:id="conceptScheme" mnemonicParsing="false" text="Concept Scheme" />
+                  <CheckMenuItem fx:id="showDeprecated" mnemonicParsing="false" text="Show deprecated concepts" />
                     </items>
                 </Menu>
                 <Menu mnemonicParsing="false" text="Tools">
diff --git a/src/main/resources/resources/changelog.txt b/src/main/resources/resources/changelog.txt
index ff6810ba99d8515a029c857df3fe521f649b37c2..d84fcaece57f4f9cd743f01dc7f0e2afa3d8ee56 100644
--- a/src/main/resources/resources/changelog.txt
+++ b/src/main/resources/resources/changelog.txt
@@ -1,3 +1,6 @@
+------------------ NEXT ---------------------
+    * Enhancement (PO2-Tools/po2manager#106) : Ajout d'une option pour afficher / masquer les concepts dépréciés.
+
 ------------------ V1.8.5.0 ------------------
     * Enhancement (PO2-Tools/po2manager#107) : Ajout d'une option lors de l'ajout d'étape existante à l'itinéraire pour y inclure les liens entre étapes
     * Enhancement (PO2-Tools/po2manager#95) : uniformiser les fonctionnalités de copies (step / itinerary / ....)
diff --git a/src/main/resources/resources/manifest b/src/main/resources/resources/manifest
index 3b97eb9debe56e1599dffe4fed8caf3dc12ea845..312a06701fcb52b1a4e2841861edebd719ab1ddd 100644
--- a/src/main/resources/resources/manifest
+++ b/src/main/resources/resources/manifest
@@ -4,11 +4,11 @@ Created-By: 17.0.2+8-86 (Oracle Corporation)
 
 Name: app_info
 Specification-Title: PO2Manager
-Specification-Version: 1.8.5.0
+Specification-Version: 1.8.1.0
 Specification-Vendor: fr.inrae
-Compilation-DSTAMP: 20241018
-Compilation-TSTAMP: 1741
-Compilation-Date: October 18 2024
+Compilation-DSTAMP: 20240913
+Compilation-TSTAMP: 1357
+Compilation-Date: September 13 2024
 Compilation-format: 
 Changelog-URL: https://quantum.mia-ps.inrae.fr/PO2Manager/download/cha
  ngelog.txt