diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index b96cd69ddb99b25454bf5e605a111d0103830649..e39188a50997e663975f3b9add6cf3e95fc4d670 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -52,6 +52,8 @@ configure_file (${CMAKE_SOURCE_DIR}/src/config.h.cmake ${CMAKE_SOURCE_DIR}/src/c
 # File list
 SET(CPP_FILES
   utils/readspectrum.cpp
+  core/project.cpp
+  files/xpipfile.cpp
 )
 
 set(QTLIBS ${Qt5Xml_LIBRARIES} ${Qt5Gui_LIBRARIES}  ${Qt5Svg_LIBRARIES})
@@ -102,4 +104,3 @@ TARGET_LINK_LIBRARIES(xtpcpp ${PAPPSOMSPP_QT4_LIBRARY} ${Pwiz_LIBRARY} ${ODSSTRE
 INSTALL(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/xtpcpp DESTINATION bin)
 
 #configure_file (${CMAKE_SOURCE_DIR}/templates/share/applications/pt-peptideviewer.desktop.cmake ${CMAKE_BINARY_DIR}/templates/share/applications/pt-peptideviewer.desktop)
-
diff --git a/src/core/project.cpp b/src/core/project.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..7a92c3fb5dbf428f7f111c90bac47f8360bbe496
--- /dev/null
+++ b/src/core/project.cpp
@@ -0,0 +1,37 @@
+
+/*******************************************************************************
+* Copyright (c) 2015 Olivier Langella <Olivier.Langella@moulon.inra.fr>.
+*
+* This file is part of XTPcpp.
+*
+*     XTPcpp is free software: you can redistribute it and/or modify
+*     it under the terms of the GNU General Public License as published by
+*     the Free Software Foundation, either version 3 of the License, or
+*     (at your option) any later version.
+*
+*     XTPcpp is distributed in the hope that it will be useful,
+*     but WITHOUT ANY WARRANTY; without even the implied warranty of
+*     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+*     GNU General Public License for more details.
+*
+*     You should have received a copy of the GNU General Public License
+*     along with XTPcpp.  If not, see <http://www.gnu.org/licenses/>.
+*
+* Contributors:
+*     Olivier Langella <Olivier.Langella@moulon.inra.fr> - initial API and implementation
+******************************************************************************/
+#include "project.h"
+
+Project::Project()
+{
+
+}
+
+Project::~Project()
+{
+
+}
+
+ProjectSp Project::makeProjectSp() const {
+  return std::make_shared<Project>(*this);
+}
\ No newline at end of file
diff --git a/src/core/project.h b/src/core/project.h
new file mode 100644
index 0000000000000000000000000000000000000000..31ff6dc68aaa7747275c253ffc62f838df5b1970
--- /dev/null
+++ b/src/core/project.h
@@ -0,0 +1,40 @@
+
+/*******************************************************************************
+* Copyright (c) 2015 Olivier Langella <Olivier.Langella@moulon.inra.fr>.
+*
+* This file is part of XTPcpp.
+*
+*     XTPcpp is free software: you can redistribute it and/or modify
+*     it under the terms of the GNU General Public License as published by
+*     the Free Software Foundation, either version 3 of the License, or
+*     (at your option) any later version.
+*
+*     XTPcpp is distributed in the hope that it will be useful,
+*     but WITHOUT ANY WARRANTY; without even the implied warranty of
+*     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+*     GNU General Public License for more details.
+*
+*     You should have received a copy of the GNU General Public License
+*     along with XTPcpp.  If not, see <http://www.gnu.org/licenses/>.
+*
+* Contributors:
+*     Olivier Langella <Olivier.Langella@moulon.inra.fr> - initial API and implementation
+******************************************************************************/
+#ifndef PROJECT_H
+#define PROJECT_H
+
+#include<memory>
+
+class Project;
+typedef std::shared_ptr<Project> ProjectSp;
+
+class Project
+{
+public:
+    Project();
+    ~Project();
+    
+    ProjectSp makeProjectSp() const;
+};
+
+#endif // PROJECT_H
diff --git a/src/files/xpipfile.cpp b/src/files/xpipfile.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..4d13bf011513320a521641b7c934bb0e5bfb1dc9
--- /dev/null
+++ b/src/files/xpipfile.cpp
@@ -0,0 +1,38 @@
+/*******************************************************************************
+* Copyright (c) 2015 Olivier Langella <Olivier.Langella@moulon.inra.fr>.
+*
+* This file is part of XTPcpp.
+*
+*     XTPcpp is free software: you can redistribute it and/or modify
+*     it under the terms of the GNU General Public License as published by
+*     the Free Software Foundation, either version 3 of the License, or
+*     (at your option) any later version.
+*
+*     XTPcpp is distributed in the hope that it will be useful,
+*     but WITHOUT ANY WARRANTY; without even the implied warranty of
+*     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+*     GNU General Public License for more details.
+*
+*     You should have received a copy of the GNU General Public License
+*     along with XTPcpp.  If not, see <http://www.gnu.org/licenses/>.
+*
+* Contributors:
+*     Olivier Langella <Olivier.Langella@moulon.inra.fr> - initial API and implementation
+******************************************************************************/
+#include "xpipfile.h"
+
+XpipFile::XpipFile(const QUrl & xpip_source) : _xpip_source(xpip_source)
+{
+
+}
+
+XpipFile::~XpipFile()
+{
+
+}
+ProjectSp XpipFile::getProjectSp() const {
+  Project project;
+  
+  return (project.makeProjectSp());
+  
+}
\ No newline at end of file
diff --git a/src/files/xpipfile.h b/src/files/xpipfile.h
new file mode 100644
index 0000000000000000000000000000000000000000..86d162f2f96f2f0139877f4ca3130445149c1e0a
--- /dev/null
+++ b/src/files/xpipfile.h
@@ -0,0 +1,40 @@
+/*******************************************************************************
+* Copyright (c) 2015 Olivier Langella <Olivier.Langella@moulon.inra.fr>.
+*
+* This file is part of XTPcpp.
+*
+*     XTPcpp is free software: you can redistribute it and/or modify
+*     it under the terms of the GNU General Public License as published by
+*     the Free Software Foundation, either version 3 of the License, or
+*     (at your option) any later version.
+*
+*     XTPcpp is distributed in the hope that it will be useful,
+*     but WITHOUT ANY WARRANTY; without even the implied warranty of
+*     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+*     GNU General Public License for more details.
+*
+*     You should have received a copy of the GNU General Public License
+*     along with XTPcpp.  If not, see <http://www.gnu.org/licenses/>.
+*
+* Contributors:
+*     Olivier Langella <Olivier.Langella@moulon.inra.fr> - initial API and implementation
+******************************************************************************/
+#ifndef XPIPFILE_H
+#define XPIPFILE_H
+
+#include <QUrl>
+#include "../core/project.h"
+
+class XpipFile
+{
+public:
+    XpipFile(const QUrl & xpip_source);
+    ~XpipFile();
+    
+    ProjectSp getProjectSp() const;
+
+private :
+    const QUrl _xpip_source;
+};
+
+#endif // XPIPFILE_H