Menu V2 : V2: general - l'API Web-AlternD - Les specs logicielles - Template et Bureau - Les specs, v2

Liste des modules de l'API AlternD

  • Core : Noyau central
    • list - liste des modules disponibles
    • enable - activation d'un module
    • disable - desactivation
  • ClusterManager? : Gere les configs multiserveur.
    • server_list - Liste les serveurs installes et leurs modules
    • server_add - Ajoute un serveur (ses modules installes sont autodetectes)
    • birdy, des idees ?

Required modules on the Core

  • Accounts
    • add
    • list
    • del
    • edit
  • Quotas
    • get - retourne le nombre maxi de services donne
    • set - fixe le nombre maxi de services donne

Common functions

[obligatoirement propose par toute classe]

  • export - exporte la config du service sous forme d'une chaine formattee (norme a definir)
  • import - recree les services depuis une chaine formattee (norme a definir)
  • classname - nom du module (permet l'introspection)
  • classtype - type fonctionnel ("dns" pour la classe bind, "http" pour la classe apache etc.)

Modules (facultatifs)

  • DNS : Gestion de serveur DNS (ex: bind, mydns)
    • list - liste les zones autoritaires d'un compte
    • add - cree une zone autoritaire sur un compte
    • del - detruit une zone autoritaire sur un compte
    • list_rr - liste les enregistrements d'une zone (A, MX, CNAME, ...)
    • add_rr - ajoute un enregistrement a une zone
    • del_rr - efface un enregistrement d'une zone > note : on pourra utiliser nsupdate pour add/del_rr ca evite un reload de bind ;)
  • HTTP : Gestion des vhost HTTP (ex: apache2, apache2-superpatch)
    • add - Cree un vhost (param de base = ServerName? et Compte AlternC)
    • del - Supprime un vhost
    • edit - Modifie des parametres d'un vhost > anarcat : on devrait permettre de mettre de la conf arbitraire (php_admin machin, Limit, etc) > benjamin : pas vraiment, vu que cela permet par ex php_admin_flag safe_mode off ... (ou alors accessible a admin only) > on filtre. je crois qu'il y a de l'espace pour laisser plus de jeu ici
  • E-Mails : Gestions des comptes mails (ex: courier, cyrus)
    • add - Cree un compte pop ou un alias
    • edit - Modifie les parametres d'un email
    • del - Detruit un email.
    • list - Obtiens la liste des emails d'un compte.
  • Statistiques web (ex: awstats, webalizer)
    • add - Cree un jeu de stats
    • edit - Modifie les parametres du jeu de stat (autorisations, archivage, etc.)
    • del - Efface le jeu de stats et purge ses donnees
    • adduser - Ajoute un compte utilisateur > Note : ici on risque d'avoir des probleme de correspondances de fonctionnalites ... phpmyvisite / awstat / webalizer & co sont tres differents

  • Ftp : comptes ftp (ex: proftpd)
    • add - cree un compte ftp
    • del - supprime un ou des compte ftp
    • edit - met a jour le compte ftp ( mot de passe, repertoire /, RO ou RW)
  • Mailing-Lists (ex: mailman, sympa)
    • add - ajoute une mailing list
    • del - supprime une ou des mailing list
    • edit - modifie les parametres de base de la mailing list
    • subscribe - abonne un/plusieurs emails
    • unsubscribe - desabonne un/plusieurs emails
  • DB (ex: mysql, postgresql, firebird)
    • add - Cree une base de donnees utilisateur
    • del - Droppe une base de donnees utilisateur
    • user_add - Ajoute un compte d'acces aux db.
    • user_del - Supprime un compte d'acces aux db.
    • user_right - Modifie les droits pour l'utilisateur des bases
    • user_right_enum - Retourne la liste des droits affectable a un utilisateur

> car la liste des droits varie d'un sgbd a un autre ...

  • Jabber (ex: ejabberd)
    • add_vhost - Cree un domaine virtuel dans jabber
    • del_vhost - Supprime un vhost et tous ses comptes
    • add - Cree un compte jabber sur un vhost
    • edit - Modifie les parametres d'un compte
    • del - Supprime un compte

TODO

  • pour chaque fonction de chaque module, preciser ses parametres, leurs types,

la valeur (ou les valeurs) retournees et les codes d'erreur possibles (string + integer)