inside-yunohost/inside_yunohost.md
2016-05-06 19:48:11 +02:00

7 KiB

name:begin class: center, middle

YNH


name: map

Plan

  • Qu'est-ce que c'est ?
  • Comment ça fonctionne ?
  • Quel code ?
  • Infrastructure
  • Équipe & gouvernance
  • Comment contribuer
  • Outils de développement
  • Liens utiles

Qu'est-ce que c'est ?

  • Distribution Linux, basé sur Debian

--

  • Simplification de l'auto-hébergement
    • Serveur Mail
    • Serveur XMPP
    • Serveur Web

--

  • Administration facilitée
    • Interface web
    • Ligne de commande

Qu'est-ce que c'est ?

### Auto-hébergement

  • Mail (postfix, dovecot, rspamd)
  • XMPP (metronome)
  • Web : Apps & SSO (Nginx)

Qu'est-ce que c'est ?

### Administration facilitée

  • Utilisateurs
  • Domaines
  • Applications
  • Services
  • Firewall
  • Backups

name:ynh-help

root@yourte:~# yunohost --help
usage: yunohost [-h] [--no-cache] [--output-as {json,plain}] [--debug]
                [--verbose] [--quiet] [--admin-password PASSWORD] [-v]
                {domain,monitor,service,firewall,tools,app,hook,dyndns,backup,user}
                ...

optional arguments:
  -h, --help            show this help message and exit

categories:
  {domain,monitor,service,firewall,tools,app,hook,dyndns,backup,user}
    domain              Manage domains
    monitor             Monitor the server
    service             Manage services
    firewall            Manage firewall rules
    tools               Specific tools
    app                 Manage apps
    hook                Manage hooks
    dyndns              Subscribe and Update DynDNS Hosts
    backup              Manage backups
    user                Manage users

global arguments:
  --no-cache            Don't use actions map cache
  --output-as {json,plain}
                        Output result in another format
  --debug               Log and print debug messages
  --verbose             Be more verbose in the output
  --quiet               Don't produce any output
  --admin-password PASSWORD
                        The admin password to use to authenticate
  -v, --version         Display YunoHost packages versions


Comment ça fonctionne ?

Inside YunoHost


Comment ça fonctionne ?

Inside YunoHost 2


Comment ça fonctionne ?

### Moulinette

ActionMap : 1 fichier .yml pour définir les url API & CLI

### user_info()
info:
    action_help: Get user information
    api: GET /users/<username>
    configuration:
        authenticate: all
        authenticator: ldap-anonymous
    arguments:
        username:
            help: Username or email to get information

$ yunohost user info <USERNAME>
https://example.com/yunohost/api/users/<USERNAME>


Comment ça fonctionne ?

Domaines

  • Possibilité de DynDNS
  • Certificats SSL (auto-signés, Let's Encrypt à venir)

Comment ça fonctionne ?

Applications

  • Packages YunoHost basés sur des scripts bash
  • Dépots d'applications (listes json)
  • Organisation GitHub spécifique : github.com/YunoHost-Apps

## Quel code ?

Moulinette / YunoHost

  • Python
  • Catégories / actions définies dans un fichier YAML (actionsmap)
  • Hooks en bash

Dépots Git


## Quel code ?

Administration Web

  • HTML/CSS/JS
  • Routeur en Sammy.js
  • Templates en Handlebars (mustache)

Dépots Git


## Quel code ?

SSOwat

  • module Lua pour Nginx
  • HTML/CSS/JS pour l'interface utilisateur

Dépots Git


## Quel code ?

Dynette (DynDNS)

  • Ruby
  • Python

Dépots Git


## Quel code ?

Applications

  • Scripts Bash
  • Helpers

Application d'exemple : github.com/YunoHost/example_ynh


Outils de développement

Basé sur des VM Vagrant


Infrastructure

### Tartare

  • Services web (site web, bugtracker, traduction, apps lists, pastebin)
  • IP webservice (ip.yunohost.org )
  • XMPP (salon support & dev)
  • DynDNS
  • NS0

Infrastructure

### Veganaise

  • Rebuildd (build *.deb)
  • Debian repositories (repo.yunohost.org)
  • ISOs & VMs (build.yunohost.org)
  • NS1

Infrastructure

Autres machines

  • Forum
  • Demo (merci Web4All)

Équipe & gouvernance

  • petite équipe pour l'instant
  • do-ocracy
  • New BugTracker => suivi

Comment contribuer ?

  • Doc
  • Support
  • Code
  • Faire des rapports de bugs (et comment faire un bon rapport de bug)
  • Traduction
  • Apps
  • ...

## Comment contribuer ?

### Documentation


## Comment contribuer ?

Support


## Comment contribuer ?

Code


name:links

Liens utiles


name: end class: center, middle YNH