Newer
Older
<li class="md-nav__item">
<a href="pilote/Pilote%20-%20Usager/application/doctypes/" class="md-nav__link">
Doctypes
</a>
</li>
<li class="md-nav__item">
<a href="pilote/Pilote%20-%20Usager/application/gitflow/" class="md-nav__link">
Gitflow
</a>
</li>
<li class="md-nav__item">
<a href="pilote/Pilote%20-%20Usager/application/scaffolding/" class="md-nav__link">
Scaffolding
</a>
</li>
<li class="md-nav__item">
<a href="pilote/Pilote%20-%20Usager/application/services/" class="md-nav__link">
Services
</a>
</li>
<li class="md-nav__item">
<a href="pilote/Pilote%20-%20Usager/application/store/" class="md-nav__link">
Store
</a>
</li>
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_4_4_2" type="checkbox" id="__nav_4_4_2" >
<label class="md-nav__link" for="__nav_4_4_2">
Functionalities
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="Functionalities" data-md-level="3">
<label class="md-nav__title" for="__nav_4_4_2">
<span class="md-nav__icon md-icon"></span>
Functionalities
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="pilote/Pilote%20-%20Usager/functionalities/appointments/" class="md-nav__link">
Appointments
</a>
</li>
<li class="md-nav__item">
<a href="pilote/Pilote%20-%20Usager/functionalities/contact/" class="md-nav__link">
Contact
</a>
</li>
<li class="md-nav__item">
<a href="pilote/Pilote%20-%20Usager/functionalities/document/" class="md-nav__link">
Document
</a>
</li>
<li class="md-nav__item">
<a href="pilote/Pilote%20-%20Usager/functionalities/setting/" class="md-nav__link">
Settings
</a>
</li>
<li class="md-nav__item">
<a href="pilote/Pilote%20-%20Usager/functionalities/cozy-registry/" class="md-nav__link">
Cozy Registry
</a>
</li>
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_4_4_3" type="checkbox" id="__nav_4_4_3" >
<label class="md-nav__link" for="__nav_4_4_3">
Getting Started
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="Getting Started" data-md-level="3">
<label class="md-nav__title" for="__nav_4_4_3">
<span class="md-nav__icon md-icon"></span>
Getting Started
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="pilote/Pilote%20-%20Usager/getting_started/launch_local_application/" class="md-nav__link">
Launch local application
</a>
</li>
<li class="md-nav__item">
<a href="pilote/Pilote%20-%20Usager/getting_started/launch_local_doctypes/" class="md-nav__link">
Launch local doctypes
</a>
</li>
<li class="md-nav__item">
<a href="pilote/Pilote%20-%20Usager/getting_started/launch_local_services/" class="md-nav__link">
Launch local services
</a>
</li>
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_5" type="checkbox" id="__nav_5" >
<label class="md-nav__link" for="__nav_5">
Konnectors
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="Konnectors" data-md-level="1">
<label class="md-nav__title" for="__nav_5">
<span class="md-nav__icon md-icon"></span>
Konnectors
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="konnectors/" class="md-nav__link">
Introduction
</a>
</li>
<li class="md-nav__item">
<a href="konnectors/enedis/" class="md-nav__link">
Enedis
</a>
</li>
<li class="md-nav__item">
<a href="konnectors/grdf/" class="md-nav__link">
GRDF
</a>
</li>
<li class="md-nav__item">
<a href="konnectors/egl/" class="md-nav__link">
Eau du Grand Lyon
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_6" type="checkbox" id="__nav_6" >
<label class="md-nav__link" for="__nav_6">
Proxy
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="Proxy" data-md-level="1">
<label class="md-nav__title" for="__nav_6">
<span class="md-nav__icon md-icon"></span>
Proxy
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="proxy/description/" class="md-nav__link">
Description
</a>
</li>
<li class="md-nav__item">
<a href="proxy/monitoring/" class="md-nav__link">
Monitoring
</a>
</li>
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_6_3" type="checkbox" id="__nav_6_3" >
<label class="md-nav__link" for="__nav_6_3">
Use cases
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="Use cases" data-md-level="2">
<label class="md-nav__title" for="__nav_6_3">
<span class="md-nav__icon md-icon"></span>
Use cases
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="proxy/use_cases/enedis/" class="md-nav__link">
Enedis
</a>
</li>
<li class="md-nav__item">
<a href="proxy/use_cases/grdfadict/" class="md-nav__link">
Grdf Adict
</a>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
Table of contents
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#installing-prerequisites" class="md-nav__link">
Installing prerequisites
</a>
</li>
<li class="md-nav__item">
<a href="#usage" class="md-nav__link">
Usage
</a>
<nav class="md-nav" aria-label="Usage">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#node-nvm" class="md-nav__link">
Node NVM
</a>
</li>
<li class="md-nav__item">
<a href="#wsl" class="md-nav__link">
WSL
</a>
<nav class="md-nav" aria-label="WSL">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#upgrade-to-wsl-2" class="md-nav__link">
Upgrade to WSL 2
</a>
</li>
<li class="md-nav__item">
<a href="#install-your-linux-distribution" class="md-nav__link">
Install your Linux distribution
</a>
</li>
<li class="md-nav__item">
<a href="#setup-your-distribution" class="md-nav__link">
Setup your distribution
</a>
</li>
</li>
<li class="md-nav__item">
<a href="#contributing-to-the-documentation" class="md-nav__link">
Contributing to the documentation
</a>
</li>
</ul>
</nav>
</div>
</div>
</div>
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
<h1 id="_1"></h1>
<p><img alt="selfdata" class="center" src="/img/docshome.png" /></p>
<p>This documentation covers the technical aspects of projects developed by the Grandlyon in cooperation with <a href="https://cozy.io/fr/">Cozy Cloud</a>.</p>
<h2 id="installing-prerequisites">Installing prerequisites</h2>
<p>In order to work with a self-data environment, there are a couple of prerequisites. Don't forget to take a look at our general development guidelines <a href="https://forge.grandlyon.com/web-et-numerique/wiki_web_num">wiki</a> first.</p>
<table>
<thead>
<tr>
<th>Name</th>
<th>Required</th>
<th>Details</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="https://nodejs.org/en/download/">Node</a></td>
<td>Yes</td>
<td>Node 16 must be installed as it is the version that runs on the official cozystack.</td>
</tr>
<tr>
<td><a href="https://classic.yarnpkg.com/en/docs/install">Yarn</a></td>
<td>Yes</td>
<td>Yarn is our projects package manager.</td>
</tr>
<tr>
<td><a href="https://www.docker.com/get-started">Docker</a></td>
<td>Yes</td>
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
</tr>
<tr>
<td><a href="https://docs.docker.com/compose/install/">Docker-compose</a></td>
<td>Yes</td>
<td></td>
</tr>
<tr>
<td><a href=".#wsl">WSL</a></td>
<td>No</td>
<td>Required for windows users.</td>
</tr>
</tbody>
</table>
<h2 id="usage">Usage</h2>
<h3 id="node-nvm">Node NVM</h3>
<p>You might need to manage several NodeJS versions on the same computer when working on different projects. To manage it properly, you can use the <code>nvm</code> package on windows or <code>n</code> package on linux.</p>
<div class="highlight"><pre><span></span><code><span class="gp">$ </span>yarn global add nvm
</code></pre></div>
<div class="tabbed-set tabbed-alternate" data-tabs="1:4"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><input id="__tabbed_1_2" name="__tabbed_1" type="radio" /><input id="__tabbed_1_3" name="__tabbed_1" type="radio" /><input id="__tabbed_1_4" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="__tabbed_1_1">Install a version</label><label for="__tabbed_1_2">See installed node versions</label><label for="__tabbed_1_3">Switch to a specific version</label><label for="__tabbed_1_4">Check your current version</label></div>
<div class="tabbed-content">
<div class="tabbed-block">
<div class="highlight"><pre><span></span><code><span class="gp">$ </span>nvm install X.X.X
</code></pre></div>
</div>
<div class="tabbed-block">
<div class="highlight"><pre><span></span><code><span class="gp">$ </span>nvm list
</code></pre></div>
</div>
<div class="tabbed-block">
<div class="highlight"><pre><span></span><code><span class="gp">$ </span>nvm use X.X.X
</code></pre></div>
</div>
<div class="tabbed-block">
<div class="highlight"><pre><span></span><code><span class="gp">$ </span>node -v
</code></pre></div>
</div>
</div>
</div>
<h3 id="wsl">WSL</h3>
<p>First open Powershell as administrator and launch the following command:</p>
<div class="highlight"><pre><span></span><code><span class="n">dism</span><span class="p">.</span><span class="n">exe</span> <span class="p">/</span><span class="n">online</span> <span class="p">/</span><span class="nb">enable-feature</span> <span class="p">/</span><span class="n">featurename</span><span class="p">:</span><span class="n">Microsoft-Windows-Subsystem-Linux</span> <span class="p">/</span><span class="n">all</span> <span class="p">/</span><span class="n">norestart</span>
</code></pre></div>
<p>This command will install WSL on your computer. After this, you'll need to <mark><strong>reboot</strong></mark>.</p>
<h4 id="upgrade-to-wsl-2">Upgrade to WSL 2</h4>
<p>If you're on WSL 1 and want to upgrade to WSL 2, here is the process:</p>
<ol>
<li>
<p>Open an elevated powershell and paste the following command:
<div class="highlight"><pre><span></span><code><span class="n">dism</span><span class="p">.</span><span class="n">exe</span> <span class="p">/</span><span class="n">online</span> <span class="p">/</span><span class="nb">enable-feature</span> <span class="p">/</span><span class="n">featurename</span><span class="p">:</span><span class="n">Microsoft-Windows-Subsystem-Linux</span> <span class="p">/</span><span class="n">all</span> <span class="p">/</span><span class="n">norestart</span>
</code></pre></div></p>
</li>
<li>
<p>Then, enable the Virtual Machine Platform optional feature.
<div class="highlight"><pre><span></span><code><span class="n">dism</span><span class="p">.</span><span class="n">exe</span> <span class="p">/</span><span class="n">online</span> <span class="p">/</span><span class="nb">enable-feature</span> <span class="p">/</span><span class="n">featurename</span><span class="p">:</span><span class="n">VirtualMachinePlatform</span> <span class="p">/</span><span class="n">all</span> <span class="p">/</span><span class="n">norestart</span>
</code></pre></div></p>
</li>
<li>
<p>Now restart your computer to apply these features. Once it's done, open an elevated powershell again and set the default wsl version to 2
<div class="highlight"><pre><span></span><code><span class="gp">$ </span>wsl --set-default-version <span class="m">2</span>
</code></pre></div></p>
</li>
</ol>
<div class="admonition warning">
<p class="admonition-title">You might see this message after running the command above</p>
<p>WSL 2 requires an update to its kernel component.
For information please visit <a href="https://aka.ms/wsl2kernel">wsl2kernel</a>.</p>
</div>
<p>If you install the MSI from <a href="https://aka.ms/wsl2kernel">wsl2kernel</a>. Once you have the kernel installed, please run <code>wsl --set-default-version 2</code> again and it should complete successfully without showing the message.</p>
<h4 id="install-your-linux-distribution">Install your Linux distribution</h4>
<p>After reboot, open the microsoft store and install the distribution of your choice, for instance: <mark>Ubuntu 20.04 lts</mark>. Once it's done, open it and after a few minutes you'll be prompted for the creation of a user account.</p>
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
<p>To make sure it's correctly installed and working, you can open Powershell and paste the following command :</p>
<div class="highlight"><pre><span></span><code><span class="n">wsl</span><span class="p">.</span><span class="n">exe</span> <span class="p">-</span><span class="n">-list</span> <span class="p">-</span><span class="n">-running</span>
</code></pre></div>
<p>Now you should see the name of your distribution in the list.</p>
<h4 id="setup-your-distribution">Setup your distribution</h4>
<ol>
<li>
<p>Start updating the packages list by typing:
<div class="highlight"><pre><span></span><code><span class="gp">$ </span>sudo apt update
</code></pre></div></p>
</li>
<li>
<p>Install nodejs using the apt package manager
<div class="highlight"><pre><span></span><code><span class="gp">$ </span>sudo apt install
</code></pre></div></p>
</li>
<li>
<p>To verify the Installation execute the following command:
<div class="highlight"><pre><span></span><code><span class="gp">$ </span>nodejs --version
</code></pre></div></p>
</li>
<li>
<p>To be able to download npm package, you need to install the npm, the Node.js package manager. To do so type:
<div class="highlight"><pre><span></span><code><span class="gp">$ </span>sudo apt install npm
</code></pre></div></p>
</li>
<li>
<p>To verify the npm Install check using the command:
<div class="highlight"><pre><span></span><code><span class="gp">$ </span>npm --version
</code></pre></div></p>
</li>
<li>
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
<div class="highlight"><pre><span></span><code><span class="gp">$ </span>sudo apt install yarn
</code></pre></div></p>
</li>
<li>
<p>To check the installed version of Yarn:
<div class="highlight"><pre><span></span><code><span class="gp">$ </span>yarn --version
</code></pre></div></p>
</li>
</ol>
<p>Now you'll probably be in version 0.23+git, if so you'll have to upgrade to 1.22 to make everything work properly.
In order to achieve this, you'll have to launch several commands:</p>
<div class="highlight"><pre><span></span><code>sudo apt-get remove cmdtest
sudo apt autoremove
sudo apt-get update
sudo apt install curl -y
curl -o- -L https://yarnpkg.com/install.sh | bash
source ~/.bashrc
</code></pre></div>
<p>Now you should be at least in version <mark>^1.22</mark> and ready to go on.</p>
<h2 id="contributing-to-the-documentation">Contributing to the documentation</h2>
<p>To install and run the documentation on your laptop, follow the steps in the <a href="https://forge.grandlyon.com/web-et-numerique/llle_project/self-data-technical-doc">README</a>. Then:</p>
<ul>
<li>Create a branch for your change</li>
<li>Add documentation pages to <code>docs</code>, and supporting assets to <code>img</code>.</li>
<li>Write some <a href="https://guides.github.com/features/mastering-markdown/">markdown</a></li>
<li>Submit a merge request</li>
</ul>
<p><img alt="europe" class="inline-center-left" src="/img/partners/europe.png" />
<img alt="auvergne" src="/img/partners/auvergne.png" /></p>
<hr>
<div class="md-source-file">
<small>
Last update:
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-date">April 28, 2022</span>
<a href="#" class="md-top md-icon" data-md-component="top" data-md-state="hidden">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12Z"/></svg>
Back to top
</a>
<nav class="md-footer__inner md-grid" aria-label="Footer">
<a href="external_doc/" class="md-footer__link md-footer__link--next" aria-label="Next: Additional Ressources" rel="next">
<div class="md-footer__title">
<div class="md-ellipsis">
<span class="md-footer__direction">
Next
</div>
<div class="md-footer__button md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4Z"/></svg>
</div>
</a>
</nav>
<div class="md-footer-meta md-typeset">
<div class="md-footer-meta__inner md-grid">
<div class="md-copyright">
Made with
<a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
Material for MkDocs
</a>
</div>
</div>
</div>
</footer>
</div>
<div class="md-dialog" data-md-component="dialog">
<div class="md-dialog__inner md-typeset"></div>
</div>
<script id="__config" type="application/json">{"base": ".", "features": ["navigation.tabs", "navigation.top", "navigation.instant"], "search": "assets/javascripts/workers/search.2a1c317c.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.config.lang": "en", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Search", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version.title": "Select version"}}</script>
<script src="assets/javascripts/bundle.748e2769.min.js"></script>