PROJET AUTOBLOG


Planet-Libre

source: Planet-Libre

⇐ retour index

Marien Fressinaud : SogiMood

mardi 13 décembre 2016 à 21:30

J’ai commencé cet été une petite application que je voulais utiliser dans le cadre du boulot. Le but était de surveiller la santé des projets sur lesquels nous travaillons. Comme on aime bien le logiciel libre chez Sogilis et qu’on est assez libre de faire ce que l’on veut, j’ai proposé de libérer le code de ce logiciel : SogiMood (oui, c’est original).

Il s’agit d’une application web avec un backend écrit en Go et un frontend écrit en ReactJS (il paraît que c’est « hype », c’est donc forcément bien) ; le code est placé sous licence MIT. Plutôt que de faire deux longs articles sur SogiMood, je vous invite à lire l’article que j’ai publié sur le blog de Sogilis où je détaille un peu plus le pourquoi et le comment de SogiMood.

En espérant que ça intéresse !

Note : ce projet s’inscrit dans ma démarche « Projet Zéro ». J’aurais dû publier cet article fin septembre mais comme j’attendais de d’abord écrire celui sur le blog de Sogilis et que je devais attendre mon tour pour être publié, cela a pris un peu plus de temps que prévu ;). En attendant je continue de gérer mes différents projets de la même manière que ce que je décrivais dans mon dernier article bien que cela demande un peu plus de rigueur que ce que j’avais imaginé à la base !

Gravatar de Marien Fressinaud
Original post of Marien Fressinaud.Votez pour ce billet sur Planet Libre.

vhaguer : Conteneurs LXC en non privilégié sous Debian Jessie 1/2

mardi 13 décembre 2016 à 00:00

Introduction: motivations

Je me suis intéressé récemment à la mise en place de conteneurs sur mon serveur, pour plusieurs raisons:

J'ai lorgné du côté des jails de FreeBSD au début de mon projet, mais mon utilisation de longue date de Debian et le coût lié à l'apprentissage d'un nouvel OS, sans la ceritude d'un réel avantage de ses jails sur les conteneurs sous Debian, a eu raison de ce choix.

J'ai vu passer sur mes flux RSS récemment quelques billets témoignant d'un certain intérêt pour les conteneurs LXC; dans la mesure où la mise n'a pas été immédiate pour moi, je partage mon expérience en espérant que cela puisse aider quelqu'un.

Plan de la potentielle série

  1. installation de l'environnement nécessaire à l'utilisation de conteneurs sous Debian Jessie
  2. utilisation des règles iptables et de nginx en reverse proxy pour rediriger correctement les flux vers les bons conteneurs

On traite ici du premier volet, le second volet viendra si je trouve le temps. Au pire, je mettrai ce que j'ai fait un peu en vrac, histoire au moins de présenter quelque chose qui a marché chez moi.

Sources

Les pages web qui m'ont été le plus utile à la mise en place des conteneurs chez moi:

Plan du présent article

  1. Environnement, paquets à installer, fichiers de configuration
  2. Gestion des conteneurs: création, sauvegarde, migration vers un autre hôte
  3. Divers

Mise en place

Hypothèses:

Préliminaire

Note pour les changements d'utilisateur entre administrateur et utilisateur (étant supposé être administrateur initialement):

Commandes effectuées

Commandes commentées, dans l'ordre d'exécution

  1. Création de l'utilisateur pour les conteneurs:

    # adduser sauron
    
  2. Installation des paquets utiles; à noter que seul le paquet 'lxc' est absolument nécessaire à ma connaissance, les autres sont là pour fournir de la sécurité; je n'ai pas configuré ces derniers et n'ai pas encore creusé le sujet:

    # apt-get -t jessie-backports install lxc apparmor apparmor-profiles apparmor-profiles-extra apparmor-docs apparmor-utils
    
  3. Création des dossiers utiles:

    $ mkdir -p ~/.config/lxc  
    $ touch ~/.config/lxc/{lxc,default}.conf  
    $ mkdir -p ~/.local/share/{lxc,lxcsnaps}  
    $ mkdir -p ~/.cache/lxc
    
  4. Modif pour autoriser l'utilisation non privilégiée des conteneurs (pas spur de moi sur ce coup là, mais il me semble que c'est ça):

    # vim /etc/sysctl.d/80-lxc-userns.conf
    

    Ecrire dans ce nouveau fichier:

    kernel.unprivileged_userns_clone=1
    

    On prend en compte le changement que l'on vient d'effectuer:

    # sysctl --system
    # cat /proc/sys/kernel/unprivileged_userns_clone
    

    La dernière commande doit renvoyer "1"

  5. Pour les permissions:

    # apt-get install uidmap
    # usermod --add-subuids 100000-165536 sauron
    # usermod --add-subgids 100000-165536 sauron
    
  6. Configuration par défaut des conteneurs: on lui assigne des uids valides compte-tenu de ce qu'on vient d'attribuer à l'utilisateur. On en profite pour ajouter d'ores et déjà des lignes utiles au réseau:

    $ vim /home/sauron/.config/lxc/default.conf
    

    Dans ce nouveau fichier:

    lxc.id_map = u 0 100000 65536  
    lxc.id_map = g 0 100000 65536 
    lxc.network.type = veth
    lxc.network.link = lxcbr0
    lxc.network.flags = up
    
  7. Installation et configuration du paquet qui permet de gérer les accès au matériel (RAM, processeur,...) de la machine par les conteneurs non privilégiés:

    # apt-get install cgroup-tools
    # mkdir /etc/sysconfig
    # cp /usr/share/doc/cgroup-tools/examples/cgred.conf /etc/sysconfig/cgred.conf
    # vim /etc/cgconfig.conf
    

    Dans ce dernier fichier (/etc/cgconfig.conf), on renseigne la configuration suivante; on fera en particulier attention à la ligne "cpuset.cpus = 0-1;" dans le tutoriel de base c'était '0-3' car l'auteur a manifestement un quadri-coeur, quand je n'ai qu'un dual-core; attention donc à ne pas indiquer disposer de plus de coeurs que ce n'est le cas:

    group sauron {  
      perm {
        task {
          uid = sauron;
          gid = sauron;
        }
        admin {
          uid = sauron;
          gid = sauron;
        }
      }
    
      # All controllers available in 3.16.0-4
      # Listed by running: cat /proc/cgroups
      cpu {}
      blkio {}
      cpuacct {}
      cpuset {
        cgroup.clone_children = 1;
        cpuset.mems = 0;
        cpuset.cpus = 0-1;
      }
      devices {}
      freezer {}
      perf_event {}
      net_cls {}
      net_prio {}
    
      # The memory controller is not enabled by default in Debian Jessie despite being enabled in the kernel
      # If you enable it add the following
      memory { memory.use_hierarchy = 1; }
    }
    

    On modifie /etc/cgrules.conf:

    # vim /etc/cgrules.conf
    

    Dans ce fichier:

    # : 
    sauron   *        sauron
    

    On met en place le service systemd qui permet le démarrage et la gestion de cgconfig:

    # vim /lib/systemd/system/cgconfig.service
    

    Dans ce fichier:

    [Unit]
    Description=Control Group configuration service
    
    # The service should be able to start as soon as possible,
    # before any 'normal' services:
    DefaultDependencies=no  
    Conflicts=shutdown.target  
    Before=basic.target shutdown.target
    
    [Service]
    Type=oneshot  
    RemainAfterExit=yes  
    ExecStart=/usr/sbin/cgconfigparser -l /etc/cgconfig.conf -s 1664  
    ExecStop=/usr/sbin/cgclear -l /etc/cgconfig.conf -e
    
    [Install]
    WantedBy=sysinit.target
    

    # systemctl enable cgconfig

    Attention, ici écart avec le guide suivi: "systemctl start cgconfig" échoue. "cat /proc/cgroups" montre que 'memory' n'est pas activé dans mon cas; faire :

    # vim /etc/default/grub
    

    pour insérer

    GRUB_CMDLINE_LINUX_DEFAULT="cgroup_enable=memory swapaccount=1"
    

    juste avant la ligne en "GRUB_CMDLINE_LINUX=". On prend ensuite le changement en compte avec

    # update-grub
    

    puis on redémarre, et on vérifie que ça a fonctionné:

    # systemctl status cgconfig
    

    On créé un service également pour cgred:

    # vim /lib/systemd/system/cgred.service
    

    Dans ce fichier:

    [Unit]
    Description=CGroups Rules Engine Daemon  
    After=syslog.target
    
    [Service]
    Type=forking  
    EnvironmentFile=-/etc/sysconfig/cgred.conf  
    ExecStart=/usr/sbin/cgrulesengd $OPTIONS
    
    [Install]
    WantedBy=multi-user.target
    

    On l'active pour qu'il se lance automatiquement au démarrage de la machine, et on le démarre à la main pour cette fois ci:

    # systemctl enable cgred
    # systemctl start cgred
    
  8. On autorise notre utilisateur à créer des interfaces réseau virtuelles:

    # vim /etc/lxc/lxc-usernet
    

    Dans ce fichier:

    sauron veth lxcbr0 10
    
  9. On autorise l'exécution de l'ensemble des dossiers parents du dossier contenant les conteneurs:

    # chmod +x -R /home/sauron/
    

    pour que ça marche (cf https://www.stgraber.org/2014/01/17/lxc-1-0-unprivileged-containers/ pour une brève explication)

Voilà, normalement on a quelque chose de fonctionnel!

Problèmes rencontrés

Problème #1

Erreur obtenue au nouvel essai de création de conteneur avec sauron:

 Permission denied - failed to create directory '/run/user/0/lxc/'

Solution essayée:

unset XDG_RUNTIME_DIR XDG_SESSION_ID

Résout le problème :)

Problème #2

Message à la connexion au conteneur (via 'attach'):

"WARN: could not reopen tty: Permission denied" à la connexion au conteneur

(non résolu actuellement, pas encore trouvé la cause de l'erreur)

Problème #3

Arrivée sur un screen de login à la commande 'lxc-start -n $conteneur' et impossible de le quitter: il faut rajouter un '-d' pour le lancer en démon :

lxc-start -d -n $conteneur

(plus d'actualité chez moi, je ne sais pas pourquoi)

Utilisation

Création

Création du conteneur:

# su sauron
$ lxc-create -n test -t download
$ lxc-start -n test

Cela permet de créer un conteneur sur la base d'un template récupéré sur internet, conçu pour cette utilisation via LXC. A noter que pour un paranoïaque c'est bien moyen, dans la mesure où on ne sait pas exactement comment a effectivement été construit ce template.

Destruction

$ lxc-destroy -n test

Démarrage et connexion

$ lxc-start -n test 
$ lxc-attach -n test

Copie

Utile notamment pour les sauvegardes et la duplication d'un conteneur type qu'on aura pré-configuré:

$ lxc-copy -n test --newname=test_2

Lister ses conteneurs et leurs IP respectives

$ lxc-ls -f

Debug

En cas d'erreur au démarrage, pour comprendre:

$ lxc-start -F -n test

Le -F permet de tracer un peu ce qui se passe et, le cas échéant, pourquoi ça ne fonctionne pas.

Migration d'un conteneur

Suivant https://stackoverflow.com/questions/23427129/how-do-i-backup-move-lxc-containers : du 'tar -czvf' et du 'tar -xzvf'. Points importants, en supposant 'sauron' être l'utilisateur sur la machine hôte et 'web' être le nom du conteneur à bouger:

Divers

Exemple d'un fichier de configuration d'un conteneur

Contenu de mon fichier de configuration pour le conteneur 'web' (soit donc le fichier /home/sauron/.local/share/lxc/web/config). Je ne vais pas le commenter plus que ça dans la mesure où le sens que je peux lui donner est celui qui est évident (typiquement, on comprends assez bien la ligne en 'lxc.rootfs'), mais pour plus de détails je risque fort de ne pas être pertinent. Fichier donné à titre d'exemple uniquement donc.

lxc.include = /usr/share/lxc/config/debian.common.conf
lxc.include = /usr/share/lxc/config/debian.userns.conf
lxc.arch = x86_64
# Container specific configuration
lxc.id_map = u 0 100000 65536  
lxc.id_map = g 0 100000 65536 
# Network configuration
lxc.network.type = veth
lxc.network.link = lxcbr0
lxc.network.flags = up 
lxc.rootfs = /home/sauron/.local/share/lxc/web/rootfs
lxc.rootfs.backend = dir
lxc.utsname = web
# Autostart ; pour le démarrage automatique à la commande 'lxc-autostart' (permet de créer un service qui s'occupera de lancer le scponteneurs au démarrage)
lxc.start.auto = 1
lxc.start.delay = 5
lxc.start.order = 103
#lxc.cgroup.memory.limit_in_bytes = 512M
lxc.cgroup.memory.limit_in_bytes = 1G
lxc.cgroup.memory.memsw.limit_in_bytes = 2G

On notera qu'il est possible de renseigner dans ce fichier une limite imposée au conteneur en RAM, comme montré dans cet exemple (limite à 1G sur la RAM et à 2G sur la RAM+swap). Il n'est en revanche pas possible à ma connaissance de limiter en espace disque; quant au processeur je ne sais pas.

Conteneur pour application graphiques

Si on veut lancer une application graphique dans un conteneur en utilisant un affichage distant (celui du poste où s'exécute le conteneur, ou un autre), c'est comme pour n'importe quel serveur distant. Les paquets qui vont bien à installer sont les suivants:

apt-get install xauth x11-apps dbus dbus-x11

Il suffit ensuite de se connecter en SSH, avec le drapeau '-X' pour récupérer l'affichage:

ssh -X user@ip_conteneur

Pour ma part j'ai eu une erreur. Je vous mets texto ma note du moment; je n'ai plus le détail, mais les mot clé sont là:

erreur sur le 'pam' résolue en mettant 'no' en face de UsePAM (qu'est ce que ceci??)

Conclusion

Je vous ai donné dans ce billet quelques biles pour installer des conteneurs chez vous, en m'inspirant grandement d'un tutoriel existant. La valeur ajoutée de cet article par rapport au dit tutoriel est surtout d'être un peu plus au goût du jour (plus récent) et de faire un retour sur l'installation de LXC, et notamment des quelques soucis que j'ai pu rencontrer et des solutions que je leur ai trouvé. On notera deux grandes limites à ce billet:

Si d'aventure ce billet a un peu de succès (comprendre: si quelque'un arrive au bout et manifeste son intérêt), je tâcherai de rédiger la suite de mon expérience sur le sujet, à savoir: quelques règles de base iptables et utilisation d'un Nginx comme reverse proxy, pour pouvoir servir tout ce petit monde de conteneurs de flux entrant depuis internet.

Gravatar de vhaguer
Original post of vhaguer.Votez pour ce billet sur Planet Libre.

Articles similaires

Jean-Baptiste Holcroft : Parfois, cent pour cent n’est pas suffisant

mardi 13 décembre 2016 à 00:00

La plateforme de traduction Weblate est un outil de grande qualité (lire mon article), et traduite à 100 %, mais cela ne veut pas dire que c’est parfait ! Récit de mes quelques modifications.

Pourquoi suis-je allé y contribuer ?

Le projet YunoHost l’utilise comme plateforme de traduction (qu’ils hébergent eux-mêmes, fidèles à leurs valeurs), mais utilise une version 2.8 dont l’interface est très peu traduite en français. Comme je trouve l’outil d’une grande qualité, j’ai décidé d’aller aider à la traduction de la nouvelle version pour qu’on puisse avoir une plateforme correctement traduite.

En arrivant

J’ai constaté que sur les 1 400 phrases, quelques-unes très récentes étaient à traduire, une fois complétées, j’ai débuté un travail de revue, un peu globale pour chasser ces vilaines apostrophes dactylographiques et les remplacer par des typographiques. L’intérêt n’étant qu’esthétique, j’en profite surtout pour identifier des textes entre apostrophes au lieu de guillemets, et sonder la qualité de la traduction.

Modifications réalisées

Globalement, peu d’erreurs majeures, mais quelques petites corrections nécessaires :

La majorité des changements est visible via ces commits sur le git de Weblate :

En conclusion

Un projet, même traduit à 100 % peuvent bénéficier d’un regard extérieur qui améliorent la cohérence. Merci également à « ldm » de m’avoir interrogé pour comprendre mes modifications et échanger sur la meilleure façon de faire. Je suis très content de voir que quelques personnes veillent sur des projets !

Si vous cherchez, vous trouverez encore des choses à améliorer, ne vous censurez pas ! Ou mieux encore, adoptez votre projet !

Gravatar de Jean-Baptiste Holcroft
Original post of Jean-Baptiste Holcroft.Votez pour ce billet sur Planet Libre.

RaspbianFrance : Publiez un tutoriel chez Raspbian France et gagnez des bons d’achats !

lundi 12 décembre 2016 à 16:20

Vous menez de nombreux projets autour de la Raspberry Pi et vous souhaitez faire profiter le reste de la communauté de votre expérience ? Ça tombe bien, Raspbian France est à la recherche d’articles de qualité, et nous sommes même prêts à vous offrir des bons d’achats de 30€ chez notre partenaire Kubii.fr !

Pourquoi achetons nous des articles, quelles sont les conditions pour écrire un tutoriel, combien sont-ils rémunérés ? Nous allons répondre à toutes ces questions dans cet article !

Pourquoi acheter des articles sur la Raspberry Pi plutôt que de les écrire nous même ?

Raspbian France n’est ni notre seule occupation, ni notre seul projet et nous avons du mal à trouver le temps d’écrire. Quand finalement nous trouvons ce temps, nous sommes limités à certains sujets plutôt qu’à d’autres (typiquement, la domotique et surtout l’électronique nous échappent un peu).

La seule façon pour nous de faire vivre Raspbian France sans abandonner nos autres projets est donc d’ouvrir les portes du site à d’autres auteurs.

En allant chercher des articles de qualité auprès de personnes réellement intéressées par le sujet et qui possèdent une expertise dans leur domaine, nous espérons pouvoir augmenter la fréquence de parution et diversifier les sujets abordés pour pouvoir aider plus de personnes.

Le fait d’offrir à ces auteurs des bons d’achat chez notre partenaire kubii.fr est pour nous une façon de motiver, mais surtout de remercier les auteurs pour le travail qu’ils effectuent pour la communauté et pour nous.

Finalement, l’objectif est de publier plus de contenu, plus régulièrement, sur plus de sujets.

Quelles sont les conditions pour écrire un article sur Raspbian France ?

Si nous souhaitons améliorer la fréquence de publication des tutoriels, nous ne voulons pas que cela impacte de façon négative la qualité de ceux-ci. Par conséquent, nous souhaitons nous assurer que ces tutoriels soient complets, agréables à lire et surtout utiles à de nombreuses personnes.

Pour nous assurer que les tutoriels respecterons ces exigences de qualité, vous devrez veiller à respecter ces quelques règles :

  1. Vous devez être l’auteur du tutoriel (les traductions « telles quelles » de tutoriels anglais, par exemple, ne seront pas acceptées).
  2. Vous ne devez pas avoir déjà publié ce tutoriel sur un autre site.
  3. Il ne doit pas exister de tutoriel traitant déjà du même sujet sur Raspbian France et votre tutoriel doit être susceptible d’intéresser suffisamment de personnes.
  4. Vous devez écrire votre tutoriel dans un français correct et faire attention à votre orthographe.
  5. Votre tutoriel doit donner à l’utilisateur toutes les informations nécessaires pour obtenir un système fonctionnel.

Quelques conseils pour écrire vos tutoriels.

Nous ne publierons que les articles que nous jugeons de bonne qualité.

Afin de faciliter la lecture de votre tutoriel, nous vous conseillons de suivre la construction suivante lors de sa rédaction :

Notez également que chaque commande utilisée doit-être expliquée à l’utilisateur afin qu’il sache pourquoi vous utilisez cette commande et quels sont ses effets.

Dernier point, essayez de découper votre tutoriel par étapes, utilisez des parties et des sous-parties, établissez des transitions, etc.

Comment se déroule l’envoi, la publication et le paiement d’un tutoriel ?

Pour faire simple, nous allons décrire étape par étape le parcours d’un tutoriel depuis son écriture jusqu’à sa publication et son paiement.

Écriture du tutoriel

Avant tout, vous allez devoir écrire votre tutoriel.

Nous vous demandons de nous fournir le tutoriel au format PDF afin que nous puissions l’ouvrir sur toutes nos machines sans difficulté.

Si vous souhaitez utiliser des images dans votre article (et nous vous y encourageons, qu’il s’agisse de schémas explicatifs ou de simples images pour illustrer vos propos), vous pouvez tout simplement les insérer directement au sein de votre traitement de texte.

Si vous n’êtes pas sûr que le sujet de votre tutoriel puisse nous intéresser, n’hésitez pas à nous poser directement la question via notre formulaire de contact.

Proposer votre tutoriel

Une fois que vous avez écrit votre tutoriel, vous allez pouvoir nous le proposer en passant par le formulaire disponible sur cette page.

En nous proposant votre tutoriel, vous acceptez que nous le publions sur le site (potentiellement modifié) et vous le placez sous licence MIT.

Traitement de votre tutoriel

Une fois que vous nous avez envoyé votre tutoriel plusieurs cas peuvent se présenter.

Votre tutoriel n’est pas retenu

Vous serez alors averti assez rapidement par mail et nous vous expliquerons pourquoi nous n’avons pas retenu votre tutoriel.

Selon les raisons qui nous ont poussé à ne pas retenir votre tutoriel, nous pouvons éventuellement discuter ensemble pour que vous modifiez clui-ci afin qu’il corresponde à nos attentes.

Si nous pensons qu’il n’est pas possible de faire correspondre votre tutoriel à nos besoin, désolé, pour vous l’aventure s’arrête ici… Toutefois, rien ne vous empêche de revenir nous proposer un autre tutoriel !

Votre tutoriel est retenu

Si votre tutoriel est retenu, vous serez, là encore, averti assez rapidement par mail.

Une fois votre tutoriel retenu, il ne sera pas publié immédiatement.
Avant sa publication, il est possible que nous modifions votre tutoriel pour qu’il corresponde davantage à nos attentes.

Dans un premier temps nous attendrons probablement d’avoir quelques tutoriels disponibles avant des les publier.

Publication de votre tutoriel

Une fois que nous avons choisi une date et que nous sommes prêts à faire paraître votre tutoriel, nous le publions sur Raspbian France (au passage, nous vous envoyons un petit mail pour vous avertir).

Lors de la publication sur Raspbian France, nous indiquerons que cet article est un article invité et, uniquement si vous le souhaitez, votre nom et prénom ou votre pseudo.

Paiement de votre tutoriel

Si votre article est publié, vous gagnerez alors un bon d’achat de 30€ chez notre partenaire kubii.fr.

L’idée ici n’est pas de rémunérer un auteur professionnel, mais plutôt de motiver, de remercier et d’encourager, des passionnés pour le temps qu’ils ont consacré à partager leurs connaissances avec les autres.

Nous aurions souhaité pouvoir rémunérer davantage les auteurs mais Raspbian France ne dispose pas de gros budgets, et chaque fois que nous offrons à un auteur un bon d’achat de 30€, nous devons dans un premier temps les sortir de notre poche et espérer que nous pourrons par la suite les retrouver sur la durée.

Il ne vous reste plus qu’à écrire !

Désormais, vous savez tout sur l’achat de tutoriel et les raisons qui nous ont amenés à choisir cette solution.

Si vous êtes intéressé, il ne vous reste plus qu’à écrire votre tutoriel et à nous le proposer en passant par le formulaire dédié.

N’hésitez pas à utiliser les commentaires ci-dessous pour nous dire ce que vous en pensez ou pour nous demander des précisions, et n’hésitez pas non plus à relayer l’information autour de vous, sur les réseaux sociaux, sur vos sites, à vos amis, etc.. Plus nous aurons d’auteurs, plus nous pourrons trouver de tutoriels intéressants et utiles à la communauté !

Cet article Publiez un tutoriel chez Raspbian France et gagnez des bons d’achats ! est apparu en premier sur Raspbian-France.

Gravatar de RaspbianFrance
Original post of RaspbianFrance.Votez pour ce billet sur Planet Libre.

genma : Pourquoi Yunohost crée des comptes automatiquement ?

lundi 12 décembre 2016 à 09:00

C'est dans le cadre de mon projet que j'évoque dans mon billet Lifehacking - Wallabag, Liseuse et fainéantise : mon projet. Billet N°1 que je me suis posé la question de pourquoi Yunohost créé des comptes automatiquement pour certaines applications (à l'installation de celle-ci).

Je n'ai pas encore creuser le côté technique (mais ça viendra), voici ce que je sais et ai compris :
- Yunohost dispose d'un SSO ce qui permet d'avoir un seul identifiant/mot de passe (un seul compte) qui permette une fois connecté à Yunohost d'utiliser différentes applications sans avoir à se connecter sur chacune d'elles ;
- Il faut que les applications gèrent l'authentification HTTP et la création automatique de compte (ou les comptes LDAP).

Par conséquence toutes les applications ne peuvent / ne pourront pas être gérées par le même utilisateur et il faut pour certaines, créer un compte dédié (ex : Sonerezh). Pour les autres, comme Wallabag, un utilisateur et un mot de passe sont créés à l'installation de l'application packagée pour Yunohost et un lien est fait entre l'utilisateur Yunohost et l'utilisateur spécifiquement créé pour Wallabag.

Gravatar de genma
Original post of genma.Votez pour ce billet sur Planet Libre.