Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
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