diff --git a/src/Bundle/ChillPersonBundle/Resources/public/js/AccompanyingCourse/App_test.vue b/src/Bundle/ChillPersonBundle/Resources/public/js/AccompanyingCourse/App_test.vue
new file mode 100644
index 000000000..5e8bd0d09
--- /dev/null
+++ b/src/Bundle/ChillPersonBundle/Resources/public/js/AccompanyingCourse/App_test.vue
@@ -0,0 +1,19 @@
+
+--: {{ course.id }} :--
+
+
+
diff --git a/src/Bundle/ChillPersonBundle/Resources/public/js/AccompanyingCourse/api/accompanyingCourse.js b/src/Bundle/ChillPersonBundle/Resources/public/js/AccompanyingCourse/api/accompanyingCourse.js
new file mode 100644
index 000000000..1da9261c4
--- /dev/null
+++ b/src/Bundle/ChillPersonBundle/Resources/public/js/AccompanyingCourse/api/accompanyingCourse.js
@@ -0,0 +1,25 @@
+const
+ locale = 'fr',
+ format = 'json',
+ accompanying_period_id = () => window.accompanyingCourseId
+;
+
+// 1. chill_person_accompanying_course_api_show
+let getAccompanyingCourse = (accompanying_period_id) => {
+ const url = `/${locale}/person/api/1.0/accompanying-course/${accompanying_period_id}/show.${format}`;
+ return fetch(url).then(response => response.json());
+};
+
+// 2. chill_person_accompanying_course_api_add_participation (POST)
+let getParticipations = (accompanying_period_id) => {
+ const url = `/${locale}/person/api/1.0/accompanying-course/${accompanying_period_id}/participation.${format}`
+ return fetch(url).then(response => response.json());
+};
+
+export { getAccompanyingCourse, getParticipations };
+
+
+
+///
+// cfr. promise.all() pour plusieurs promesses
+// catch throw sur le dernier then pour capturer l'erreur
diff --git a/src/Bundle/ChillPersonBundle/Resources/public/js/AccompanyingCourse/api/participations.js b/src/Bundle/ChillPersonBundle/Resources/public/js/AccompanyingCourse/api/participations.js
new file mode 100644
index 000000000..f0341ccd9
--- /dev/null
+++ b/src/Bundle/ChillPersonBundle/Resources/public/js/AccompanyingCourse/api/participations.js
@@ -0,0 +1,5 @@
+
+const _participations = []
+
+export default {
+}
diff --git a/src/Bundle/ChillPersonBundle/Resources/public/js/AccompanyingCourse/index.js b/src/Bundle/ChillPersonBundle/Resources/public/js/AccompanyingCourse/index.js
index 4335113f7..6d738de33 100644
--- a/src/Bundle/ChillPersonBundle/Resources/public/js/AccompanyingCourse/index.js
+++ b/src/Bundle/ChillPersonBundle/Resources/public/js/AccompanyingCourse/index.js
@@ -1,8 +1,16 @@
-import App from './App.vue';
import { createApp } from 'vue';
+import createStore from './store';
+import App from './App_test.vue';
-const app = createApp({
- template: ``
-})
-.component('app', App)
-.mount('#accompanying-course');
+createStore.then(store => {
+
+ //console.log('store in create_store', store);
+ console.log('store course', store.state.course);
+
+ const app = createApp({
+ template: ``,
+ })
+ .use(store)
+ .component('app', App)
+ .mount('#accompanying-course');
+});
diff --git a/src/Bundle/ChillPersonBundle/Resources/public/js/AccompanyingCourse/store/.keep b/src/Bundle/ChillPersonBundle/Resources/public/js/AccompanyingCourse/store/.keep
deleted file mode 100644
index e69de29bb..000000000
diff --git a/src/Bundle/ChillPersonBundle/Resources/public/js/AccompanyingCourse/store/index.js b/src/Bundle/ChillPersonBundle/Resources/public/js/AccompanyingCourse/store/index.js
new file mode 100644
index 000000000..e9bae629b
--- /dev/null
+++ b/src/Bundle/ChillPersonBundle/Resources/public/js/AccompanyingCourse/store/index.js
@@ -0,0 +1,21 @@
+import 'es6-promise/auto';
+import { createStore } from 'vuex';
+import { getAccompanyingCourse, getParticipations } from '../api/accompanyingCourse';
+
+const debug = process.env.NODE_ENV !== 'production';
+
+let promise = getAccompanyingCourse(window.accompanyingCourseId)
+ .then(accompanying_course => new Promise((resolve, reject) => {
+ let store = createStore({
+ state() {
+ return {
+ course: accompanying_course
+ }
+ },
+ strict: debug
+ });
+ //console.log('store', store);
+ resolve(store);
+ }));
+
+export default promise;