Couac
Documentation

Table des matières

Introduction

Couac, késako ???

Couac est une application web. Une appli web est un programme qui s'exécute directement dans un navigateur, Firefox par exemple, et vous permet d'effectuer des traitements sans installer de logiciel sur votre poste. L'exemple le plus connu d'appli web est le webmail, qui vous permet de lire vos messages de n'importe où, sans installer aucun logiciel, simplement en vous connectant sur un site.

Couac est une sorte de webmail, mais pas uniquement. Il offre aujourd'hui 3 fonctions : un webmail, un client de messagerie instantanée Jabber, pour discuter en direct avec vos contacts, et un client pour la base de données MySQL.
Couac ne nécessite aucune installation: il suffit pour l'utiliser de se connecter avec votre navigateur sur un serveur.

Couac ne fonctionne qu'avec Firefox et les navigateurs utilisant les technologies de la fondation Mozilla, basés sur le moteur Gecko et XUL.
Il exploite certaines caractéristiques propres à ces navigateurs, en particuliers:

  • une interface riche, avec des arbres, des menus, etc. C'est un peu comme si vous lanciez Thunderbird à l'intérieur de votre navigateur.
  • des possibilités basiques de travailler en étant déconnecté. Par exemple, les mails que vous consultez sont stockés localement sur votre ordinateur. Cela accélère la navigation (on ne charge les données depuis le serveur qu'une seule fois) et permet d'effectuer certaines actions même si votre ordinateur est temporairement déconnecté du réseau.

Couac est un logiciel libre, c'est à dire que si vous disposez d'un serveur, vous pouvez l'installer dessus librement et l'utiliser pour consulter vos mails et discuter sur Jabber depuis n'importe où. Couac est un logiciel libre, c'est à dire que vous pouvez étudier son fonctionnement interne et, si vous possédez quelques connaissances en programmation, pouvez modifier ce fonctionnement pour l'adapter à vos besoin, pour l'améliorer... Vous pourrez ensuite librement utiliser et redistribuer votre version modifiée de Couac.

Fonctionalités

(Liste pas forcément exhaustive)

Jabber

  • conversation
  • ajout de contact, gestion des demande de souscription
  • gestion basique des salons de conférence (rejoindre un salon et y participer)
  • conserve l'historique des conversations et permet de l'exporter

Mail

  • affichage des messages
  • lecture des messages et de leurs pièces jointes
  • les messages lus sont enregistrés localement pour être consultables même hors connection
  • filtrage multicritère des messages, en fonction de l'expéditeur ou du sujet par exemple
  • tri des messages
  • copie et déplacement de messages
  • création et suppression des dossiers
  • envoi de messages avec sélection des destinataires dans la liste des personnes qui vous ont envoyé des messages
  • possibilité d'ajouter des pièces jointes aux messages envoyés
  • enregistrement local de brouillons

SQL

  • affiche le détail des bases de données
  • affiche le détail des tables : colonnes, indexes, etc
  • permet d'exécuter des requêtes et d'afficher leur résultat
  • conserve un historique des requêtes
  • fonction basique d'insertion d'enregistrements

Quelques considérations sur la sécurité

Données enregistrées localement

Pour enregistrer les comptes sur votre PC afin de les récupérer à chaque reconnection, Couac utilise une fonctionnalité spécifique à Firefox 2, nommée globalStorage. Il est important de connaître certaines de ses caractéristiques:
  • physiquement, les données sont stockées sur le disque de l'ordinateur, dans le répertoire où se trouve le profil Firefox. Quiconque a accès à ce répertoire peut les lire, elles ne sont pas chiffrées. Ces données peuvent être les paramêtres de connection à votre compte, dont le mot de passe si vous l'avez enregistré, l'historique de vos conversations Jabber, vos mails, etc...
  • les données sont accessibles par toutes les pages web du serveur distant. Si par exemple la version de Couac que vous utilisez est à l'adresse http://www.toto.org/couac/client.xul, toutes les pages du domaine www.toto.org auxquelles vous accéderez pourront lire vos données. C'est potentiellement dangereux !
  • Firefox 2 ne fournit pas d'interface pour gérer ce stockage local (l'autoriser ou l'interdire, le vider, etc). Il est apparemment lié pour l'instant aux cookies, c'est à dire que:
    • pour que le stockage local fonctionne, vous devez autoriser totalement les cookies pour le domaine sur lequel vous utilisez Couac. Attention, si vous ne les autorisez que pour la session, ou choisissez l'option "me demander à chaque fois" (pour ce domaine), le stockage local ne fonctionnera pas.
    • chaque fois que vous effacerez les cookies, vous perdrez tous les données stockées localement.
  • Couac enregistre automatiquement les comptes à leur création et à intervalles réguliers. C'est à dire qu'à partir du moment où vous créez un compte, il commence à stocker des données sur le PC. Par exemple l'historique de vos conversations Jabber ou vos mails. Pour éviter ce comportement, vous devez désactiver l'enregistrement local des comptes dans les préférences.

Echanges

  • pour éviter que des données ne circulent "en clair" sur le réseau entre votre ordinateur et le serveur où s'exécute Couac, il est fortement recommandé d'accéder à celui-ci au moyen d'une connection sécurisée (https).
  • les échanges entre le client et le serveur peuvent se faire en utilisant les 2 méthodes classiques du protocoles HTTP, GET et POST. Dans le premier cas, toutes les infos envoyées au serveur, les mots de passe par exemple, figurent dans l'url appelée, et donc sont susceptibles d'être conservées par exemple dans les logs du serveur. C'est possible également en POST, mais moins probable. Il est donc conseillé d'utiliser plutôt la méthode GET (réglable via les préférences)
  • la sécurité des communications entre le serveur Couac et les autres serveurs qu'il interroge n'est pas garantie ! Elle dépend de nombreux paramètres : protocoles, capacité des serveurs, etc.

Documentation utilisateur

NB: toutes les durées sont exprimées en millisecondes

Usage

Couac vous permet de vous connecter simultanément à autant de serveurs Jabber, mail et de bases de données que vous voulez. Il suffit de créer localement les comptes.

Jabber

Créer un compte

Pour utiliser le client Jaber, vous devez d'abord créer un compte dans Couac, puis vous connecter au serveur. Vous devez au préalable posséder un compte Jabber sur un serveur. Dans le menu "Fichiers", choisissez "Ajouter un compte Jabber" et renseignez les informations de votre compte: nom d'utilisateur, nom du serveur, et, dans le champs Resource, un nom pour identifier cette connection par exemple "Couac". Une fois le compte enregistré, il apparaît à gauche dans la liste des comptes. Pour vous connecter, faites un clic-droit dessus, option "Connecter", et saisissez votre mot de passe.

Mail

Pour vous connecter à un compte mail, choisissez "Ajouter un compte mail" dans le menu "Fichiers" et renseignez les informations demandées. Une fois le compte créé, vous pouvez modifier certaines de ses caractéristiques en faisant un clic-droit dessus dans l'arborescence des comptes et en sélectionnant "Modifier le compte".

Vous ne pourrez modifier certaines caractéristiques du compte qu'après vous être connecté une première fois. En effet, les dossiers sur le serveur où stocker les messages envoyés, les brouillons, etc, nécessitent de récupérer la liste des dossiers disponibles.

SQL

A faire...

Description de l'interface

Fenêtre principale

La fenêtre principale se décompose en 2 zones:

  • la partie gauche présente une liste des comptes définis.
  • à droite on trouve une série d'onglets
    • mail : cet onglet contient lui-même plusieurs onglets:
      • la liste des messages du compte en cours (attention, pour des raisons de performance par défaut on ne récupère pas tous les messages mais uniquement les n derniers, n étant fixé dans les préférences du compte). Faudrait-il prévoir autant d'onglets que de comptes connectés ? mélanger dans la liste les messages de tous les comptes connectés ? A voir.
      • la liste des messages locaux, c'est à dire des brouillons de mail et des messages en attente d'envoi.
      • le carnet d'adresse
    • sql
    • chaque conversation jabber s'ouvrira dans un nouvel onglet
  • il est possible d'utiliser un affichage alterné, vertical, avec la liste des comptes au dessus des onglets. Cela permet par exemple d'ouvrir Couac dans un panneau latéral dans Firefox (avec l'extension All-in-One Sidebar)

Les menus

  • Fichier
    Ajouter un compte mail
    Ajouter un compte jabber
    Enregistrer les comptes
    Exporter l'historique Jabber
    Tout connecter
    Tout déconnecter
    Force offline
    Cancel all waiting requests
  • Edition
    Préférences
    pour modifier les préférences de l'application
  • Affichage
    Afficher le debug
    Alterner l'affichage
    Verrouiller l'écran
    Messages
    Contrôle la façon dont est affiché le corps des mails:
    • monospace : en utilisant une police à chasse fixe
    • brut : à priori le meilleur compromis
    • afficher le corps en texte
    • afficher le corps en HTML
    • afficher les entêtes détaillés
  • Aide
    Aide
    A propos
    Documentation
    cette documentation

Paramètres des comptes

Jabber
Utilisateur
/
Mot de passe
/
Serveur
/
Port
facultatif, 5222 par défaut
Resource
Délai entre 2 requêtes
interroge le serveur toutes les n millisecondes pour voir s'il y a de nouveaux messages à afficher.
Mail
NB: Un certain nombre de propriétés ne sont modifiables qu'après une première connection réussie au serveur. Cette connection va permettre de récupérer la liste des dossiers disponibles.
Utilisateur
/
Mot de passe
/
Serveur
/
Type de serveur
Port
facultatif
Délai entre 2 requêtes
interroge le serveur toutes les n millisecondes pour voir s'il y a de nouveaux messages à afficher.
Nombre de message à lire
0 pour lire tous les messages. S'il y a de trop nombreux messages, le serveur risque de mettre trop longtemp à répondre, on modifiera alors cette propriété pour ne demander par exemple que les 100 derniers messages
Boîte par défaut
boîte affichée à la connection
Messages envoyés
dossier où stocker les messages envoyés
Brouillons
non utilisé pour l'instant
Corbeille
dossier ou déplacer les messages supprimés
Nom
nom de l'expéditeur
Adresse
adresse mail de l'expéditeur des messages de ce compte
Signature
signature des messages de ce compte

Options

Préférences

Enregistrement des comptes
les comptes sont enregistrés automatiquement toutes les n millisecondes
Durée de vie des informations de session
toutes les données des requêtes sont conservées pendant une certaine durée à des fins de debug. Cette option précise leur durée de vie.
Garbage collector
interval entre 2 exécution d'un processus interne de nettoyage des données des requêtes non significatives
Confirmation à la fermeture
pour proposer d'enregistrer les comptes avant de quitter
Intervalle entre 2 pings
délai entre 2 requêtes envoyées au serveur pour vérifier qu'il est encore vivant
URL du serveur
adresse du serveur
Timeout des requêtes
durée de vie des requêtes. Si le serveur n'a pas répondu à temps, la requête est annulée
Protocole
méthode utilisée pour l'envoi des requêtes au serveur. POST garantit un peu mieux la confidentialité
Mot de passe de l'écran
pour vérouiller l'application

Installation

Pré-requis

Pour fonctionner, Couac nécessite un certain nombre de librairies PHP:
Couac utilise également 2 bibliothèques libres, situées dans le répertoire lib/vendors:

Installation

Pour l'instant Couac n'est disponible que dans un répertoire Subversion. Pour obtenir la dernière version, utilisez la commande:
svn export http://svn.gna.org/svn/couac/trunk
Copiez les fichiers dans un répertoire de votre serveur web et pointez votre navigateur vers le répertoire où vous avez installé l'application. Normalement, le serveur devrait démarrer automatiquement au bout de quelques secondes. Si ça ne fonctionne pas, vous pouvez démarrer le serveur manuellement en lançant le script start.sh.
Attention, pour des raisons de sécurité, l'enregistrement de données localement ne fonctionne que si la première partie de l'url est un nom de domaine complet. En particuliers, cela ne fonctionnera pas avec localhost ou une IP.

Trucs et astuces

Paramétrer Firefox

Il peut être nécessaire de modifier certains paramétrages de Firefox pour que Couac fonctionne. Attention, à vos risques et périls ! Pour modifier ces paramètres, tapez about:config dans la barre d'url, recherchez les clés et modifiez leur valeur. Si la clé n'existe pas, clic-droit, et "nouvelle".

Mail