commit 28e8ba742b0f1d9fa3fe9e036d7e70afc2072be3 Author: tituspijean Date: Mon Apr 4 08:21:14 2022 +0200 Initial commit diff --git a/LICENCE b/LICENCE new file mode 100644 index 0000000..ff9e935 --- /dev/null +++ b/LICENCE @@ -0,0 +1,13 @@ + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + Version 2, December 2004 + +Copyright (C) 2004 Sam Hocevar + +Everyone is permitted to copy and distribute verbatim or modified +copies of this license document, and changing it is allowed as long +as the name is changed. + + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. You just DO WHAT THE FUCK YOU WANT TO. diff --git a/README.md b/README.md new file mode 100644 index 0000000..98d0c6a --- /dev/null +++ b/README.md @@ -0,0 +1,40 @@ +# JDLL 2022 + +Le projet YunoHost était présent aux JDLL 2022, représenté par tituspijean et ljf, avec + +* un stand tenu sur les deux jours ; +* une conférence pour présenter le projet ; +* un atelier pour découvrir la simplicité de son installation et utilisation (avec lapineige en support). + +## Conférence + +La présentation est stockée dans le dossier `conference` + et utilise RevealJS pour convertir le fichier Markdown en diapositives. + Une app [Hedgedoc](https://github.com/YunoHost-Apps/hedgedoc_ynh) a été utilisée pour cela. + +## Atelier + +L'atelier est basé sur des serveurs VPS loués pour l'occasion, + et une petite [Custom Webapp](https://github.com/YunoHost-Apps/my_webapp_ynh) contenant le fichier `index.html` décrivant les + étapes d'installation, stockée ici dans le dossier `atelier`. + +Les serveurs VPS ont été pris chez Scaleway. + +Au préalable un projet dédié a été créé, juste pour lister les serveurs facilement, + son identifiant est indiqué dans la commande de création. + +Une clé SSH est générée avec la commande suivante, la clé publique ajoutée à Scaleway et la clé privée téléversée dans le dossier de la Custom Webapp. + +``` +ssh-keygen -b 4096 -C "JDLL" -f id_rsa_jdll +``` + +Les serveurs sont lancés avec la ligne de commande suivante, répétée autant de fois que nécessaire. + Ils peuvent aussi être créés à la main directement dans l'interface web. + +``` +scw instance server create type=DEV1-S zone=fr-par-1 image=debian_buster root-volume=l:20G ip=new [project-id=...] +``` + +La commande retourne un descriptif du serveur ainsi créé : relever l'adresse IP publique + et la partager à l'apprenti auto-hébergeur, ainsi que l'adresse de la webapp. diff --git a/atelier/id_rsa_jdll b/atelier/id_rsa_jdll new file mode 100644 index 0000000..0a486bc --- /dev/null +++ b/atelier/id_rsa_jdll @@ -0,0 +1,3 @@ +# Clé à générer avec la commande suivante + +ssh-keygen -b 4096 -C "JDLL" -f id_rsa_jdll diff --git a/atelier/index.html b/atelier/index.html new file mode 100644 index 0000000..bada1b5 --- /dev/null +++ b/atelier/index.html @@ -0,0 +1,88 @@ + + + + + Atelier YunoHost ~ JDLL 2022 + + +

Bienvenue !

+

Lors de cet atelier, vous allez découvrir comment vous connecter à un serveur privé virtuel neuf et comment installer et utiliser YunoHost.

+ +

Se connecter au serveur

+

+ Ouvrez le Terminal. (oui, c'est la ligne de commande, n'ayez pas peur !) + Gardez à la fois le navigateur et le terminal à l'écran. Lancez les commandes une fois tapées dans le terminal avec la touche Entrée. +

+

+ Vous allez télécharger une clé dite SSH, qui est une méthode d'authentification plus sécurisée qu'un simple mot de passe. + Copiez-collez le code ci-dessous dans le terminal. +

+ + mkdir -p ~/.ssh +
+ curl https://<LIEN VERS LA CLE PRIVEE> -o ~/.ssh/jdll +
+

+ Protégez votre clé : +

+ + chmod 600 ~/.ssh/jdll + +

+ Votre hôte vous a normalement donné l'adresse IP du serveur qui vous est alloué pour cet atelier. + Remplacez-la dans la commande ci-dessous, à la place de ADR.ESS.EIP.DU.SRV. +

+ + ssh root@ADR.ESS.EIP.DU.SRV -i ~/.ssh/jdll + +

+ À la question Are you sure you want to continue connecting (yes/no/[fingerprint])?", répondez yes. +

+

+ Le terminal devrait se vider et vous montrer une nouvelle invite de commande. +

+ +

Installer YunoHost sur une Linux Debian

+

+ Ouf ! Nous avons enfin rattaché nos wagons à ceux d'une installation classique de YunoHost. +

+

+ Vous pouvez suivre notre documentation pour les serveurs distants jusqu'à l'étape de post-installation. +

+

+ Sinon, pour faire simple, téléchargez et exécutez le script d'installation avec la commande ci-dessous. +

+ + curl https://install.yunohost.org | bash + +

+ Si le script d'installation vous pose des questions, répondez Oui. +

+ +

Procéder à la post-installation

+

+ Une fois que vous récupérez l'accès au terminal, vous pouvez finaliser votre installation. + Au choix: +

+ +

+ Lors du choix du nom de domaine, que vous n'avez pas, choisissez-en tel que jdll2022a.ynh.fr +

+ +

Utilisez YunoHost!

+
    +
  1. Créez votre premier utilisateur
  2. +
  3. Installez votre première app (Nextcloud, Wordpress...)
  4. +
  5. Explorez l'interface d'administration et celle de vos comptes
  6. +
  7. ...
  8. +
+ +
+ +

Bravo ! En récompense, voici une photo aléatoire de CHATONS:

+ + + diff --git a/conference/diapositives.md b/conference/diapositives.md new file mode 100644 index 0000000..7c630a3 --- /dev/null +++ b/conference/diapositives.md @@ -0,0 +1,274 @@ +--- +type: slide +title: YunoHost JDLL 2022 +slideOptions: + theme: white + transition: slide + width: 1280 + height: 1080 + margin: 0.01 +--- + + + +## De l'auto-hébergement
à l'élevage de CHATONS + +### Journées du Logiciel Libre +### 2022-04-03 + +---- + + + +`tituspijean` + +--- + +## Sommaire + +1. Introduction : reprenez le contrôle +2. YunoHost : une solution simple pour l'auto-hébergement +3. Côté administrateur ($\hookleftarrow$ c'est vous !) +4. Côté technique ($\hookleftarrow$ promis, c'est accessible) +5. Côté communauté + +--- + +## Introduction + +---- + + + +Illustration par JimboJoe + +---- + +### Où stockez-vous vos données ? + +* Sur papier ? +* Votre disque dur, clé USB, ... +* Fournisseurs de services (*drive, *box, *cloud) + +---- + + + + +
+
+
+
+
+
+
+
+
+
+
+ +### Envoi de données vers le nuage + +*Incendie d'un centre de données d'OVH, +à Strasbourg, mars 2021* + + +---- + +![](https://doc.pijean.ovh/uploads/772bfb484e4a105c48ba0f714.jpg) + +---- + +* (Re)possession des données +* Décentralisation +* Vie privée +* Liberté d'expression +* Auto-didactisme + +## $\implies$ Motivations à l'auto-hébergement + + +---- + +## Le matériel pour s'auto-héberger + + + +---- + +## Les logiciels à auto-héberger + +| | Alternatives libres | +| ----------- | -------- | +| Twitter | Mastodon | +| Dropbox, GDrive, iCloud... | Nextcloud | +| Office 365 | Cryptpad | +| Tout système de domotique | Home Assistant | +| Messenger, Whatsapp, Wechat... | | + + +**... chacun avec ses propres prérequis +et instructions d'installation** + +--- + + + + + +---- + +## Il est *nécessaire* de rendre l'administration de serveurs __simple__ + +---- + +# YunoHost, c'est quoi ? +- Debian une distribution Debian + +- une interface d'administration simple + +- des services fonctionnels dès l'installation + +- des noms de domaines gratuits et automatiquement configurés (`.ynh.fr`, `.nohost.me`, `.noho.st`) +- vos propres noms de automatiquement configurés chez vos *registrars*. + +- un grand catalogue d'applications installables en quelques clics + +- un portail de connexion pour les personnes inscrites + +- un système de permissions pour contrôler les accès aux apps + +- un système de diagnostic pour surveiller tout ça + + +---- + +## YunoHost, côté utilisateur/administrateur +### Une petite démo ? + +https://demo.yunohost.org + +--- + +## YunoHost, côté technique + +---- + +### Installable en moins d'une heure + + + +---- + +### Automatisation des tâches de sysadmin + +Accessibles via l'interface web ou la ligne de commande + +
+ +
+ +---- + +### Les applications + +Des fichiers de description, de configuration, +et des scripts Bash pour laisser la magie opérer. + + + + +\+ un système de tests automatisés pour aider les *packagers* + +---- + +### Feuille de route + +- YunoHost version 11 (Debian Bullseye) : en version bêta :rocket: +- L'intégration de nom de domaines *wildcard* +- Des formulaires d'inscription et des liens d'inscription de comptes utilisateurs +- Une évolution du système de *packaging* pour encore plus facilement intégrer des applications au catalogue +- ... + +--- + +## YunoHost, côté communauté + +---- + +### Plus de 8000 instances YunoHost + +*Source: Shodan* + +---- + +# YunoHost $\times$ CHATONS + +> CHATONS est le **Collectif des Hébergeurs Alternatifs, Transparents, Ouverts, Neutres et Solidaires**. Ce collectif vise à rassembler des structures proposant des services en ligne libres, éthiques et décentralisés. + +`https://chatons.org/` + +Une quinzaine de CHATONS tourne avec YunoHost. :rocket: + + + +---- + +### Un catalogue d'applications fourni + +208 pleinement fonctionnelles sur 236 testées + +
... il y a un an ! Actuellement : + +325 pleinement fonctionnelles sur 344 testées +512 dépôts de code dans notre organisation `YunoHost-Apps` + +
+ +---- + +### Nous trouver + +* Le site web de YunoHost : [yunohost.org](https://yunohost.org) +* Le forum pour les annonces et l'entraide : [forum.yunohost.org](https://forum.yunohost.org) +* Des salons sur Matrix/IRC de discussion et d'entraide pour le support, le *packaging* d'apps, le développement : [yunohost.org/chat_rooms](https://yunohost.org/fr/chat_rooms) +* La documentation : [yunohost.org/doc](https://yunohost.org/docs) + + contributeurs
(Python, UX, HTML, CSS, JS, Bash, doc ...) + +---- + +# Nos soutiens + +![](https://doc.pijean.ovh/uploads/772bfb484e4a105c48ba0f700.png) + +et donateurs ! + + +---- + +## Dans les coulisses... + +* Présentation faite avec [Reveal.js](https://revealjs.com/) sur [HedgeDoc](https://hedgedoc.org/)... +* ... que j'accède avec mon VPN avec [WireGuard](https://wireguard.com)... +* ... le tout auto-hébergé sur mon serveur [YunoHost](https://yunohost.org) + +--- + +# Avez-vous des questions ? + +--- + +# Atelier +## Installation et découverte de YunoHost +### Espace Public Numérique + +*Dans un instant* diff --git a/conference/uploads/772bfb484e4a105c48ba0f700.png b/conference/uploads/772bfb484e4a105c48ba0f700.png new file mode 100644 index 0000000..beaf4e1 Binary files /dev/null and b/conference/uploads/772bfb484e4a105c48ba0f700.png differ diff --git a/conference/uploads/772bfb484e4a105c48ba0f701.png b/conference/uploads/772bfb484e4a105c48ba0f701.png new file mode 100644 index 0000000..4f992b9 Binary files /dev/null and b/conference/uploads/772bfb484e4a105c48ba0f701.png differ diff --git a/conference/uploads/772bfb484e4a105c48ba0f702.jpg b/conference/uploads/772bfb484e4a105c48ba0f702.jpg new file mode 100644 index 0000000..79fb6c6 Binary files /dev/null and b/conference/uploads/772bfb484e4a105c48ba0f702.jpg differ diff --git a/conference/uploads/772bfb484e4a105c48ba0f703.png b/conference/uploads/772bfb484e4a105c48ba0f703.png new file mode 100644 index 0000000..ee0d0c7 Binary files /dev/null and b/conference/uploads/772bfb484e4a105c48ba0f703.png differ diff --git a/conference/uploads/772bfb484e4a105c48ba0f705.png b/conference/uploads/772bfb484e4a105c48ba0f705.png new file mode 100644 index 0000000..cf4674e Binary files /dev/null and b/conference/uploads/772bfb484e4a105c48ba0f705.png differ diff --git a/conference/uploads/772bfb484e4a105c48ba0f707.jpg b/conference/uploads/772bfb484e4a105c48ba0f707.jpg new file mode 100644 index 0000000..59fa9f6 Binary files /dev/null and b/conference/uploads/772bfb484e4a105c48ba0f707.jpg differ diff --git a/conference/uploads/772bfb484e4a105c48ba0f708.png b/conference/uploads/772bfb484e4a105c48ba0f708.png new file mode 100644 index 0000000..e4e2053 Binary files /dev/null and b/conference/uploads/772bfb484e4a105c48ba0f708.png differ diff --git a/conference/uploads/772bfb484e4a105c48ba0f709.png b/conference/uploads/772bfb484e4a105c48ba0f709.png new file mode 100644 index 0000000..8af1f75 Binary files /dev/null and b/conference/uploads/772bfb484e4a105c48ba0f709.png differ diff --git a/conference/uploads/772bfb484e4a105c48ba0f70a.png b/conference/uploads/772bfb484e4a105c48ba0f70a.png new file mode 100644 index 0000000..8a0503c Binary files /dev/null and b/conference/uploads/772bfb484e4a105c48ba0f70a.png differ diff --git a/conference/uploads/772bfb484e4a105c48ba0f70b.png b/conference/uploads/772bfb484e4a105c48ba0f70b.png new file mode 100644 index 0000000..ad77a82 Binary files /dev/null and b/conference/uploads/772bfb484e4a105c48ba0f70b.png differ diff --git a/conference/uploads/772bfb484e4a105c48ba0f70c.png b/conference/uploads/772bfb484e4a105c48ba0f70c.png new file mode 100644 index 0000000..2375368 Binary files /dev/null and b/conference/uploads/772bfb484e4a105c48ba0f70c.png differ diff --git a/conference/uploads/772bfb484e4a105c48ba0f70e.png b/conference/uploads/772bfb484e4a105c48ba0f70e.png new file mode 100644 index 0000000..df6b009 Binary files /dev/null and b/conference/uploads/772bfb484e4a105c48ba0f70e.png differ diff --git a/conference/uploads/772bfb484e4a105c48ba0f70f.png b/conference/uploads/772bfb484e4a105c48ba0f70f.png new file mode 100644 index 0000000..1ab3b67 Binary files /dev/null and b/conference/uploads/772bfb484e4a105c48ba0f70f.png differ diff --git a/conference/uploads/772bfb484e4a105c48ba0f710.png b/conference/uploads/772bfb484e4a105c48ba0f710.png new file mode 100644 index 0000000..1460eee Binary files /dev/null and b/conference/uploads/772bfb484e4a105c48ba0f710.png differ diff --git a/conference/uploads/772bfb484e4a105c48ba0f711.png b/conference/uploads/772bfb484e4a105c48ba0f711.png new file mode 100644 index 0000000..59e42b2 Binary files /dev/null and b/conference/uploads/772bfb484e4a105c48ba0f711.png differ diff --git a/conference/uploads/772bfb484e4a105c48ba0f713.png b/conference/uploads/772bfb484e4a105c48ba0f713.png new file mode 100644 index 0000000..8f47d18 Binary files /dev/null and b/conference/uploads/772bfb484e4a105c48ba0f713.png differ diff --git a/conference/uploads/772bfb484e4a105c48ba0f714.jpg b/conference/uploads/772bfb484e4a105c48ba0f714.jpg new file mode 100644 index 0000000..156ee78 Binary files /dev/null and b/conference/uploads/772bfb484e4a105c48ba0f714.jpg differ diff --git a/conference/yunohost-jdll-2022-noslides.pdf b/conference/yunohost-jdll-2022-noslides.pdf new file mode 100755 index 0000000..e69de29