Forum de la C-P-F

Version complète: Gestionnaire de login
Vous regardez actuellement la version basse qualité d'un document. Voir la version complète avec le bon formatage.
bien vu la station... il y a le SSH qui est ajouté dans ma version locale...
Pour le port, il peut effectivement être intéressant, surtout si on ajoute dans la liste des serveurs les mails (donc le port pop/imap/ssl)
Bon, voila que j'approche d'un résultat XML qui commence à ressembler à quelque chose.
Code XML :
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE logins SYSTEM logins.dtd>
<logins>
   <site>
      <name>Nom du site</name>
      <url>http://www.domain.com</url>
      <access type="ftp">
         <server>127.0.0.1</server>
         <login>moi</login>
         <pass>password</pass>
      </access>
      <access type="database">
         <server>localhost</server>
         <login>moi</login>
         <pass>password</pass>
         <more><![CDATA[base name]]></more>
         <more><![CDATA[some comments]]></more>
      </access>
      <access type="web">
         <server port="80">http://www.domain.com</server>
         <login>moi</login>
         <pass>password</pass>
      </access>
   </site>
   <site>
      <name>Nom du site 2</name>
      <url>http://www.domain.com</url>
      <access type="ftp">
         <server>127.0.0.1</server>
         <login>moi</login>
         <pass>password</pass>
         <more><![CDATA[my mores here]]></more>
      </access>
      <access type="database">
         <server>localhost</server>
         <login>moi</login>
         <pass>password</pass>
         <more><![CDATA[mybase]]></more>
      </access>
      <access type="web">
         <server>http://www.domain.com</server>
         <login>moi</login>
         <pass>password</pass>
      </access>
   </site>
   <site>
      <name>Accès SSH</name>
      <url>http://www.myssh.com</url>
      <access type="ssh">
         <server port="22">192.168.0.1</server>
         <login>nobody</login>
         <pass>mypass</pass>
      </access>
   </site>
   <site>
      <name>Accès mail</name>
      <url>http://webmail.domain.com</url>
      <access type="mail">
         <server port="110">mail.domain.com</server>
         <login>nobody@domain.com</login>
         <pass>mypass</pass>
         <more><![CDATA[my email account]]></more>
      </access>
   </site>
</logins>


Et la DTD est fort jolie aussi, en plus elle est commentée.
Code XML :
<?xml version="1.0" encoding="ISO-8859-1"?>
<!ELEMENT logins (site+)>
<!-- La racine, contient au moins un éléement de type "site" -->
<!ELEMENT site (name, url, access+)>
<!-- L'élément "site" contient les éléments "url", "name" et au moins un élément "access" -->
<!ELEMENT name (#PCDATA)>
<!ELEMENT url (#PCDATA)>
<!ELEMENT access (server, login, pass, more*)>
<!-- L'élément access contient un élément "server", un élément "login", un élément "pass" et peu contenir un ou des éléments "more" -->
<!ATTLIST access
   type (web | ftp | database | ssh | mail) #REQUIRED
>
<!-- L'élément "access" doit contenir un attribut de la liste donnée -->
<!ELEMENT server (#PCDATA)>
<!ATTLIST server
   port CDATA #IMPLIED
>
<!-- L'élément "server" peut contenir un attribut "port" -->
<!ELEMENT login (#PCDATA)>
<!ELEMENT pass (#PCDATA)>
<!ELEMENT more (#PCDATA)>


Nota: je retravaillerais le template GeSHi pour les XML pour refaire la mise en couleur.
Je me suis amusé à créer un .xml et un .xsl pour effectuer la transformation, le résultat est assez sympa: http://www.c-p-f.org/sources/login.xml

Le code du .xsl:
Code XSL :
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
    <body>
        <h2>Gestion de mots de passe</h2>
        <table witdh="80%" border="1">
        <xsl:for-each select="logins/site">
            <tr>
                <th colspan="6"><xsl:value-of select="name" /> (<a href="{url}"><xsl:value-of select="url" /></a>)</th>
            </tr>
            <tr>
                <th>Type</th>
                <th>Adresse:port</th>
                <th>Login</th>
                <th>Password</th>
                <th>Commentaires</th>
            </tr>
            <xsl:for-each select="access">
                <tr>
                    <td><img src="./images/{@type}.gif" alt="{@type}" /></td>
                    <td><xsl:value-of select="server" />
                    <xsl:if test="./server/@port!=''">:<xsl:value-of select="./server/@port" /></xsl:if></td>
                    <td><xsl:value-of select="login" /></td>
                    <td><xsl:value-of select="pass" /></td>
                    <td><xsl:value-of select="more" /></td>
                </tr>
            </xsl:for-each>
        </xsl:for-each>
        </table>
    </body>
</html>
</xsl:template>
</xsl:stylesheet>
Pages: 1 2
URLs de référence