Vous devez au préalable avoir correctement installé les logiciels suivants :
- Git (2.6.4)
- Node.js et npm, dans une version compatible avec la spécification du nœud
engine
du fichier package.json - Docker (19.03.5) avec Docker Compose
⚠️ Les versions indiquées sont celles utilisées et préconisées par l'équipe de développement. Il est possible que l'application fonctionne avec des versions différentes.
Pix Editor utilise Airtable. La structure de la base peut être fournie en contactant l'équipe de développement.
Naviguer dans votre "developer hub". Générer un access token avec les droits suivant :
data.records:read
data.records:write
Donner l'accès à la base qui contient votre schéma dupliqué. Une fois la base dupliquée, utilisez un compte nominatif pour générer un personal access token.
git clone git@github.com:1024pix/pix-editor.git && cd pix-editor
Initialiser la configuration à partir du template :
cp api/sample.env api/.env
Modifier la configuration en modifiant le fichier .env
:
- renseigner les variables obligatoires, illustrées d'un 🔴 ;
- prendre connaissance des autres et les modifier si besoin.
Se placer sur la bonne version de Node en utilisant nvm :
nvm use
Puis, depuis la racine du projet :
(cd api && npm ci)
(cd pix-editor && npm ci)
Lancer, configurer et initialiser la base de données :
docker-compose up -d
(cd api && npm run db:reset)
Dans un premier processus ou terminal, depuis le répertoire racine :
(cd api && npm start)
Dans un second processus ou terminal, toujours depuis le répertoire racine :
(cd pix-editor && npm start)
Récupérer l'un des 2 tokens de connexion disponibles dans le fichier de seeds :
defaultEditorUserApiKey
: rôle éditeur;adminUserApiKey
: rôle administrateur.
Accéder à l'IHM. Renseigner le token de connexion et vérifier que la page d'accueil s'affiche.
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
INSERT INTO users (name, trigram, "apiKey", access) VALUES ('Compte de service', 'ADM', uuid_generate_v1(), 'admin');
select "apiKey" from users where trigram = 'ADM';
Vous obtenez un token, ici b00d647e-1cb2-11ee-adb2-0242ac11003e
Créer un bucket Swift sur OVH (les buckets S3 ne sont pas supportés)
Lui ajouter la métadonnée permettant d'honorer la politique CORS, en ligne de commande uniquement https://help.ovhcloud.com/csm/fr-public-cloud-storage-pcs-cors?id=kb_article_view&sysparm_article=KB0047095
Exemple sur le bucket lcms-attachments-swift
swift post -H 'X-Container-Meta-Access-Control-Allow-Origin: *' lcms-attachments-swift
swift stat lcms-attachments-swift
Vérifier
Container: lcms-attachments-swift
(..)
Sync Key: Meta Access-Control-Allow-Origin: *
(..)
Configurer l'API via les variables d'environnement
STORAGE_POST=
STORAGE_TENANT=
STORAGE_USER=
STORAGE_PASSWORD=
STORAGE_AUTH=
STORAGE_BUCKET=