Projets en cours - eole.ac-dijon.fr

Post on 24-Jun-2022

1 views 0 download

Transcript of Projets en cours - eole.ac-dijon.fr

Projets en cours

Emmanuel Garette, Lionel Morin, William Petit, Gwenaël Rémond

Pôle Logiciels Libres - Eole

J-EOLE 2017cc by-sa 4.0

Les nouveaux développements EOLE

EWT = EOLE Web ToolsEAD3 (interface d’administration des modules EOLE)Nouveau Zéphir

Plan :Présentation des fonctionnalitésPrésentation techniqueDémo Action DHCP

1 / 68

Objectifs de l’EAD3

Rafraîchir l’interface vieillissante de l’EAD2 (2005)

Visuel de l’EAD2

Continuer la refonte de l’EAD commencée avec EOP et EOE

2 / 68

Principe et fonctionnalités des actions EAD3

Disponible sur EOLE 2.6.1Activer EAD3 : CreoleSet activer_ead3 ouiAccès par l’URL : https : // < WEB_URL > /ead/PortailActions de baseActions spécifiques

3 / 68

Prévision de disponibilité des actions

EOLE 2.6.1 EOLE 2.6.2 Versions suivantes

Gestion des mises à jourReconfigure-Redémarrage-ArrêtGestion des servicesTâches planifiéesGestion de la sauvegarde

Gestion du DHCPQuotas sur SethACL sur Seth

Gestion des imprimantes et des tâches d’impressionRapport de téléchargement liste des sites interditsRoutage mail SeshatExécution de script administratif HorusImportation de compteListing matérielOuverture de port à la voléeInterface web CUPS

4 / 68

Écran de connexion

5 / 68

Familles d’actions

6 / 68

Actions dans une famille

7 / 68

Recherche

8 / 68

Étiquettes

9 / 68

Marque-Pages

10 / 68

Les différents types d’actions

Actions génériquesActions personnalisées

11 / 68

Action générique de type Formulaire

12 / 68

Action générique de type Fichier

13 / 68

Action générique de type Application externe

14 / 68

Futur

Actions restantesGestion des utilisateurs (authentification, rôles)EAD ÉtablissementMultiportail

15 / 68

Plan

8 Présentation technique d’EWT

9 Ajouter une action dans l’EAD3

10 Modifier une action EAD3 existante

11 Exécuter les actions SaltStack à la main

16 / 68

Le portail EWT

17 / 68

Creole

Creole : le moteur d’EOLEgénère l’interface via des dictionnaires Creole

liste des famillesdescription des actionsaction de type formulaire : construit l’interface

met en place les éléments SaltStack

18 / 68

Le portail EWT

19 / 68

L’exécuteur de commandes SaltStack

logiciel libre (licence Apache) de gestion des serveursavantage :

langage connu (python) : réutilisation de code plus facileAPI claire, stable et documentée

vocabulaire :les « modules d’exécution » : permet d’exécuter un ensemble decommandesles « états » : met le service dans un état déterminé (configuration,démarrage, ...)les « pillars » : variables de configuration

dans EWT :gestion de l’authentification et des profilstransfert d’informations entre le système et l’interface utilisateurgestion de l’exécution des commandes

20 / 68

Le portail EWT

21 / 68

Le portail

écrit avec la bibliothèque libre (licence BSD) polymercréer rapidement des applications web à l’aide de composants webutilise le design Materialbasé sur polymer-element-cataloginitié durant le Hackathon 2016modifié et maintenu par nos soins

22 / 68

Le portail EWT

23 / 68

Les actions

écrites principalement en polymerapplications web autonomesencapsulées dans des iframesinteragissent avec le portail via des composants spécifiques

24 / 68

Plan

8 Présentation technique d’EWT

9 Ajouter une action dans l’EAD3

10 Modifier une action EAD3 existante

11 Exécuter les actions SaltStack à la main

25 / 68

Créer une nouvelle action

Créer un sous-répertoire dans /usr/share/eole/creole/extra/le nom du répertoire correspond au nom de l’actioncréer un fichier 00_action.xmlstock d’icône : /usr/share/ewt/static/images/icons/appliqué au reconfigureles exemples suivants fonctionnent sur 2.6.2

26 / 68

Une nouvelle famille d’action

test1/00_action.xml :

<?xml v e r s i o n=” 1.0 ” encoding=”utf−8” ?>

<c r e o l e><fami ly_act ion name=”NomFamille”

d e s c r i p t i o n=”Je d é c r i s i c i ma f a m i l l e ”c o l o r=”#CC5500”image=” icons /input−gaming . svg ”>

</ fami ly_act ion></ c r e o l e>

27 / 68

La nouvelle famille

28 / 68

Action de type reader

action générique de type ’lecture de fichier’permet d’afficher le contenu d’un fichier dans une actionéviter les gros fichiersnécessite une famille ”options” avec :

le nom du fichierle type de colorisation

29 / 68

Action de type readertest1/00_action.xml :

<?xml v e r s i o n=” 1.0 ” encoding=”utf−8” ?>

<c r e o l e><fami ly_act ion name=”NomFamille”>

<act ion type=” reader ”t i t l e=”Un f i c h i e r ”d e s c r i p t i o n=” Af f i che l e contenu d ’ un f i c h i e r ”image=” icons / ed i t− f ind . svg ”>

<p r o f i l e>ead_admin</ p r o f i l e><ewtapp>ead</ewtapp><tag>t e s t</tag>

</ act ion></ fami ly_act ion><v a r i a b l e s>

<fami l y name=” opt ions ”d e s c r i p t i o n=”Journaux c o u r r i e l ”>

<v a r i a b l e name=” f i l ename ”type=” f i l ename ”><value>/ var / log / mai l . log</ va lue></ v a r i a b l e>

<v a r i a b l e name=” language ”type=” s t r i n g ”><value>pro log</ va lue></ v a r i a b l e>

</ fami l y></ v a r i a b l e s>

</ c r e o l e>30 / 68

La nouvelle action de type reader

31 / 68

La nouvelle action de type reader

32 / 68

Action de type Apache

action générique affichant une application web distribuée par l’Apachelocalajout d’un attribut apache_path avec son alias

33 / 68

Action de type Apache

test2/00_action.xml :

<?xml v e r s i o n=” 1.0 ” encoding=”utf−8” ?>

<c r e o l e><fami ly_act ion name=”NomFamille”>

<act ion type=”apache”t i t l e=”Un Apache”d e s c r i p t i o n=” Af f i che l e s i t e a p p l i c a t i o n ”image=” icons / internet−web−browser . svg ”apache_path=” a p p l i c a t i o n ”>

<p r o f i l e>ead_admin</ p r o f i l e><ewtapp>ead</ewtapp><tag>t e s t</tag>

</ act ion></ fami ly_act ion>

</ c r e o l e>

34 / 68

La nouvelle action de type Apache

35 / 68

La nouvelle action de type Apache

36 / 68

Action de type formulaire

action générique de type formulaireaffiche un formulaire simple avec les variables définies dans undictionnairesous ensemble de Creoledéfinit le contenu du bouton avec la balise inputquand on valide, envoie les champs modifiés par l’utilisateurpermet de lancer une action SLS

37 / 68

Action de type formulairetest3/00_action.xml :

<?xml v e r s i o n=” 1.0 ” encoding=”utf−8” ?>

<c r e o l e><fami ly_act ion name=”NomFamille”>

<act ion type=”form”t i t l e=”Un fo rmu l a i r e ”d e s c r i p t i o n=” Af f i che l e f o rmu l a i r e de c r é a t i o n d ’ un

r é p e r t o i r e ”image=” icons / f o l d e r . svg ”>

<input>Je veux mon r é p e r t o i r e !</ input><p r o f i l e>ead_admin</ p r o f i l e><ewtapp>ead</ewtapp><tag>t e s t</tag>

</ act ion></ fami ly_act ion><v a r i a b l e s>

<fami l y name=’Mon fo rmu l a i r e ’><v a r i a b l e d e s c r i p t i o n=”Nom du r é p e r t o i r e a c r é e r ”

type=” s t r i n g ” name=” directory_name ”/></ fami l y>

</ v a r i a b l e s></ c r e o l e>

38 / 68

La nouvelle action de type formulaire

39 / 68

La nouvelle action de type formulaire

40 / 68

La nouvelle action de type formulaire

SaLt State file (SLS), fichier des états (YAML templatisé en Jinja)pour les SLS, créer un sous répertoire test3/sls/test3/sls/init.sls :

mkdir :f i l e . d i r e c to ry :− user : root− group : root− dir_mode : 755− fi le_mode : 644− name : {{

s a l t [ ’ p i l l a r . get ’ ] ( ’ t e s t3 . mon_formulaire . directory_name ’ ,’ ead ’ ) }}

41 / 68

La nouvelle action de type formulaire

42 / 68

La nouvelle action de type formulaire

43 / 68

Action de type external

action générique de type URL externeattribut urlne fonctionne pas avec tous les sites

44 / 68

Action de type external

test4/00_action.xml :

<?xml v e r s i o n=” 1.0 ” encoding=”utf−8” ?>

<c r e o l e><fami ly_act ion name=”NomFamille”>

<act ion type=” e x t e r n a l ”t i t l e=”Un s i t e ”d e s c r i p t i o n=” Af f i che l e contenu d ’ un s i t e exte rne ”image=” icons / network−wire less . svg ”u r l=” https : //www. w ik iped ia . org/”>

<p r o f i l e>ead_admin</ p r o f i l e><ewtapp>ead</ewtapp><tag>t e s t</tag>

</ act ion></ fami ly_act ion>

</ c r e o l e>

45 / 68

La nouvelle action de type external

46 / 68

La nouvelle action de type external

47 / 68

Action de type custom

action personnaliséec’est à vous de construire l’interface que vous désirezles pages HTML sont à placer dans test5/custom/il faut définir vos fichiers SLS et éventuellement vos propres modulesSaltStack

48 / 68

Action de type custom

test5/00_action.xml :

<c r e o l e><fami ly_act ion name=”NomFamille”>

<act ion type=”custom”t i t l e=”Mon act ion ”d e s c r i p t i o n=”J ’ a i l a p lus b e l l e ac t ion !”image=” icons /software−update−urgent . svg ”><p r o f i l e>ead_admin</ p r o f i l e><ewtapp>ead</ewtapp><tag>t e s t</tag>

</ act ion></ fami ly_act ion>

</ c r e o l e>

49 / 68

Action de type custom

test5/custom/index.html :

<!DOCTYPE html><html lang=”en”><head><meta char se t=”utf−8”><t i t l e>Mon a p p l i c a t i o n</ t i t l e>

</head><body>

Ma première act ion custom ! !</body>

</html>

50 / 68

La nouvelle action de type custom

51 / 68

La nouvelle action de type custom

52 / 68

Plan

8 Présentation technique d’EWT

9 Ajouter une action dans l’EAD3

10 Modifier une action EAD3 existante

11 Exécuter les actions SaltStack à la main

53 / 68

Redéfinir un formulaire

action existante mais dont le formulaire ne vous convient pas

54 / 68

Redéfinir un formulaire : l’action Sauvegarde

55 / 68

Redéfinir un formulaire : modifier une variable existante

bareos/01_modif.xml :

<c r e o l e><v a r i a b l e s>

<fami l y name=’ mai l ’><v a r i a b l e name=’ mail_ok ’ r e d e f i n e=”True”>

<value>egaret te@cado les . com</ va lue></ v a r i a b l e><v a r i a b l e name=’ mai l_er ror ’ r e d e f i n e=”True”>

<value>egaret te@cado les . com</ va lue></ v a r i a b l e>

</ fami l y></ v a r i a b l e s>

</ c r e o l e>

56 / 68

Redéfinir un formulaire : modifier une variable existante

57 / 68

Redéfinir un formulaire : ajout d’une variable et d’unecontrainte<c r e o l e>

<v a r i a b l e s><fami l y name=” support ”>

<v a r i a b l e name=’ mail_aca ’ d e s c r i p t i o n=” Conf igurat ionc o u r r i e l académique” type=” oui /non”/>

</ fami l y><fami l y name=’ mai l ’>

<v a r i a b l e name=’ mail_ok ’ r e d e f i n e=”True”><value>egaret te@cado les . com</ va lue>

</ v a r i a b l e><v a r i a b l e name=’ mai l_er ror ’ r e d e f i n e=”True”>

<value>egaret te@cado les . com</ va lue></ v a r i a b l e>

</ fami l y></ v a r i a b l e s><c o n s t r a i n t s>

<cond i t i on name=’ f rozen_ i f_ in ’source=’ bareos . support . mail_aca ’>

<param>oui</param><targe t type=’ fami l y ’>bareos . mai l</ ta rge t>

</ cond i t i on></ c o n s t r a i n t s>

</ c r e o l e>

58 / 68

Redéfinir un formulaire : ajout d’une variable et d’unecontrainte

59 / 68

Redéfinir un formulaire : ajout d’une variable et d’unecontrainte

60 / 68

Personnalisation d’un SLS

les fichiers SLS de EOLE sont dans un sous répertoire spécifique :sls/eole/le fichier init.sls contient la liste des sous SLS exécutésles actions sont décrites dans des SLS séparésles SLS personnalisés sont à mettre dans sls/copier le fichier sls/eole/init.sls dans sls/init.slsmodifier le fichier en conséquence (suppression, ajout, changementd’ordre, ...)

61 / 68

Personnalisation d’un SLS/etc/salt/minion.d/smtp.conf :smtp_admin :

smtp . se rver : l o c a l h o s tsmtp . t l s : f a l s esmtp . sender : fromuser@ac−test . f r

reconfigure/sls/send.sls :server−warning−message :

smtp . send_msg :− name : ’Un r e c o n f i g u r e a ete programme sur l e s e r veu r ’− subject : ’ Reconf igure programme ! ’− p r o f i l e : smtp_admin− r e c i p i e n t : egaret te@cado les . com− sender : fromuser@ac−test . f r

reconfigure/sls/init.sls :inc lude :− r e c o n f i g u r e . run− r e c o n f i g u r e . send

62 / 68

Personnalisation : complémentspossibilité de redéfinir un SLS existant<action>/sls/eole/mkdir.sls :

mkdir :f i l e . d i r e c to ry :− name : /tmp/ s t u f f / subs tu f− user : eo l e− group : adm− fi le_mode : 744− dir_mode : 755

<action>/sls/mkdir.sls :inc lude :

− eo l e /mkdirextend :

mkdir :f i l e . d i r e c to ry :− user : eo l e

personnalisation des modules faciles63 / 68

Plan

8 Présentation technique d’EWT

9 Ajouter une action dans l’EAD3

10 Modifier une action EAD3 existante

11 Exécuter les actions SaltStack à la main

64 / 68

Exécuter un action SaltStack à la main

tout ce qu’on peut lancer depuis l’interface peut l’être via lacommande saltexemple : salt ”local” ead.manageservices_manage_serviceaction_type=”restart” service_name=”spamassassin”retrouve les informations dans le navigateur web

65 / 68

Exécuter un action SaltStack à la main

66 / 68

Remerciements

Je remercie la communauté du logiciel libre pour tous ces merveilleuxlogiciels sans lesquels si peu de choses existeraient.

Cette présentation a été réalisée grâce aux logiciels libres suivants :

Le système de composition LATEX TeX LiveL’éditeur de texte VimL’environnement graphique GnomeLe système d’exploitation Fedora

67 / 68

Licence

Cette présentation est mise à disposition sous licenceCreative Commons by-sa 4.0

Attribution Partage dans les mêmes conditions

Vous pouvez obtenir une copie de la licence

par Internethttp://creativecommons.org/licenses/by-sa/4.0

par courrier postalCreative Commons444 Castro Street, Suite 900 Mountain View,California, 94041, USA.

68 / 68