Couac
Documentation
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
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
- 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
- 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.
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
- mail : cet onglet contient lui-même plusieurs onglets:
- 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.
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
- PHP 5.1.2 minimum
- sockets : requis (communications entre la passerelle et le serveur PHP)
- JSON : requis (communications entre le client et le serveur)
- IMAP : requis pour le module Mail
- mbstring : requis pour le module Mail (gestion de l'encodage des messages)
- mhash : nécessaire pour certaines méthodes d'authentification du module Jabber
Installation
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.
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".
- La sauvegarde locale des comptes (effectuée à intervalles
réguliers) peut prendre du temps, et parfois Firefox se plein que le
script tourne trop longtemps, et vous propose de l'interrompre. Pour
augmenter la durée avant qu'il ne vous pose cette question, modifiez la
valeur de la clé
dom.max_script_run_time - Par défaut, la taille des données que vous pouvez enregistrer
en local est limitée à 5Mo par domaine. Pour augmenter cette valeur,
modifiez la valeur de la clé
dom.storage.default_quota. cf http://kb.mozillazine.org/Dom.storage.default_quota - Par défaut, Firefox ne peut avoir que 2 connexions simultanément ouvertes
ver un serveur. La clé
network.http.max-persistent-connections-per-serverpermet de modifier ce comportement.
- Les filtres pour afficher les messages plus récents ou plus anciens acceptent un nombre à virgule: tapez par exemple 0.5 pour voir les messages des 12 dernières heures