Develop mccs
Layout
Section titled “Layout”server/ Node HTTP server, config, Apple profile, autoconfigpublic/ index.html Wizard 404.html css/ app.css js/ app.js, guides.js, qr.js img/ favicon.svg, guides/ support/ Internal support pagedocs/ DocumentationDockerfiledocker-compose.yml.env.exampleNode 22, built-in http module only, no npm dependency. The front end is vanilla HTML, CSS and JavaScript. The Content-Security-Policy forbids inline scripts and styles and third-party hosts, so any library must be served locally. The QR code is generated by public/js/qr.js.
Run it
Section titled “Run it”cp .env.example .envdocker compose up -d --buildThere is no automated test suite yet. Check changes by hand at 390 px wide and on a desktop, in dark and light, with the keyboard only.
Where to change things
Section titled “Where to change things”- Server settings:
server/config.js(reads the variables),docker-compose.yml(passes them),.env.example(template). - Guide text:
public/js/guides.js. Copyable values:fieldDefs()inpublic/js/app.js. See Customise. - Apple profile:
server/mobileconfig.js. Thunderbird autoconfig:server/autoconfig.js. - Journey (hash routes, in
public/js/app.js): home is step 1,#/appareilstep 2,#/appareil/<device>step 3,#/guide/<device>/<guide>/<n>step 4 and.../finthe final screen. - The manual-settings and help panels are
<dialog>elements inpublic/index.html, opened by[data-panel]. public/css/app.cssis also loaded by/support: keep its classes.
At startup the server hashes CSS and JS and writes ?v=<hash> into asset URLs, so a restart is enough to bust caches.
Contribute
Section titled “Contribute”See CONTRIBUTING.md.