From 15ae8c8085b7d39477ecf0cdee40a88cbb754a18 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9rique=20Chambinaud?= Date: Wed, 7 Feb 2024 09:15:03 +0100 Subject: [PATCH] [WIP] style english doc --- _sass/base.scss | 25 +- en/about.html | 240 ++++++++------ en/doc/guides/api.md | 56 ++++ en/doc/guides/developpement.md | 44 ++- en/doc/guides/import_export.md | 18 +- en/doc/guides/voyager/story_interface.html | 32 ++ en/doc/index.html | 133 ++++---- .../administration/configuration.md | 54 +-- en/doc/references/administration/index.md | 65 +++- .../references/administration/requirements.md | 28 +- en/doc/references/api.md | 145 ++++++++ en/doc/references/models/index.md | 44 +-- en/doc/tutorials/deployment.md | 42 ++- en/doc/tutorials/voyager/edit.html | 239 ++++++------- en/doc/tutorials/voyager/highlight.md | 71 ++++ en/doc/tutorials/voyager/import.html | 15 + en/doc/tutorials/voyager/setup.md | 8 +- en/doc/tutorials/voyager/tour.html | 206 ++++++------ en/index.html | 313 +++--------------- fr/about.html | 12 +- fr/doc/guides/development.md | 14 +- fr/doc/guides/import_export.md | 2 +- fr/doc/index.html | 57 ++-- .../administration/configuration.md | 16 +- fr/doc/references/administration/index.md | 19 +- .../references/administration/requirements.md | 10 +- fr/doc/references/models/index.md | 8 - fr/doc/tutorials/deployment.md | 1 + fr/doc/tutorials/voyager/edit.html | 26 +- fr/doc/tutorials/voyager/highlight.md | 2 +- fr/doc/tutorials/voyager/setup.md | 37 +++ fr/doc/tutorials/voyager/tour.html | 7 +- fr/index.html | 4 +- 33 files changed, 1113 insertions(+), 880 deletions(-) create mode 100644 en/doc/guides/api.md create mode 100644 en/doc/guides/voyager/story_interface.html create mode 100644 en/doc/references/api.md create mode 100644 en/doc/tutorials/voyager/highlight.md create mode 100644 en/doc/tutorials/voyager/import.html create mode 100644 fr/doc/tutorials/voyager/setup.md diff --git a/_sass/base.scss b/_sass/base.scss index 1b638a4f..b211cd58 100644 --- a/_sass/base.scss +++ b/_sass/base.scss @@ -242,7 +242,7 @@ a h1{ h2{ font-family: $bodyFont; - font-weight: 600; + font-weight: 700; font-size: 2rem; display: inline; margin: 20px 0; @@ -252,9 +252,9 @@ h2{ .ligne-jaune-h2{ margin-bottom: 1rem; box-shadow: inset 0rem -0.6rem 0px $yellow; - display: flex; - justify-content: start; - display: inline-block; + // display: flex; + // justify-content: start; + // display: inline-block; } h3{ @@ -271,7 +271,6 @@ h3{ justify-content: start; } - h4{ font-size: 1.1rem; margin: 1rem 0 0.5rem 0; @@ -282,8 +281,8 @@ p{ margin-block-start: 0; margin-block-end: 0; font-size: 1rem; - line-height: 1.25rem; - margin-bottom: 0.3rem; + line-height: 1.4rem; + margin-bottom: 0.5rem; } @@ -470,7 +469,6 @@ margin-right: 3rem; line-height: 1.6rem; margin: 0rem 3rem 0.3rem 3rem; } - button{ padding: 0.5rem 1rem; background-color: $darkgrey; @@ -483,13 +481,20 @@ button{ button:hover{ background-color: $yellow; color: black; - font-weight: 500; } .center-button{ display: flex; justify-content: center; width: 100%; margin-top: 1rem; + &.versionEN{ + margin-top: -0.5rem; + margin-bottom: 1.5rem; + } + &.versionEN2{ + margin-top: 2rem; + margin-bottom: 1.5rem; + } } @@ -583,7 +588,7 @@ button:hover{ box-shadow: inset 0rem -0.6rem 0px #E6B900; } h3{ - font-family: $bodyFont; + font-family: $serifFont; margin: 1.5rem 3rem 1rem 3rem; box-shadow: inset 0.7rem 0px 0px $yellow; } diff --git a/en/about.html b/en/about.html index 305f4e4e..067141bd 100644 --- a/en/about.html +++ b/en/about.html @@ -1,122 +1,172 @@ --- -title: "À propos" +title: "eThesaurus" +description: > +Presentation of the consortium and digitized works of medieval goldsmithery from the 12th and 13th centuries. --- -
-

About the consortium

+
+

The eThesaurus consortium

-
- Gros plan sur le pied de croix de l'abbaye de Saint-Bertin. On y voit un évangéliste devant son pupitre. Réalisé en image de synthèse à partir d'une photogrammétrie -
-

Medieval goldsmithing put to the test of digital modeling

-

- eThesaurus was born from a collaboration between UMR IRHiS at the University of Lille and the Geomatics and Art, Archaeology, and Heritage research unit at the University of Liège. - It brings together a Franco-Belgian team of art historians, university professors, museum curators, and researchers in computer science and applied sciences. - Starting from the beginning of the project in 2018, the team was joined by the Roubaix-based company Holusion, which specializes in the diffusion of digital models on various formats. -

+Close-up of the foot of the cross at Saint-Bertin Abbey. An evangelist is shown in front of his desk. Created using computer-generated images based on photogrammetry. +
+

Medieval goldsmiths put to the test with digital modelling

+

+ The eThesaurus consortium is the result of collaboration between the University of Lille (UMR IRHiS) and the University + of Liège (Geomatics unit and Art, Archaeology and Heritage research unit). It therefore brings together a Franco-Belgian + team of art historians, academics and museum curators, as well as researchers in computer science and applied sciences. + From the outset of the project (2018), the team was joined by the Roubaix-based company Holusion, working on methods for + disseminating digital models through different media. +

+ +
-
-

eThesaurus

+
+

eThesaurus

+
+Analysis of the foot of the cross at Saint-Bertin +
+

+ Its focus is on Northern goldsmiths' wares from the 12th-13th centuries, combined with physico-chemical and radiographic + analyses, with the aim of deepening our understanding of the manufacturing techniques used for these objects and their + materials. + The information gathered in this way will be fed into the eCorpus online database, which will combine + informative and analytical data with 3D models of the items studied. +

+

+ eThesaurus is part of several calls for projects, of which it was a winner in 2017-2018, and again in 2020-2021. The + first call was launched by the MAuVE (MédiAtions VisuElles) research structure: digital culture and creation, supported + by several universities and the Hauts-de-France Region (CPER). The last was ADNI-2021 from DRAC-Hauts-de-France. +

-
- Analysis of the foot of the cross of Saint-Bertin -
-

- The study focuses on Northern goldsmithing techniques from the 12th-13th centuries, and is associated with physical-chemical and radiographic analyses to deepen our understanding of the objects' manufacturing techniques and materials. - The information gathered will be used to enrich the eCorpus online database, where informative and analytical data will be associated with the 3D models of the studied elements. -

-

- eThesaurus is part of several project calls, for which it was awarded in 2017-2018 and 2020-21. - The first call was launched by the research structure MAuVE (Visual Mediations): Digital Culture and Creation, supported by several universities and the Hauts-de-France Region (CPER). - The most recent call was the ADNI-2021 of the DRAC-Hauts-de-France. -

-
-
- -
-

Future Prospects

+
+

Outlook

+

+ The use of the eCorpus platform (as demonstrated by eThesaurus) enables wide, accessible distribution of 3D digital + objects and their metadata. This platform aims to solve the problem of accessing and promoting digitized cultural and + artistic heritage, which has long been limited to a restricted audience, often reserved for professionals in the field. +

-
-
-

- The use of the eCorpus platform and its eThesaurus demonstrator allows for a wide and accessible dissemination of 3D digital objects and their metadata. - This platform aims to solve the problem of access and valorization of digitized cultural and artistic heritage, which has long been limited to a narrow audience, often reserved for professionals in the field. -

-
-
+Presentation of the eCorpus system at the Sorbonne Abu Dhabi -
- Presentation of eCorpus at Sorbonne Abu Dhabi -
-

March 2022

+ +
+
+

March 2022

- The Sorbonne Abu Dhabi (SUAD) University has acquired three holographic showcases (two small IRIS 22 models and one large IRIS 32 model) from the company Holusion. - This acquisition aimed to provide teachers and students with a new 3D visualization tool as a support for courses and/or research projects. + Sorbonne University Abu Dhabi (SUAD) has acquired three holographic display cases (two small IRIS 22 models and one + large IRIS 32 model). This acquisition from Holusion was designed to provide lecturers and students with a new 3D + visualization tool to support lectures and/or research work.

-

March 2023

+

March 2023

- SUAD has complemented this first acquisition by integrating the eCorpus system, set up as part of a consortium, to enable the manipulation of previously digitized objects in holographic showcases and to insert information. + SUAD has completed this first acquisition by integrating the eCorpus system, set up as part of a new consortium afin to + make it possible to manipulate previously digitized objects in holographic showcases and insert information into them.

+

+ This is a very important step for the university, enabling it to move from being a spectator to an actor, both in + terms of manipulating objects and integrating information into them. SUAD was thus able to test oration of its data + across two axes: art history, and science and engineering, producing content of various kinds ranging from historical + context to microscopic photography. This was an opportunity for SUAD to experiment with the collaborative aspect of + E-Corpus. +

-
-
-

- This very important step for the university allows it to move from the spectator stage to the actor stage, both in the manipulation of objects and in the ability to integrate information. - SUAD was able to test the presentation of its data through two departments: Art History and Engineering, Science, and Technology, producing content of different types ranging from historical context to microscopic photographs. - This was an opportunity for SUAD to experiment with the collaborative aspect of eCorpus. -

-
-
+Presentation of research work by students on an Iris 22 at the Sorbonne Abu Dhabi -
- Presentation of research work by students on an Iris 22 at Sorbonne Abu Dhabi -
-

- The recent inauguration of an exhibition of student research on archaeological furniture extracted from excavations carried out by SUAD and the DDCR (Dubai Desert Conservation Reserve) allowed testing of this new system and presenting the results to a large audience, including teaching professionals, museums, and students. - Their very enthusiastic feedback attests to the importance of this device for both museum and university establishments. -

-

- SUAD plans to strengthen this device within its establishment in order to allow students a better understanding of the objects they will study. - Students from the Department of Art History and Archaeology have already had the opportunity to use these new tools, which have been very intuitive and not time-consuming. - The aim is now to fully integrate them into the educational curriculum and to benefit from the students' feedback. -

-
+
+

+ The recent inauguration of an exhibition of students' work on archaeological material from excavations carried out by + SUAD and the DDCR (Dubai Desert Conservation Reserve) provided an opportunity to test this new system and present the + results to a wide audience, including teaching professionals, museums and students. Their enthusiastic feedback + testifies to the importance of this system for both museum and university establishments. +

+

+ SUAD plans to reinforce this system within its establishment, to enable students to better understand the objects they + will be studying. Students from the History of Art and Archaeology department have already had the opportunity to use + these new tools, which were very intuitive and not time-consuming to learn. Now it's time to integrate them fully into + the teaching curriculum and benefit from student feedback. +

+

+ At the same time, SUAD is planning to collaborate with several cultural institutions in the Arabian Peninsula on this + new device, in order to share this new approach to the study of an art object, which can also be the subject of + mediation: digitizing an object, integrating all the research carried out, sharing it and promoting it. +

+

+ + We would like to thank OPUS (Observatoire Paris Sorbonne Université), Christophe Moulherat and Delphine Sylvilay + for their contribution to this project, as well as all the partners who helped make this technological breakthrough + possible in the service of culture and digital heritage. We hope that this breakthrough will encourage new + collaborations, research and discoveries in this constantly evolving field. + +

-
-
-

- At the same time, SUAD plans to collaborate with several cultural institutions in the Arabian Peninsula around this new device in order to share this new approach to the study of an artwork, which can also be the subject of mediation: - digitizing an object, integrating all the research carried out, sharing it, and promoting it. -

-

- We would like to thank OPUS (Observatoire Paris Sorbonne Université), Christophe Moulherat, and Delphine Sylvilay for their contribution to this project, - as well as all the partners who have made this technological advancement possible in service of culture and digital heritage. - We hope that this progress will foster new collaborations, research, and discoveries in this constantly evolving field. -

-
- Logo of the IRHIS laboratory, University of Lille (France) - Logo of the University of Liège (Belgium) - Logo of the company Holusion +
+ +
+ diff --git a/en/doc/guides/api.md b/en/doc/guides/api.md new file mode 100644 index 00000000..f290d0f0 --- /dev/null +++ b/en/doc/guides/api.md @@ -0,0 +1,56 @@ +--- +title: Using the API +--- + +## Using the API + +eCorpus provides a two-part API: + + - webDAV on `/scenes/**` to access scene files. + - REST on `/api/v1/**` for administrative management. + +### Authentication + +For command-line authentication, use an `Authorization` header with the value `Basic `. + +Header encoding is handled automatically by most utilities. Example with curl: + +```bash +curl -XGET -u ":" https://ecorpus.holusion.com/[...] +``` + +### API webDAV + +File organization: + +``` +├── foo/ +│ ├── scene.svx.json +│ ├── scene-image-thumb.jpg +│ ├── models/ +│ │ └── foo.glb +│ └── articles/ +│ └── foo-FR.html +└── bar/ + ├── scene.svx.json + ├── scene-image-thumb.jpg + ├── models/ + │ └── bar.glb + └── articles/ + └── bar-FR.html +``` + +So to retrieve a: + +```bash +curl -XGET -u ":" https://ecorpus.holusion.com//scenes/foo/models/foo.glb +``` + +Les verbes `GET` `PUT` `MOVE` `COPY` `DELETE` `MKCOL` et `PROPFIND` sont supportés, avec un comportement se conformant généralement à la [spécification](http://www.webdav.org/specs/rfc4918.html){:target="_blank"}. + + +### API REST + +The REST API can be accessed at `/api/v1/`. It uses standard HTTP verbs. + +See the [route reference](/en/doc/references/api) for details. diff --git a/en/doc/guides/developpement.md b/en/doc/guides/developpement.md index 4c5423d8..3cee3ea9 100644 --- a/en/doc/guides/developpement.md +++ b/en/doc/guides/developpement.md @@ -1,3 +1,8 @@ +--- +title: Development +--- + +## Development ### Keeping in sync @@ -29,14 +34,45 @@ Edit the `.gitmodules` to change the source URL, then run : Then in the change module's folder (ie. `libs/ff-x`) - cd libs/ff-xx - git fetch - git checkout origin/ +``` +cd libs/ff-xx +git fetch +git checkout origin/ +``` Finally, in the root folder : - git add libs/ff-x +``` +git add libs/ff-x +``` Commit the changes to the submodule's URL and HEAD. [^1]: Described here [friendly forks management](https://github.blog/2022-05-02-friend-zone-strategies-friendly-fork-management/#git-for-windows-git) + + +### Tests + +The server part of the code is tested with [mocha](https://mochajs.org/){:target="_blank"} and [chai](https://www.chaijs.com/){:target="_blank"}. See `source/server/**/*.test.js`. + +Run unit tests with : + +``` +npm test +``` + +Or to select specific tests : + +``` +(cd source/server && npm test -- --grep "test name") +``` + +> Some lines in `console.log` are disabled to make standard test output more readable. They can be reactivated by forcing the `TEST=0` variable on the command line. + +### Synchronization with the original repository + +This repository is synchronized with [upstream](https://github.com/Smithsonian/dpo-voyager){:target="_blank"}. Changes are made in a `master` branch and merged with the `upstream/master` branch. It's important to keep code porting as simple as possible (see for example: [friendly forks management](https://github.blog/2022-05-02-friend-zone-strategies-friendly-fork-management/#git-for-windows-git){:target="_blank"}). + +``` +git merge -m "merge branch 'master' on $(git rev-parse --short master)" master +``` \ No newline at end of file diff --git a/en/doc/guides/import_export.md b/en/doc/guides/import_export.md index 5e03f2a4..0fb790a9 100644 --- a/en/doc/guides/import_export.md +++ b/en/doc/guides/import_export.md @@ -1,8 +1,8 @@ --- -title: Importing and exporting data +title: Managing your data --- -# Managing your eCorpus data +## Managing your data Data interoperability is one of the core features of eCorpus. @@ -10,24 +10,24 @@ It's simplest expression is that one can easily download some or all data from a It's useful for backup purposes but can also be leveraged as a way to reuse scenes from one institution to another. -## Exporting data from your eCorpus instance +### Exporting data from your eCorpus instance -### Using the interface +#### Using the interface Navigate to the **collection** page of your eCorpus instance. Select the scenes you wish to export and click on the **Download as Zip** button. -### Using the API +#### Using the API ```bash curl -XGET https://${HOSTNAME}/api/v1/scenes?name=${NAME}&format=zip ``` -You can add as many `name="..."` parameters as you want to the query string. +You can add as many `name="..."` parameters as you need, separated by `&` characters. -## Importing data into your eCorpus instance +### Importing data into your eCorpus instance -### Using the API +#### Using the API ```bash curl -XPOST https://${HOSTNAME}/api/v1/scenes --data-binary "@${ZIP_FILE}" | jq . ``` -The request returns a (potentially very large) JSON object describing the result. You can filter only failure by running `jq .fail` or if you don't have `jq` installed you can skip it and use the `curl -s --fail -o /dev/null -w "%{http_code}"` +The request returns a (potentially very large) JSON object describing the result. You can filter only failure by running `jq .fail` or if you don't have `jq` installed you can skip it and use the `curl -s --fail -o /dev/null -w "%{http_code}"`. diff --git a/en/doc/guides/voyager/story_interface.html b/en/doc/guides/voyager/story_interface.html new file mode 100644 index 00000000..29bdf7af --- /dev/null +++ b/en/doc/guides/voyager/story_interface.html @@ -0,0 +1,32 @@ +--- +title: Voyager Story interface +--- + +
+

Voyager Story interface

+

Edit your scene

+
+
    +
  • {% include button.html name="pose" icon="move" %} Position and resize the model.
  • +
  • {% include button.html name="capture" icon="camera" %} Take screenshots and save the state of the scene.
  • +
  • {% include button.html name="derivatives" icon="hierarchy" %} Manage derivatives (different levels of detail).
  • +
  • {% include button.html name="annotations" icon="comment" %} Create and edit annotations.
  • +
  • {% include button.html name="articles" icon="file" %} Create and edit articles.
  • +
  • {% include button.html name="visites" icon="globe" %} Create and edit guided tours.
  • +
  • {% include button.html name="audio" icon="audio" %} Add and organize audio.
  • +
  • {% include button.html name="parametres" icon="eye" %} Edit scene settings.
  • +
+

Explore the scene

+
    +
  • {% include button.html icon="globe" %} Display tours.
  • +
  • {% include button.html icon="file" %} Display articles.
  • +
  • {% include button.html icon="comment" %} Display annotations.
  • +
  • {% include button.html icon="share" %} Share the scene.
  • +
  • {% include button.html icon="expand" %} Fullscreen mode.
  • +
  • {% include button.html icon="tools" %} Tools and settings.
  • +
+
+ + + +
\ No newline at end of file diff --git a/en/doc/index.html b/en/doc/index.html index 33d5a333..2f94e5f0 100644 --- a/en/doc/index.html +++ b/en/doc/index.html @@ -1,86 +1,91 @@ --- layout: doc -title: documentation +title: Documentation --- - -
-

eCorpus

-
- -
-
- Gros plan sur le chapiteau en émail sur cuir champlevé du Pied de croix de l'abbaye de Saint-Bertin. +
+
+

Documentation + +

-
+

+ Save, edit, comment, enhance and publish digitized cultural artifacts. +

+ Close-up of the champlevé enamel-on-leather capital of the Pied de croix from Saint-Bertin Abbey. +
-
-

Presentation

-
- -
-
-

- eCorpus is a reference implementation of the dpo-voyager - editor provided by Holusion, allowing for hosting, editing, and management of 3D scenes. +

+
+

Introduction

+

+ eCorpus is a reference implementation of Holusion's dpo-voyager editor for hosting, editing + and managing scènes 3D. +

+

+ Designed for medium-sized collections (1 to 1,000 objects), an eCorpus deployment offers a complete interface for + managing user rights and publishing data, as well as guarantees of data preservation through advanced management + of + modification histories. +

+

+ Development is open-source on GitHub. The entire + software is published under the Apache license.

-

- Designed for medium-sized collections (1 to 1000 objects), an eCorpus deployment offers a comprehensive interface for managing user rights, publishing data, as well as guarantees for data preservation using advanced modification history management. -

-
-

Content editing

+
+

Content editing

- Voyager Story interface for editing a 3D scene with annotations and articles + Voyager Story interface for editing a 3D scene with annotations and articles
- -
-

- Content editing is based on the Voyager Story editor developed by the Smithsonian Institute. +

+

+ Content editing is based on the Voyager Story editor developed by the Smithsonian Institute.

- -

Learn how to edit a 3D Scene :

- -

- - Editing guide +

Find out how to edit a 3D Scene :

+ +
+
-
-
-

Deployment

-

- For more information on deploying an eCorpus instance, refer to the technical documentation or contact Holusion. -

-

- Learn how to create, edit, and delete users for eCorpus. -

-

- - Administration guide - +

+
+

Deployment

+

+ A small eCorpus instance can run on just about any device.

- -

Development

-

- Development is done in open-source on GitHub. The entire software is published under the Apache license. -

-

- The 3D scene editor and viewer are mainly maintained by the Smithsonian Institute under the name DPO-Voyager. The file server and user management are fully developed and maintained by Holusion. -

+
+ + + + +
+

Features

+

+ eCorpus offers a set of administrative functions for managing users, collections, 3D scenes and annotations. It's + a complete, ready-to-use server that can be deployed in a matter of minutes. +

+

+ In addition, advanced Voyager features are developed and integrated by Smithsonian teams deployment by Smithsonian teams. +

\ No newline at end of file diff --git a/en/doc/references/administration/configuration.md b/en/doc/references/administration/configuration.md index 7209d970..029b92e6 100644 --- a/en/doc/references/administration/configuration.md +++ b/en/doc/references/administration/configuration.md @@ -2,7 +2,7 @@ title: Configure an instance --- -# Settings and parameters +## Configure an instance All configuration options are provided by environment variables. @@ -10,9 +10,9 @@ Leaving the default value is generally a good choice. For boolean variables, use `1` or `true` / `0` or `false`. -## Basic variables +### Basic variables -### NODE_ENV +#### NODE_ENV > `development` @@ -20,13 +20,13 @@ For boolean variables, use `1` or `true` / `0` or `false`. Drives the default value of other configuration variables. -Changes the behavior of some modules. See also [express](https://expressjs.com/en/advanced/best-practice-performance.html#set-node_env-to-production). +Changes the behavior of some modules. See also [express](https://expressjs.com/en/advanced/best-practice-performance.html#set-node_env-to-production){:target="_blank"}. Should generally be forced to `production` in deployments. ### HOSTNAME -### PUBLIC +#### PUBLIC > `true` @@ -34,25 +34,25 @@ Default access of newly created scenes. Does not modify existing scenes. It is still possible to create a publicly accessible scene by changing its permissions even if `PUBLIC=0`. -### BRAND +#### BRAND > `eCorpus` Name of the instance. Replaces **eCorpus** in the interface. -### PORT +#### PORT > `3000` Port used by the service. Change in case of conflict. -### SMART_HOST +#### SMART_HOST > `smtp://localhost` -[Smart Host](https://en.wikipedia.org/wiki/Smart_host) à utiliser pour l'envoi d'emails. +[Smart Host](https://en.wikipedia.org/wiki/Smart_host){:target="_blank"} à utiliser pour l'envoi d'emails. -Used by [modemailer](https://nodemailer.com/) to create a mail transport. +Used by [nodemailer](https://nodemailer.com/){:target="_blank"} to create a mail transport. Additional configuration options can be added to the url as query parameters. @@ -60,73 +60,73 @@ Additional configuration options can be added to the url as query parameters. # allow self-signed certificates: smtp://localhost:465?tls.rejectUnauthorized=false ``` -See the full [list](https://nodemailer.com/smtp/). +See the full [list](https://nodemailer.com/smtp/){:target="_blank"}. -### TRUST_PROXY +#### TRUST_PROXY > `true` -Changes express's trust-proxy option. See [express](http://expressjs.com/en/5x/api.html#trust.proxy.options.table). +Changes express's trust-proxy option. See [express](http://expressjs.com/en/5x/api.html#trust.proxy.options.table){:target="_blank"}. -## administration variables +### administration variables -### FORCE_MIGRATION +#### FORCE_MIGRATION > `false` -Force reapply of the last *sqlite* migration (see [doc](https://www.npmjs.com/package/sqlite#migrations)). +Force reapply of the last *sqlite* migration (see [doc](https://www.npmjs.com/package/sqlite#migrations){:target="_blank"}). Sometimes useful to repair migration errors, but generates a risk of data loss. -### CLEAN_DATABASE +#### CLEAN_DATABASE > `true` Set to `false` to disable periodic database cleanup. -### ROOT_DIR +#### ROOT_DIR > `.` Main directory. Serves as a base for [FILES_DIR](#files_dir) [DIST_DIR](#dist_dir) and [ASSETS_DIR](#assets_dir). -### MIGRATIONS_DIR +#### MIGRATIONS_DIR > `./migrations` -### TEMPLATES_DIR +#### TEMPLATES_DIR > `./templates` -### FILES_DIR +#### FILES_DIR > `$ROOT_DIR/files` Data storage directory of the instance: Database, objects and temporary storage. -### DIST_DIR +#### DIST_DIR > `$ROOT_DIR/dist` build artifacts of the user interface. -### ASSETS_DIR +#### ASSETS_DIR > `$ROOT_DIR/assets` Static assets -## Variables de développement +### Variables de développement -### HOT_RELOAD +#### HOT_RELOAD > `$NODE_ENV == "development"` -Activates webpack's [HMR](https://webpack.js.org/concepts/hot-module-replacement/). +Activates webpack's [HMR](https://webpack.js.org/concepts/hot-module-replacement/){:target="_blank"}. -### VERBOSE +#### VERBOSE > `false` diff --git a/en/doc/references/administration/index.md b/en/doc/references/administration/index.md index 8520819d..bb51529a 100644 --- a/en/doc/references/administration/index.md +++ b/en/doc/references/administration/index.md @@ -1,13 +1,70 @@ --- title: Instance administration -description: start managing an eCorpus instance +description: Get to grips with administration tools --- -# Administration of an eCorpus instance + +## Administration of an instance ### The administration interface -Connected as an administrator, an **administration** tab appears in the navigation bar. +When logged in as administrator, an **administration** tab appears in the navigation bar. + +If the tab doesn't appear, ask another administrator to check your permissions. + +### Administration tools + +#### User management + +The user management tool lets you create, modify and delete users. + +

+ Find it in the + + Users tab your administration interface. +

+ +This page is mainly used to add new users, using the button at the top of the page. + +It is also possible to generate quick login links for existing users using the icon to the right of each user. + +#### Data export + +The administration interface allows you to export all eCorpus instance data. + + > This feature should only be used for very small instances. + > Do not attempt to export large quantities of data from the interface! + +

+ In the + + Home tab of the administration interface: +

+ +Click on `Download all scenes`. + +The download should take a few seconds. + +The exported Zip file has the following structure: + +``` +scenes/ +├── scene1/ +│ ├── scene.svx.json +│ ├── models/ +│ │ ├── scene1.glb +│ ├── articles/ +│ │ ├── article1-fr.html +│ │ ├── article1-en.html +│ ├── scene-image-high.jpg +│ ├── scene-image-low.jpg +│ ├── scene-image-medium.jpg +│ ├── scene-image-thumb.jpg +├── scene2/ + [...] +``` + -If the tab does not appear, ask another administrator to check your permissions. +### See also +[Configuration options](configuration) \ No newline at end of file diff --git a/en/doc/references/administration/requirements.md b/en/doc/references/administration/requirements.md index 7bc3fbb6..eb9639f8 100644 --- a/en/doc/references/administration/requirements.md +++ b/en/doc/references/administration/requirements.md @@ -1,18 +1,18 @@ --- -title: Besoins matériels +title: Hardware requirements --- -# eCorpus requirements +## Hardware requirements -## Requirements +### Requirements A small eCorpus instance can run on approximately any device. -all storage and database operations happens on Disk (see [sqlite](https://www.sqlite.org/about.html)) so a fast reliable and durable local storage medium is **required**. +All storage and database operations happens on Disk (see [sqlite](https://www.sqlite.org/about.html){:target="_blank"}) so a fast reliable and durable local storage medium is **required**. -### Hardware requirements +#### Hardware requirements - > depends heavily on expected traffic and corpus size. + > Depends heavily on expected traffic and corpus size. As a minimum, expect : @@ -22,16 +22,16 @@ As a minimum, expect : It has been verified to work on systems as small as 1GB RAM and 1 vCPU with a small dataset and low connection volume. -### Software requirements: +#### Software requirements: - - [nodejs](https://nodejs.org/) v16 (LTS) or greater - - the underlying system should have [shared memory](https://en.wikipedia.org/wiki/Shared_memory) support (for sqlite's [WAL Log](https://sqlite.org/wal.html)) - any modern OS should be OK. + - [nodejs](https://nodejs.org/){:target="_blank"} v16 (LTS) or greater + - the underlying system should have [shared memory](https://en.wikipedia.org/wiki/Shared_memory){:target="_blank"} support (for sqlite's [WAL Log](https://sqlite.org/wal.html){:target="_blank"}) - any modern OS should be OK. -a toolchain to compile native nodejs addons might be required if [node-sqlite3](https://github.com/TryGhost/node-sqlite3/releases) doesn't provide a working prebuilt module for your platform. +a toolchain to compile native nodejs addons might be required if [node-sqlite3](https://github.com/TryGhost/node-sqlite3/releases){:target="_blank"} doesn't provide a working prebuilt module for your platform. -Alternatively, use [Docker](https://www.docker.com/). +Alternatively, use [Docker](https://www.docker.com/){:target="_blank"}. -## Production optimization +### Production optimization Set the database to WAL mode with `PRAGMA journal_mode = WAL` can greatly speed up operations. Memory tuning using `PRAGMA soft_heap_limit` could help. @@ -39,8 +39,8 @@ Ensuring the file system is able to handle a lot of files in a single directory The `Cache-Control` header is very restrictive by default to allow fine-grained access-control. If all the objects are public, it could be replaced by `Cache-Control: public` in most places. -## Limitations +### Limitations eCorpus over sqlite is well capable of handling a few thousands of objects with some level of concurrency, serving a medium sized public-facing website. -For anything substantially larger, switching to another database engine or using a system designed for scale like [dpo-pakrat](https://github.com/Smithsonian/dpo-packrat) would be recommended. +For anything substantially larger, switching to another database engine or using a system designed for scale like [dpo-pakrat](https://github.com/Smithsonian/dpo-packrat){:target="_blank"} would be recommended. diff --git a/en/doc/references/api.md b/en/doc/references/api.md new file mode 100644 index 00000000..69ed4643 --- /dev/null +++ b/en/doc/references/api.md @@ -0,0 +1,145 @@ +--- +title: API eCorpus +--- + +## API eCorpus + +See [API user guide](/en/doc/guides/api). + +All routes must be prefixed with `/api/v1/`. + +Some routes require administration rights. + +### /login + +#### GET /login + +#### POST /login + +Authenticates a user. + +#### GET /login/:username/link + +Returns a login link for the user concerned in `text/plain` format. + +Example content: +```text +https://irhis.ecorpus.holusion.com/api/v1/login?payload=[...]&redirect=%2F +``` + +#### GET /users + +Returns the list of users in JSON format according to the following scheme: + +```json +[ + { + "uid": 280255476455992, + "isAdministrator": false, + "username": "jdupont", + "email": "jean.dupont@example.com" + } +] +``` + +#### POST /users + +Create a user + +The request body must be in `application/json` format. Example with curl: + +```bash +curl -XPOST -H "Content-Type: application/json" -d "{\"username\":\"jdupont\", \"password\":\"some_secret_string\", \"isAdministrator\":false, \"email\":\"jean.dupont@example.com\"}" https://ecorpus.example.com/api/v1/users +``` + +the `username` property must satisfy the following regular expression: `/^[\w]{3,40}$/`. + +#### DELETE /users/:uid + +Deletes a user using its `uid`. + +Requires administration rights. + +#### PATCH /users/:uid + +Changes one or more properties of a user using its `uid`. + +Request body must be in `application/json` format. Same format as for user creation. + +#### GET /scenes + +The behavior differs according to the expected format (header `Accept`). + +##### application/json + +Retrieves the list of scenes in JSON format. More efficient than `PROPFIND /scenes`. + +##### application/zip + +Retrieves a zip of all the scenes in the instance. + +#### POST /scenes + > postScenes + +```json +[ + { + "name": "test", + "author_id": 280255476455992, + "author": "jdupont", + "id": 36943841590670, + "access": { + "any": null, + "default": "none" + }, + "ctime": "2023-10-04T12:26:10.000Z", + "mtime": "2023-10-04T12:26:11.000Z" + } +] +``` + + + +#### POST /scenes/:scene + +Create a scene. Wait for data in `multipart/form-data` format. The `scene` field must contain a file [glb](https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html#glb-file-format-specification). + + +#### PATCH /scenes/:scene + +Rename a scene by sending a `name` field in the request body. + +#### GET /scenes/:scene/history + +Recovers the complete history of a scene. + +#### POST /scenes/:scene/history + +Modifies the history of a scene. + +#### GET /scenes/:scene + +The behavior differs according to the expected format (header `Accept`). + +##### Application/json + +Scene data in JSON format. + +##### Application/zip + +All the scene sources in their latest version in zip format. + +#### GET /scenes/:scene/files + +Lists the files in the scene. + +#### GET /scenes/:scene/permissions + +Lists scene permissions. + +#### PATCH /scenes/:scene/permissions + +Modifies scene permissions. + + + diff --git a/en/doc/references/models/index.md b/en/doc/references/models/index.md index 6e98e746..acdf164f 100644 --- a/en/doc/references/models/index.md +++ b/en/doc/references/models/index.md @@ -2,53 +2,43 @@ title: 3D Models --- -# Models preparation +## 3D models: basic principles Models should be in **GLTF-binary** format (`.glb` files), though other formats might work. -Compression (using [Draco](https://google.github.io/draco/)) is supported and will generally speed up loading : faster network transfer and faster object parsing. +Compression (using [Draco](https://google.github.io/draco/){:target="_blank"}) is supported and will generally speed up loading : faster network transfer and faster object parsing. -The Blender [GLTF export](https://github.com/KhronosGroup/glTF-Blender-IO) is a good reference implementation and should generally be trusted. +The Blender [GLTF export](https://github.com/KhronosGroup/glTF-Blender-IO){:target="_blank"} is a good reference implementation and should generally be trusted. -## Export for eCorpus +### Export for eCorpus -[Blender](https://www.blender.org/) is the best solution to convert files from pretty much anything to glTF because it embeds the official plugin from the Khronos group, the consortium behind the glTF format. +[Blender](https://www.blender.org/){:target="_blank"} is the best solution to convert files from pretty much anything to glTF because it embeds the official plugin from the Khronos group, the consortium behind the glTF format. -
-
+

Export menu

The glTF plugin is installed by default with Blender. Make sure you are using a recent version of Blender, preferably 4.0 or higher.

Click on File > Export > glTF 2.0 to open the export window

You can choose to export only selected items or the whole scene.

-
-
- Screenshot of Blender's export menu -
Blender's export menu
+ Screenshot of Blender's export menu +
Blender's export menu
-

Export Options

-
-
+
- screenshot of Blender's glTF export popup -
glTF export popup
+ screenshot of Blender's glTF export popup +
glTF export popup
-
-

For advanced use cases, check out the official documentation at doc.blender.org.

-
    -
  • The Binary format (.glb) is recommended.
  • -
  • It is also possible to choose between Z up and Y up in the Transform menu for the scene's axis orientation.
  • -
  • Draco compression is supported and will generally speed up loading : faster network transfer and faster object parsing.
  • -
  • It is generally not useful to modify the compression settings.
  • -
-
+

The Binary format (.glb) is recommended.

+

It is also possible to choose between Z up and Y up in the Transform menu for the scene's axis orientation.

+

Draco compression is supported and will generally speed up loading : faster network transfer and faster object parsing.

+

It is generally not useful to modify the compression settings.

-## Size +### Size Recommended sizes (faces and map size): - **Thumb** The lowest available representation. Always loaded first, with the goal of displaying a first representation of the model as quickly as possible. We recommend using a compressed GLB file with a total size of less than 200k. @@ -57,7 +47,7 @@ Recommended sizes (faces and map size): - **High** Used on desktop devices. Maximum texture size: 4096 x 4096 pixels. Recommended mesh size: ~150k faces. - **Highest** Used for quality inspection. Texture size: 4k or 8k. Mesh size: ~500k faces. -## Import +### Import Either import as a new scene or, to update an existing scene's model : diff --git a/en/doc/tutorials/deployment.md b/en/doc/tutorials/deployment.md index 8234f13b..fd7e3bc5 100644 --- a/en/doc/tutorials/deployment.md +++ b/en/doc/tutorials/deployment.md @@ -2,15 +2,14 @@ title: Quick Installation --- -# Deploying an eCorpus instance -> This section requires some familiarity with common development tools: [git](https://git-scm.com/), [npm](https://docs.npmjs.com/). +## Quick Installation -### Quick Installation +> This section requires some familiarity with common development tools: [git](https://git-scm.com/){:target="_blank"}, [npm](https://docs.npmjs.com/){:target="_blank"}. This section provides an example of creating a minimal instance of eCorpus for testing purposes. To do so, follow these steps: -1. Clone the eCorpus repository using the following command: + + git clone --filter=blob:none --recurse-submodules git@github.com:Holusion/eCorpus + cd eCorpus + npm i + (cd source/voyager && npm i --legacy-peer-deps) + (cd source/server && npm i) + (cd source/ui && npm i) + npm run build-ui + npm run build-server + npm start + > Note: For an alternative installation method using Docker, refer to the installation documentation. -After completing the above steps, open a browser and navigate to [localhost:8000](http://localhost:8000) to access the eCorpus instance. +After completing the above steps, open a browser and navigate to [localhost:8000](http://localhost:8000){:target="_blank"} to access the eCorpus instance. ### Creating the first user account When the application is launched, it is in "open mode", which allows you to create a first user account via the command line. To create an account, follow these steps: -1. Start your local server. -2. Open another terminal and run the following command: - ``` +Start your local server. + +Open another terminal and run the following command: + curl -XPOST -H "Content-Type: application/json" -d '{"username":"<...>", "password":"<...>", "email":"<...>", "isAdministrator": true}' "http://localhost:8000/api/v1/users" - ``` - Replace `<...>` with your desired username, password, and email address. -3. Other accounts can be created via the web interface. + +Replace `<...>` with your desired username, password, and email address. +Other accounts can be created via the web interface. ### Going further -After creating your first user account, navigate to [localhost:8000](http://localhost:8000) and log in. From there, you can create your first scene by following the instructions provided in the [Voyager import tutorial](/fr/doc/tutorials/voyager/import). +After creating your first user account, navigate to [localhost:8000](http://localhost:8000){:target="_blank"} and log in. + +From there, you can create your first scene by following the instructions provided in the [Voyager import tutorial](/en/doc/tutorials/voyager/import). -If you want to edit the source code, refer to the [development guide](/fr/doc/guides/development). +If you want to edit the source code, refer to the [development guide](/en/doc/guides/developpement). -To configure your new instance, consult the [configuration documentation](/fr/doc/references/administration/configuration). +To configure your new instance, consult the [configuration documentation](/en/doc/references/administration/configuration). diff --git a/en/doc/tutorials/voyager/edit.html b/en/doc/tutorials/voyager/edit.html index 726b1175..ab419048 100644 --- a/en/doc/tutorials/voyager/edit.html +++ b/en/doc/tutorials/voyager/edit.html @@ -1,198 +1,155 @@ --- layout: doc -title: Editing Manual +title: Creating a scene step by step description: Learn how to edit a 3D scene using Voyager Story. category: tutorial --- -
-

Voyager Story

-
-
- Gros plan sur le Pied de croix de l'abbaye de Saint-Bertin. -
-

Scene Editor for Voyager

-

- Content editing is based on the Voyager Story editor developed by the Smithsonian Institute. -

-
-
- -
-

Edit the scene

-
- -
-
-
    -
  • {% include button.html name="pose" style="width:150px" icon="move" %} Position and resize the model.
  • -
  • {% include button.html name="capture" style="width:150px" icon="camera" %} Take screenshots and save the state of the scene.
  • -
  • {% include button.html name="derivatives" style="width:150px" icon="hierarchy" %} Manage derivatives (different levels of detail).
  • -
  • {% include button.html name="annotations" style="width:150px" icon="comment" %} Create and edit annotations.
  • -
  • {% include button.html name="articles" style="width:150px" icon="file" %} Create and edit articles.
  • -
  • {% include button.html name="tours" style="width:150px" icon="globe" %} Create and edit guided tours.
  • -
  • {% include button.html name="audio" style="width:150px" icon="audio" %} Add and organize audio.
  • -
  • {% include button.html name="parameters" style="width:150px" icon="eye" %} Edit scene settings.
  • -
-

Explore the scene

-
    -
  • {% include button.html class="voyager-btn-rounded" icon="globe" %} Display tours.
  • -
  • {% include button.html class="voyager-btn-rounded" icon="file" %} Display articles.
  • -
  • {% include button.html class="voyager-btn-rounded" icon="comment" %} Display annotations.
  • -
  • {% include button.html class="voyager-btn-rounded" icon="share" %} Share the scene.
  • -
  • {% include button.html class="voyager-btn-rounded" icon="expand" %} Fullscreen mode.
  • -
  • {% include button.html class="voyager-btn-rounded" icon="tools" %} Tools and settings.
  • -
-
-
- -
-

Creating a scene step by step

-
- - - -
-
-
-
- screen of eCorpus, 3D scene manager - screen of Voyager application, rename the scene - screen of Voyager application, position the model - screen of Voyager application, capture the scene - screen of Voyager application, add an annotation - screen of Voyager application, add an article - screen of Voyager application, create a guided tour - screen of Voyager application, save the scene +
+

Creating a scene step by step

+

+ Learn how to create a 3D scene using the Voyager Story editor. This tutorial assumes that you have a 3D model in .glb + format ready to send. Options and recommendations for creating a 3D file for eCorpus are available on this page. +

+ -
-

Import a model

-

+

--> +
+ +
+

Import a model

+

Import a .glb model by dragging it into the model list from your files or by clicking the "Upload a scene" button.

- screen of eCorpus, 3D scene manager -

+ screen of eCorpus, 3D scene manager +

Then click on "story ➝" to access the Voyager scene editor.

-

+

If you want to test the editor without creating a new scene in eCorpus, you can use the editor "standalone" mode.

-

+

In this case, import your model directly into the editor.

- screen of Voyager application in standalone mode + screen of Voyager application in standalone mode
- -
-

Rename the scene

-

+ +

+

Rename the scene

+

To rename your scene, go to the "Collection" tab and change the title.

- screen of Voyager application, rename the scene -

- In standalone mode, the default name is "Missing Title". + screen of Voyager application, rename the scene +

+ In standalone mode, the default name is "Missing Title".

- -
-

Position and resize the model

-

+ +

+

Position and resize the model

+

Go to the {% include button.html name="pose" icon="move" %} tab and select your model to adjust its position.

- screen of Voyager application, position the model -

- You can then recenter it in the scene and adjust its position and rotation using theTop, Left and Front view windows. -

-

- Be sure to check the unit of measurement for the scene and object. You can use the {% include button.html name="measure" icon="tape" %} tool in the {% include button.html icon="tools" class="voyager-btn-rounded" %} settings to check the size of the model : + screen of Voyager application, position the model +

+ You can then recenter it in the scene and adjust its position and rotation using theTop, Left and Front view windows. +

+

+ Be sure to check the unit of measurement for the scene and object. You can use the {% include button.html name="measure" icon="tape" %} tool in the {% include button.html icon="tools" class="voyager-btn-rounded" %} settings to check the size of the model:

- screen of Voyager application, measure the model + screen of Voyager application, measure the model
- -
-

Take screenshots and save the state of the scene

-

+ +

+

Take screenshots and save the state of the scene

+

Once the model is positioned as desired, go to the {% include button.html name="capture" icon="camera" %} tab to save its position and generate a thumbnail image.

- screen of Voyager application, capture the scene -

+ screen of Voyager application, capture the scene +

It is necessary to capture the scene to save its state (object position, thumbnail, etc.). -

+

-
-

Create and edit annotations

-

+

+

Create and edit annotations

+

In the {% include button.html name="annotations" icon="comment" %} tab, select your model then click on the {% include button.html name="create" icon="plus" %} button to create your new annotation.

- screen of Voyager application, add an annotation -

+ screen of Voyager application, add an annotation +

Then click on the element to annotate on your model.

-

- Note that the annotation will be in English by default. Don't forget to change the language in the language settings to the language of your application. -

- screen de l'application Voyager, changer la langue de l'annotation +

+ Note that the annotation will be in English by default. Don't forget to change the language in the language settings to the language of your application : +

+ screen in Voyager application, change annotation language
-
-

Create and edit articles

-

+

+

Create and edit articles

+

In the {% include button.html name="articles" icon="file" %} tab, select your model and click the {% include button.html name="create" icon="plus" %} button to create your new article.

- screen of Voyager application, add an article -

+ screen of Voyager application, add an article +

As with annotations, make sure the selected language is that of your application.

-

+

You can then define a title, excerpt, and use the editor to write your article.

-

+

You can edit your article at any time by clicking on its name in the list. -

+

- -
-

Create and edit guided tours

-

+ +

+

Create and edit guided tours

+

In the {% include button.html name="tours" icon="globe" %} tab, click the {% include button.html icon="plus" %} button to create a new guided tour.

- screen of Voyager application, create a guided tour -

+ screen of Voyager application, create a guided tour +

In the tour editor, you can then create each step of your tour. Make sure the selected language is that of your application.

-

+

Add a title, then adjust the position of your model, zoom in on key elements, display or hide an article... then click {% include button.html name="update" icon="camera" %} to save it and move on to the next step.

-

Tour editor complete guide

+
- -
-

Save your work

-

- All that's left is to save your work using the {% include button.html name="Save" icon="save" %} button. -

-

+ +

+

Save your work

+

You can also save your scene locally by downloading it with the {% include button.html name="Download" icon="download" %} button.

- screen of Voyager application, save the scene
-
\ No newline at end of file +
diff --git a/en/doc/tutorials/voyager/highlight.md b/en/doc/tutorials/voyager/highlight.md new file mode 100644 index 00000000..8bc15d80 --- /dev/null +++ b/en/doc/tutorials/voyager/highlight.md @@ -0,0 +1,71 @@ +--- +title: Highlighting a zone +--- + +## Highlighting a zone + +Highlighting an area of interest is an experimental feature provided by DPO-Voyager. + +> Caution: This feature is experimental and may not work properly in certain situations. In addition, it requires manual steps via the command line. + +### Prerequisites + +- A 3D scene with a model, correctly configured on your eCorpus instance. + - A texture corresponding to the *UV mapping* of your model, in PNG format (alpha channel required). + +For the example, we'll use this very simple model of [cube](/assets/fixtures/cube.glb) and this [texture](/assets/fixtures/highlight.png){:target="_blank"}. + +We'll use `cube` as the scene name and `ecorpus.holusion.com` as the instance name throughout this tutorial. Replace it with the name of your scene. + +### Steps + +In your terminal, type the following command: +```bash +curl -XGET -L -o scene.svx.json https://ecorpus.holusion.com/scenes/cube/scene.svx.json +``` + +Edit the resulting file to add the following properties to the `models[0]` section: + +``` +"overlayMap": 1, +[...] +"derivatives":[ + { + "usage": "Web3D", + "quality": "Highest", + "assets": [ + { + "uri": "models/cube.glb", + "type": "Model", + "byteSize": 24532, + "numFaces": 12, + "imageSize": 8192 + }, + { + "uri": "images/highlight.png", + "type": "Image", + "mapType": "Zone" + } + ] + } +] +``` +Send the modified scene with : + +```bash +curl -L -XPUT -u ":" -H "Content-Type: application/json" --data-binary @scene.svx.json http://ecorpus.holusion.com/scenes/cube/scene.svx.json +``` + +Remember to also send the `highlight.png` texture in the `images` folder of your scene: + +```bash +curl -L -XMKCOL -u ":" http://ecorpus.holusion.com/scenes/cube/images +curl -L -XPUT -u ":" -H "Content-Type: image/png" --data-binary @highlight.png http://ecorpus.holusion.com/scenes/cube/images/highlight.png +``` + + +### Use in a guided tour + +Once again, edit the `scene.svx.json` file by hand. + +Activate the **models** property tracking in tour editor. Next, edit the model's **overlayMap** property to give it the value **0** or **1**, depending on the steps. \ No newline at end of file diff --git a/en/doc/tutorials/voyager/import.html b/en/doc/tutorials/voyager/import.html new file mode 100644 index 00000000..61f8366d --- /dev/null +++ b/en/doc/tutorials/voyager/import.html @@ -0,0 +1,15 @@ +--- +layout: doc +title: Scan and import a model +description: Learn how to scan a model with Scaniverse and import it into eCorpus +--- + +
+

Scan and import a model

+ + Presentation of the foot of the cross at Saint-Bertin Abbey through a guided tour in the Voyager application. +

+ Learn how to scan a model with Scaniverse and then import it into eCorpus. +

+
\ No newline at end of file diff --git a/en/doc/tutorials/voyager/setup.md b/en/doc/tutorials/voyager/setup.md index 074b9208..bd644c4e 100644 --- a/en/doc/tutorials/voyager/setup.md +++ b/en/doc/tutorials/voyager/setup.md @@ -4,15 +4,11 @@ description: Learn to setup a scene in dpo-voyager --- -## Introduction +## Scene setup manual This tutorial will go through the main setup options of a scene in DPO-Voyager. -Everything will happen under the {% include button.html name="parameters" style="width:150px" icon="eye" %} tab, with the scene node in voyager's hierarchy node selected. - - - -## Settings +Everything will happen under the {% include button.html name="parameters" style="width:150px" icon="eye" %} tab, with the scene node in voyager's hierarchy node selected. ### Navigation diff --git a/en/doc/tutorials/voyager/tour.html b/en/doc/tutorials/voyager/tour.html index 6bba0393..2fe98ad6 100644 --- a/en/doc/tutorials/voyager/tour.html +++ b/en/doc/tutorials/voyager/tour.html @@ -1,128 +1,120 @@ --- layout: doc -title: Tour editor manuel +title: Create a guided tour description: Learn to create tours using Voyager Story. category: tutorial --- -
-

Voyager Story

-
+

Create a guided tour

+

+ Learn to create tours using Voyager Story, developed by the Smithsonian Institute. +

-
- Présentation du pied de croix de l'abbaye de Saint-Bertin au travers d'une visite guidée dans l'application Voyager. -
-

Scene Editor for Voyager

+ +
+

Creating a tour

- Learn to create tours using Voyager Story, developed by the Smithsonian Institute. -

-
-
- -
-

Create a guided tour

-
- -
-
-
-
- screen de l'application Voyager, créer une visite guidée - screen de l'application Voyager, options de visite guidée - screen de l'application Voyager, visite guidée - screen de l'application Voyager, visite guidée - screen de l'application Voyager, visite guidée - screen de l'application Voyager, visite guidée - screen de l'application Voyager, visite guidée -
-
-
-
- -
-

Creating a tour

-

- In the {% include button.html name="Tours" icon="globe" %} tab, click on the button {% include button.html icon="plus" %} to create a new guided tour. -

- screen de l'application Voyager, créer une visite guidée -

- You can then give it a title and a summary, which will be displayed when selecting a tour in the main menu. -

-
-

- Be sure to set the language of your application for the tour correctly. -

- zoom sur les options de langue des visites guidées -

- -

-
+ In the {% include button.html name="Tours" icon="globe" %} tab, click on the button {% include button.html icon="plus" %} to create a new guided tour. +

+
+ screen de l'application Voyager, créer une visite guidée
- -
-

Tour options

-

- You can choose which settings can be changed from one slide to another in your tours. -

- screen de l'application Voyager, créer une visite guidée +

+ You can then give it a title and a summary, which will be displayed when selecting a tour in the main menu. +

+

- To do this, go to the options and check the desired ones. + Be sure to set the language of your application for the tour correctly.

- zoom sur les options de visite guidées +
+
+ zoom sur les options de langue des visites guidées
- -
-

Add a new step

-

- In the Tour Editor, click on {% include button.html name="Create" icon="plus" %} to create a new step for your guided tour, then give it a title. -

- screen de l'application Voyager, créer une visite guidée +

+ +

+
+ +

Tour options

+

+ You can choose which settings can be changed from one slide to another in your tours. +

+
+ screen de l'application Voyager, créer une visite guidée +
+

+ To do this, go to the options and check the desired ones. +

+
+ zoom sur les options de visite guidées +
+ +
+

Add a new step

+

+ In the Tour Editor, click on {% include button.html name="Create" icon="plus" %} to create a new step for your guided tour, then give it a title. +

+
+ screen de l'application Voyager, créer une visite guidée
- -
-

Anime the step

-

- Depending on the options defined previously, you can directly animate the camera in the scene, as well as display articles and annotations. -

- screen de l'application Voyager, créer une visite guidée -

- When you are satisfied with the display, click on the {% include button.html name="Update" icon="camera" %} button to save your step. -

+
+ +
+

Anime the step

+

+ Depending on the options defined previously, you can directly animate the camera in the scene, as well as display articles and annotations. +

+
+ screen de l'application Voyager, créer une visite guidée
- -
-

Anime settings

-

- Depending on the chosen options, you can also animate certain settings. To do this, while keeping the Tour Editor open for the desired tour, go to the {% include button.html name="Settings" icon="eye" %} tab. -

- screen de l'application Voyager, créer une visite guidée +

+ When you are satisfied with the display, click on the {% include button.html name="Update" icon="camera" %} button to save your step. +

+
+ +
+

Anime settings

+

+ Depending on the chosen options, you can also animate certain settings. To do this, while keeping the Tour Editor open for the desired tour, go to the {% include button.html name="Settings" icon="eye" %} tab. +

+
+ screen de l'application Voyager, créer une visite guidée
- -
-

- Navigate through your scene and modify all the desired settings. This includes the model(s), lights, scene, camera, etc. +

+ +
+

+ Navigate through your scene and modify all the desired settings. This includes the model(s), lights, scene, camera, etc. Don't forget to click on {% include button.html name="Update" icon="camera" %} to save the step once you have finished configuring it. -

-
- -
-

Organize steps

- screen de l'application Voyager, créer une visite guidée -

- Once your steps are created, you can rearrange them in the Tour Editor by changing their order using the {% include button.html name="Up" %} and {% include button.html name="Down"%} buttons. -

-

- You can also define the duration and animation curve for the transition between two steps. -

-
+

-
- -
-
+ +
+

Organize steps

+
+ screen de l'application Voyager, créer une visite guidée +
+

+ Once your steps are created, you can rearrange them in the Tour Editor by changing their order using the {% include button.html name="Up" %} and {% include button.html name="Down"%} buttons. +

+

+ You can also define the duration and animation curve for the transition between two steps. +

Now you have all the tools to create and modify guided tours.

-

Return to the Scene Editor Guide.

-
+ + + \ No newline at end of file diff --git a/en/index.html b/en/index.html index 168bedfc..c1c0129b 100644 --- a/en/index.html +++ b/en/index.html @@ -70,64 +70,61 @@

Digitizing objects

-

Caractéristiques d'eCorpus

+

eCorpus features

{% include voyager.html embed="croix-reliquaire" class="h-100 larg100" %}
-

Complet

+

Complete

- eCorpus vous permet de lier directement des données à chaque objet 3D par le biais d’annotations - enrichies : titre, abstract et article pouvant comporter des contenus multimédias (vidéos, images, liens…). + eCorpus allows you to link data directly to each 3D object through enriched annotations annotations: title, + abstract and article that can include multimedia content (videos, images, links, etc.).

- Vous pouvez ensuite orchestrer ces données, attenantes à vos objets 3D, pour créer des scénettes animées - (appelées "Tours"), idéales pour valoriser vos objets 3D dans un cadre de médiation muséale ou - pédagogique. Il facilite également la recherche collaborative grâce à des outils d'analyse et - d'export. + You can then orchestrate this data, alongside your 3D objects, to create animated scenes (called "Towers"), ideal for + showcasing your 3D objects in a museum or educational setting. pédagogique. It also facilitates collaborative research + thanks to analysis and d'export.

-

Consultable par navigateur

+

Viewable via browser

- Le logiciel eCorpus est entièrement accessible depuis un simple navigateur web. Vous pouvez donc - aisément vous connecter sur n'importe quelle machine et montrer ou même partager votre catalogue d'objets 3D - en créant un nouveau compte pour un tiers. + eCorpus software is fully accessible via a simple web browser. So you can easily connect to any machine and show or even + share your catalog of 3D objects by creating a new account for a third party.

-

Ouvert mais sécurisé

+

Open but secure

- L’architecture de l’application fonctionne grâce au déploiement d’instances indépendantes, les bases de - données étant compatibles entre elles, mais entièrement séparées. - La majeure partie des cas d’usages concernent des entités qui possèdent déjà une solution de gestion de - contenu, tel que Omeka S. Les données de eCorpus sont intégrables au sein de celle-ci et recherchables. + The application architecture works by deploying independent instances, with the databases compatible with each other, + but entirely separate. + The majority of use cases concern entities that already have a content management solution, such as Omeka S. eCorpus + data can be integrated and searched within these solutions.

Open source

- Les résultats du développement sont diffusés dans un format Open Source, pour que l’utilisateur soit - pleinement propriétaire de ses données et de son environnement. De plus, le dynamisme d’un projet Open - Source est capital dans la réussite d’un projet et sa diffusion. La présence de sa documentation sur une - plateforme comme GitHub et l’activité régulière du - développement avec une équipe clairement identifiée. + The results of development are distributed in Open Source format, so that users have full ownership of their data and + environment. What's more, the dynamism of an Open Source project is crucial to its success and distribution. The + presence of its documentation on a platform like GitHub and regular + development activity with a clearly identified team.

Structure

- Chaque entrée dans la base a une structure de données organisées dans un fichier JSON de - référence, avec des fichiers liés (objet 3D, textures, articles, images, vidéos, etc…) + Each entry in the database has a data structure organized in a reference JSON + fichier, with related fichiers (3D objects, textures, articles, images, videos, etc.).

- Cette organisation permet une grande flexibilité : les données exportées peuvent être utilisées telles - qu’elles indépendamment du serveur sur lequel elles sont stockées. + This organization provides a high degree of flexibility: exported data can be used as they are independently of + the server on which they are stored.

- Le fichier descriptif des scènes permet la gestion des modèles à multiples niveaux de détails (LOD) - ainsi que la traduction des différentes métadonnées. + The scene description fichier enables the management of models with multiple levels of detail (LOD), as well as + the translation of different metadata. as well as the translation of various metadata.

- Chaque entrée dans la base peut donc être composée d’un assemblage de sous-éléments et chacun de ceux-ci - peut comporter des modèles en multi-résolution offrant un chargement optimisé de la géométrie par le - client en - limitant le chargement de données complexes en fonction de ses besoins. + Each entry in the database can therefore be made up of an assembly of sub-elements, and each of these can include + multi-resolution models, offering optimized geometry loading by the customer, limiting the loading of complex data + according to his needs.

@@ -137,49 +134,40 @@

Structure

-

Les modèles alternatifs

+

Alternative models

- Ils peuvent être issus de captations autres que photographique par exemple : en lumière non - visible ou en radioscopie et proposent donc des visualisations différentes du modèle. + They can be derived from non-photographic recordings, such as non-visible light or fluoroscopy, and therefore + offer different visualizations of the model.

- Ces modèles 3D permettent également de stocker des données liées à leur animation. - Cette étape de stockage des informations de mouvement est importante pour les simulations de mécanisme comme - des horloges, ou des démonstrations de montage/démontage complexes. + These 3D models can also be used to store data relating to their animation. + This step of storing movement information is important for mechanism simulations such as clocks, or complex assembly/disassembly demonstrations.

-

Médiation et diffusion des contenus

+

Content mediation and distribution

{% include voyager.html embed="encensoir" class="h-100" %}

- eCorpus permet une diffusion des objets 3D et des métadonnées dans deux configurations différentes. + eCorpus lets you distribute 3D objects and metadata in two different configurations.

  • - D’une part, l'intégration du visualisateur Voyager dans une page web ou une application permet - d’aller directement requérir la dernière version de l'objet 3D auprès du serveur en fonction de ses - droits de - diffusion. C’est la méthode la plus simple pour la présentation des résultats sur des sites - institutionnels, par email ou - via des applications mobiles. Les derniers développements en termes de Réalité Augmentée - permettent de diffuser - l’objet directement sous ce format à travers les AR Kit d’Apple 8 ou d'Androïd sans avoir besoin de - passer par - l’installation d’une application tierce. + On the one hand, by integrating the Voyager viewer into a web page or application, you can directly request the latest + version of the 3D object from the server, according to its distribution rights. This is the easiest way to present + results on institutional sites, by email or via mobile applications. The latest developments in Augmented Reality mean + that objects can be displayed directly in this format using the AR Kit on Apple 8 or Android, without the need to + install a third-party application.
  • - D'autre part, lorsqu'une connexion à internet n’est pas possible (installations hors-les-murs par - exemple), - eCorpus permet de créer des applications fonctionnant avec une base de données locale, exportée - au - préalable depuis la plateforme en ligne. Cela permet d’avoir un travail asynchrone et d'ajouter des - données sans - connexion internet. Il faut par la suite resynchroniser les données en les exportant. + On the other hand, when an Internet connection is not possible (off-site installations, for example), eCorpus lets you + create applications running on a local database, exported in advance from the online platform. This allows you to work + asynchronously and add data without an Internet connection. Data must then be resynchronized by export. +
@@ -193,212 +181,19 @@

Médiation et diffusion des contenus

- Parmi les différents formats d’export pour la médiation, eCorpus supporte la visualisation sur table - tactile, tablettes mobiles, hologrammes et dispositifs de réalité virtuelle et réalité augmentée. - Le démonstrateur eThesaurus, fabriqué - par Holusion, permet la visualisation d’un export d’une base de données eCorpus. - L’affichage est séparé sur deux écrans : + Among the various export formats for mediation, eCorpus supports visualization on touch-screen tables, mobile tablets, + holograms and virtual and augmented reality devices. + The eThesaurus demonstrator, manufactured by Holusion, visualizes an export of an eCorpus database. The display is split + over two screens:

  • - L’écran transparent est dédié à la visualisation des objets 3D, des animations et des annotations - concises. + The transparent screen is dedicated to viewing 3D objects, animations and concise annotations.
  • - La navigation est assurée par un écran secondaire, placé devant le dispositif. Le contrôle - tactile a été retenu pour - sa prévalence auprès des publics, habitués à la manipulation de smartphones et de tablettes au - quotidien. Sur celui-ci, - l’usager consulte également les informations textuelles et les médias photos et vidéos complémentaires - inclus dans les articles. + Navigation is provided by a secondary screen in front of the device. Touch control was chosen for its prevalence with + audiences accustomed to handling smartphones and tablets on a daily basis. On this screen, users can also consult + textual information and complementary photo and video media included in the articles.

- - - - - - diff --git a/fr/about.html b/fr/about.html index 3a4eda5e..18619848 100644 --- a/fr/about.html +++ b/fr/about.html @@ -23,7 +23,9 @@

L’orfèvrerie médiévale à l’épreuve de la mod numériques au travers de différents mediums.

- collection initiale d'objets de la campagne de numérisation eThesaurus + Collection initiale d'objets de la campagne de numérisation eThesaurus + +

@@ -132,13 +134,13 @@

Mars 2023

logo de l'université de Liège (Belgique)
- logo de l'entreprise holusion + logo de l'entreprise Holusion
-
-

Déploiement

-

- Une petite instance eCorpus peut tourner sur à peu près n'importe - quel appareil. -

+

Déploiement

+

+ Une petite instance eCorpus peut tourner sur à peu près n'importe + quel appareil. +

- -
+
-
-

Fonctionnalités

-

- eCorpus propose un ensemble de fonctions administratives permettant de gérer les utilisateurs, les - collections, les scènes 3D et les annotations. - C'est un serveur complet et prêt à l'emploi qui peut être déployé en quelques - minutes. -

-

- Par ailleurs, des fonctionnalités avancées de l'éditeur Voyager sont développées et intégrées en amont de - leur déploiement par les équipes du Smithsonian. -

-
+

Fonctionnalités

+

+ eCorpus propose un ensemble de fonctions administratives permettant de gérer les utilisateurs, les + collections, les scènes 3D et les annotations. + C'est un serveur complet et prêt à l'emploi qui peut être déployé en quelques + minutes. +

+

+ Par ailleurs, des fonctionnalités avancées de l'éditeur Voyager sont développées et intégrées en amont de + leur déploiement par les équipes du Smithsonian. +

\ No newline at end of file diff --git a/fr/doc/references/administration/configuration.md b/fr/doc/references/administration/configuration.md index 53c8d504..8935efa3 100644 --- a/fr/doc/references/administration/configuration.md +++ b/fr/doc/references/administration/configuration.md @@ -2,7 +2,7 @@ title: Configurer une instance --- -## Options et paramètres +## Configurer une instance Toutes les options de configuration sont fournies par variables d'environnement. @@ -21,7 +21,7 @@ Pour les variables booléennes, utiliser `1` ou `true` / `0` ou `false`. Pilote la valeur par défaut d'autres variables de configuration. -Change le comportement de certains modules. Voir aussi [express](https://expressjs.com/en/advanced/best-practice-performance.html#set-node_env-to-production). +Change le comportement de certains modules. Voir aussi [express](https://expressjs.com/en/advanced/best-practice-performance.html#set-node_env-to-production){:target="_blank"}. Devrait généralement être forcé à `production` dans les déploiements. @@ -53,9 +53,9 @@ Port utilisé par le service. Changer en cas de conflit. > `smtp://localhost` -[Smart Host](https://en.wikipedia.org/wiki/Smart_host) à utiliser pour l'envoi d'emails. +[Smart Host](https://en.wikipedia.org/wiki/Smart_host){:target="_blank"} à utiliser pour l'envoi d'emails. -Utilisé pour créer le transport par [modemailer](https://nodemailer.com/). +Utilisé pour créer le transport par [nodemailer](https://nodemailer.com/){:target="_blank"}. Les options de configuration peuvent être données sous forme de *query string* : @@ -63,14 +63,14 @@ Les options de configuration peuvent être données sous forme de *query string* # autorise l'utilisation de certificats self-signed : smtp://localhost:465?tls.rejectUnauthorized=false ``` -D'autres options utiles peuvent être : `?logger=true&debug=true` pour activer le mode verbeux. Voir la [liste des options](https://nodemailer.com/smtp/). +D'autres options utiles peuvent être : `?logger=true&debug=true` pour activer le mode verbeux. Voir la [liste des options](https://nodemailer.com/smtp/){:target="_blank"}. #### TRUST_PROXY > `true` -Pilote l'option trust-proxy dans [express](http://expressjs.com/en/5x/api.html#trust.proxy.options.table). +Pilote l'option trust-proxy dans [express](http://expressjs.com/en/5x/api.html#trust.proxy.options.table){:target="_blank"}. ### Variables d'administration @@ -79,7 +79,7 @@ Pilote l'option trust-proxy dans [express](http://expressjs.com/en/5x/api.html#t > `false` -Force l'application de la dernière migration *sqlite* (voir [doc](https://www.npmjs.com/package/sqlite#migrations)). +Force l'application de la dernière migration *sqlite* (voir [doc](https://www.npmjs.com/package/sqlite#migrations){:target="_blank"}). Parfois utile pour réparer des erreurs de migration, mais génère un risque de perte de données. @@ -127,7 +127,7 @@ Assets statiques > `$NODE_ENV == "development"` -Active le [HMR](https://webpack.js.org/concepts/hot-module-replacement/) de webpack. +Active le [HMR](https://webpack.js.org/concepts/hot-module-replacement/){:target="_blank"} de webpack. #### VERBOSE diff --git a/fr/doc/references/administration/index.md b/fr/doc/references/administration/index.md index e687d09a..5b8a026f 100644 --- a/fr/doc/references/administration/index.md +++ b/fr/doc/references/administration/index.md @@ -1,9 +1,9 @@ --- -title: Administration +title: Administration d'une instance description: Prenez en main les outils d'administration --- -## Administration d'une instance eCorpus +## Administration d'une instance ### L'interface d'administration @@ -19,16 +19,14 @@ L'outil de gestion des utilisateurs permet de créer, modifier et supprimer des

Retrouvez-le dans l'onglet - - - Utilisateurs - de votre interface d'administration. + + Utilisateurs de votre interface d'administration.

Cette page permet principalement d'ajouter de nouveaux utilisateurs, grâce au bouton présent en haut de page. Il est aussi possible d'y générer des liens de connexion rapide pour les utilisateurs existants -grâce à l'icone présente à droite de chaque utilisateur. +grâce à l'icône présente à droite de chaque utilisateur. #### Export de données @@ -39,11 +37,8 @@ L'interface d'administration permet d'exporter l'ensemble des données de l'inst

Dans l'onglet - - - Home - - de l'interface d'administration : + + Home de l'interface d'administration :

Cliquer sur `Télécharger toutes les scènes`. diff --git a/fr/doc/references/administration/requirements.md b/fr/doc/references/administration/requirements.md index 3c4c6d31..8d914889 100644 --- a/fr/doc/references/administration/requirements.md +++ b/fr/doc/references/administration/requirements.md @@ -8,7 +8,7 @@ title: Exigences matérielles Une petite instance d'eCorpus peut fonctionner sur à peu près n'importe quel appareil. -Toutes les opérations de stockage et de base de données se déroulent sur disque (voir [sqlite](https://www.sqlite.org/about.html)) ; un support de stockage local rapide, fiable et durable est donc **nécessaire**. +Toutes les opérations de stockage et de base de données se déroulent sur disque (voir [sqlite](https://www.sqlite.org/about.html){:target="_blank"}) ; un support de stockage local rapide, fiable et durable est donc **nécessaire**. #### Exigences matérielles @@ -24,12 +24,12 @@ Il a été vérifié qu'il fonctionnait sur des systèmes aussi petits que 1 Go #### Exigences logicielles - - [Nodejs](https://nodejs.org/) v16 (LTS) ou supérieure. - - Le système sous-jacent doit supporter [shared memory](https://en.wikipedia.org/wiki/Shared_memory) (pour le [WAL Log](https://sqlite.org/wal.html) de sqlite) - n'importe quel système d'exploitation moderne devrait convenir. + - [Nodejs](https://nodejs.org/){:target="_blank"} v16 (LTS) ou supérieure. + - Le système sous-jacent doit supporter [shared memory](https://en.wikipedia.org/wiki/Shared_memory){:target="_blank"} (pour le [WAL Log](https://sqlite.org/wal.html){:target="_blank"} de sqlite) - n'importe quel système d'exploitation moderne devrait convenir. une chaîne d'outils pour compiler les addons nodejs natifs peut être nécessaire si [node-sqlite3](https://github.com/TryGhost/node-sqlite3/releases) ne fournit pas de module préconstruit fonctionnel pour votre plateforme. -Vous pouvez également utiliser [Docker] (https://www.docker.com/). +Vous pouvez également utiliser [Docker](https://www.docker.com/){:target="_blank"}. ### Optimisation de la production @@ -43,4 +43,4 @@ L'en-tête `Cache-Control` est très restrictif par défaut pour permettre un co eCorpus sur sqlite est tout à fait capable de gérer quelques milliers d'objets avec un certain niveau de concurrence, pour un site web public de taille moyenne. -Pour tout ce qui est beaucoup plus important, il est recommandé de passer à un autre moteur de base de données ou d'utiliser un système conçu pour l'échelle comme [dpo-pakrat] (https://github.com/Smithsonian/dpo-packrat). +Pour tout ce qui est beaucoup plus important, il est recommandé de passer à un autre moteur de base de données ou d'utiliser un système conçu pour l'échelle comme [dpo-pakrat](https://github.com/Smithsonian/dpo-packrat){:target="_blank"}. diff --git a/fr/doc/references/models/index.md b/fr/doc/references/models/index.md index c9f39c0c..faeef9ab 100644 --- a/fr/doc/references/models/index.md +++ b/fr/doc/references/models/index.md @@ -13,35 +13,27 @@ Des modèles au format [USD](https://openusd.org/release/intro.html){:target="_b [Blender](https://www.blender.org/){:target="_blank"} est le logiciel idéal pour convertir des fichiers de la plupart des formats 3D (**OBJ**, ***FBX**, etc...) vers glTF car il dispose d'un plugin officiel maintenu par le consortium Khronos, responsable du format glTF.
-

Menu d'export

Le plugin glTF est installé par défaut avec blender. Assurez-vous d'utiliser une version récente de Blender, de préférence 4.0 ou supérieure.

Cliquez sur File > Export > glTF 2.0 pour ouvrir la fenêtre d'export

Vous pouvez choisir de n'exporter que la sélection courante ou toute la scène.

-
-
capture d'écran du menu d'import-export de blender
Le menu d'export de Blender
-

Options d'export

-
capture d'écran des options d'export au format glTF dans blender
Les options d'export
-
-

Retrouvez la documentation complète du plugin sur doc.blender.org.

Le format Binary (.glb) est à privilégier.

Il est aussi possible de choisir entre Z up et Y up dans le menu Transform pour l'orientation des axes de la scène.

Pensez à activer la compression, qui permet de réduire la taille du fichier de sortie: cela accélèrera les temps de chargement : Sur certains modèles, la taille compressée peut être jusqu'à deux fois plus petite que la taille originale.

Il n'est généralement pas utile de modifier les paramètres de compression.

-
## Aller plus loin diff --git a/fr/doc/tutorials/deployment.md b/fr/doc/tutorials/deployment.md index 2254a146..32686103 100644 --- a/fr/doc/tutorials/deployment.md +++ b/fr/doc/tutorials/deployment.md @@ -31,6 +31,7 @@ Après avoir démarré votre serveur local, ouvrez un autre terminal et exécute curl -XPOST -H "Content-Type: application/json" -d '{"username":"<...>", "password":"<...>", "email":"<...>", "isAdministrator": true}' "http://localhost:8000/api/v1/users" +Remplacez <...> par votre nom d'utilisateur, votre mot de passe et votre adresse électronique. Par la suite, d'autres comptes pourront être créés via l'interface web. ### Aller plus loin diff --git a/fr/doc/tutorials/voyager/edit.html b/fr/doc/tutorials/voyager/edit.html index 5491b81e..ad75ad67 100644 --- a/fr/doc/tutorials/voyager/edit.html +++ b/fr/doc/tutorials/voyager/edit.html @@ -42,7 +42,7 @@

Importer un modèle

Importez un modèle en .glb en le glissant dans la liste de modèles à partir de vos fichiers, ou en cliquand sur le bouton "Créer une scène".

- screen of eCorpus, 3D scene manager + screen de eCorpus, Système de gestion de scènes 3D, avec surbrillance du bouton d'import

Cliquez ensuite sur "story ➝" pour acceder à l'éditeur de scène Voyager.

@@ -62,7 +62,7 @@

Renommer la scène

Pour renommer votre scène, allez dans l'onglet "Collection" et changez le titre.

- screen of Voyager application, rename the scene + screen de l'application Voyager, renommer la scène

En mode standalone, le nom par défault est "Missing Title".

@@ -74,7 +74,7 @@

Positionner et redimensionner le modèle

Allez dans l'onglet {% include button.html name="pose" icon="move" %} et sélectionnez votre modèle pour ajuster sa position.

- screen of Voyager application, position the model + screen de l'application Voyager, positionner le modèle

Vous pouvez alors le recenter dans la scène, puis ajuster sa position et sa rotation à l'aide des fenêtres de vue Top, Left et Front. @@ -93,19 +93,19 @@

Prendre des captures d'écran et enregistrer l'état Une fois le modèle positionné comme voulu, allez dans l'onglet {% include button.html name="capture" icon="camera" %} pour enregistrer son positionnement et générer une image de miniature.

- screen of Voyager application, capture the scene + screen de l'application Voyager, capturer la scène

- Il est necessaire de capturer la scène pour enregistrer son état (position de l'objet, miniature...). + Il est nécessaire de capturer la scène pour enregistrer son état (position de l'objet, miniature...).

Créer et modifier des annotations

- Dans l'onglet {% include button.html name="annotations" icon="comment" %}, selectionnez votre modèle puis + Dans l'onglet {% include button.html name="annotations" icon="comment" %}, sélectionnez votre modèle puis cliquer sur le bouton {% include button.html name="create" icon="plus" %} pour créer votre nouvelle annotation.

- screen of Voyager application, add an annotation + screen de l'application Voyager, ajouter une annotation

Cliquez ensuite sur l'élément à annoter sur votre modèle.

@@ -120,10 +120,10 @@

Créer et modifier des annotations

Créer et éditer des articles

- Dans l'onglet {% include button.html name="articles" icon="file" %}, selectionnez votre modèle puis cliquez sur + Dans l'onglet {% include button.html name="articles" icon="file" %}, sélectionnez votre modèle puis cliquez sur le bouton {% include button.html name="create" icon="plus" %} pour créer votre nouvel article.

- screen of Voyager application, add an article + screen de l'application Voyager, ajouter un article

Comme pour les annotations, vérifiez que la langue sélectionnée soit bien celle de votre application.

@@ -141,7 +141,7 @@

Créer et modifier des visites guidées

Dans l'onglet {% include button.html name="visites" icon="globe" %}, cliquez sur le bouton {% include button.html icon="plus" %} pour créer une nouvelle visite guidée.

- screen of Voyager application, create a guided tour + screen de l'application Voyager, créer une visite guidée

Dans l'éditeur de tour, vous pouvez alors créer chaque étape de votre visite. Vérifiez bien que la langue sélectionnée soit bien celle de votre application. @@ -151,7 +151,11 @@

Créer et modifier des visites guidées

article... puis cliquez sur {% include button.html name="update" icon="camera" %} afin de l'enregistrer et passer à l'étape suivante.

- Guide complet pour créer une visite guidée +
diff --git a/fr/doc/tutorials/voyager/highlight.md b/fr/doc/tutorials/voyager/highlight.md index 561fbec4..d105b19a 100644 --- a/fr/doc/tutorials/voyager/highlight.md +++ b/fr/doc/tutorials/voyager/highlight.md @@ -50,7 +50,7 @@ Editez le fichier obtenu, pour ajouter dans la section `models[0]` les propriét } ] ``` -Envoyez la scène modifée avec : +Envoyez la scène modifiée avec : ```bash curl -L -XPUT -u ":" -H "Content-Type: application/json" --data-binary @scene.svx.json http://ecorpus.holusion.com/scenes/cube/scene.svx.json diff --git a/fr/doc/tutorials/voyager/setup.md b/fr/doc/tutorials/voyager/setup.md new file mode 100644 index 00000000..76a57037 --- /dev/null +++ b/fr/doc/tutorials/voyager/setup.md @@ -0,0 +1,37 @@ +--- +title: Configuration de la scène +description: Apprendre à configurer une scène dans dpo-voyager +--- + + +## Configuration de la scène + +Ce tutoriel passe en revue les principales options de configuration d'une scène dans DPO-Voyager. + +Tout se passera sous l'onglet {% include button.html name="parameters" style="width:150px" icon="eye" %}, avec le scene node in voyager's hierarchynœud sélectionné. + +### Navigation + +#### Rotation des lumières + +Par défaut, les lumières suivent la rotation de la caméra, donnant l'impression d'un objet central qui tourne sur lui-même. Désactiver `LightFollowCam` sous **Orbit Navigation** > **Navigation** rend les lumières fixes. + +#### Zoom Lock + +Limitez la distance à laquelle la caméra peut zoomer à l'aide des options **OrbitNavigation** > **Limits**. + +Le réglage de `OrbitNavigation.Limits.Min.Offset.Z` empêchera la caméra de zoomer trop près. +Le réglage de `OrbitNavigation.Limits.Max.Offset.Z` empêchera la caméra de zoomer trop loin. + +Changer `OrbitNavigation.Limits..Orbit.X` peut aussi aider pour les objets qui ont une mauvaise texture sous la caméra.r. + +#### Contexte + +Certaines intégrations seront plus esthétiques avec un arrière-plan assorti. + +Définissez l'option **Arrière-plan** pour le modifier. + + +#### L'interface + +La plupart des éléments d'interface peuvent être supprimés. Consultez **Reader** > **Enabled** ou **Viewer** > **Annotations** > **Visible** par exemple. \ No newline at end of file diff --git a/fr/doc/tutorials/voyager/tour.html b/fr/doc/tutorials/voyager/tour.html index a5d7d1dd..b583bd58 100644 --- a/fr/doc/tutorials/voyager/tour.html +++ b/fr/doc/tutorials/voyager/tour.html @@ -3,14 +3,11 @@ title: Créer une visite guidée description: apprenez à créer des visites guidées en utilisant Voyager Story --- - -

Créer une visite guidée

+

Créer une visite guidée

-

Apprenez à créer des visites guidées en utilisant l'éditeur Créer une visite guidée développé par le Smithsonian Institute.

-
\ No newline at end of file diff --git a/fr/index.html b/fr/index.html index 1a679250..bef7adf2 100644 --- a/fr/index.html +++ b/fr/index.html @@ -109,7 +109,7 @@

Open source

Les résultats du développement sont diffusés dans un format Open Source, pour que l’utilisateur soit pleinement propriétaire de ses données et de son environnement. De plus, le dynamisme d’un projet Open Source est capital dans la réussite d’un projet et sa diffusion. La présence de sa documentation sur une - plateforme comme
GitHub et l’activité régulière du + plateforme comme GitHub et l’activité régulière du développement avec une équipe clairement identifiée.

Structure

@@ -123,7 +123,7 @@

Structure

qu’elles indépendamment du serveur sur lequel elles sont stockées.

- Le fichier descriptif des scènes permet la gestion des modèles à multiples niveaux de détails (LOD) + Le fichier descriptif des scènes permet la gestion des modèles à multiples niveaux de détails (LOD) ainsi que la traduction des différentes métadonnées.