Projects:UniComCtrl

Un article de OpenIHS.org.

Sommaire

[modifier] Description du projet

Le nom UniComCtrl est une contraction de Unité de Commande et de Contrôle à distance.

Ce projet est destiné à simplifier le développement d'applications contrôlées à distance a l'aide d'applications ou plugins orientés réseau. Il est composé d'un serveur qui s'occupe de l'identification et de l'acheminement de messages ou de données des clients vers les application contrôlées (plugins) et vice-versa, tout en garantissant une bonne transmission et une simplification ce celle-ci. Il y a d'une part les plugin (ou programmes contrôlés), et les programmes qui les contrôle.


Ce projet est en phase expérimentale (beta).

Dernière version stable : (aucune)

Dernière version bêta : Version 0.8.1b0.

Dernière révision en développement : svn.

[modifier] Plan de développement

Version 0.8.2 (développement en cours) 
Ajout d'outils graphiques pour administrer le serveur.
Version 0.9.0 
Refonte du phraser de requête (sera peut-être repoussé à la 1.1.x).
Version 1.0.0 
Version pour la production (fin de la phase expérimentale).

[modifier] Manuels

  1. Présentation
  2. Développement
  3. Administration
  4. Protocole de communication (version 2.1)

[modifier] Nouvelles

  • 13 mai 2008 : Sortie de la version 0.8.1b0.
  • 10 mai 2008 : Sortie de la version 0.8.0b1.
  • 23 avril 2008 : Sortie de la version 0.8.0b0.
  • 14 avril 2008 : Sortie de la version 0.7.0b0.
  • 27 février 2008 : Sortie de la version 0.6.1b0.
  • 18 février 2008 : Sortie de la version 0.6.0b0.
  • 13 janvier 2008 : Sortie de la version 0.5.0b0.
  • 15 octobre 2007 : Sortie de la version 0.4.0b0.

[modifier] Aide::Installation

D'abord prévu pour fonctionner sous Linux, le projet a été porté sous Windows.

[modifier] Linux et FreeBSD

  • Téléchargement des sources :
$ tar -xzvf unicomctrl-x.xx.tar.gz
  • Compilation :
$ mkdir bin
$ cd bin
$ cmake ../unicomctrl
$ make
# make install
  • Configuration :
# Niveau de la sortie (verbose = très bavard, short = normal, quiet = erreurs uniquement).
verbose_level = short

# Chemin du fichier pour la sortie log.
log_path = /var/log/unicomctrl/unicomctrl.log

# Activation de la sortie log.
log = true

# Mode SSL/TLS.
ssl_method = SSLV3

# Certificat par défaut SSL/TLS.
default_certificate = /root/developpement/cpp/test/server.crt

# Clé par défaut SSL/TLS.
default_key = /root/developpement/cpp/test/server.key

# Liste des adresses d'écoute sous la forme [ssl://]<socket_unix|nom_d_hôte>[:port].
listen = localhost:3693 ssl:///tmp/unicomctrl.sock

# Activation de la fonctionnalité "Auto Use".
enable_auto_use = true

# Activation de la fonctionnalité "Broadcast".
enable_broadcast = true

# Activation des évènement de connection (envoi un évènement ou plugin quand un client se connecte et vice-versa).
enable_connect_event = true

# Activation des évènement de déconnection (envoi un évènement ou plugin quand un client se déconnecte et vice-versa).
enable_disconnect_event = true

# Type de SGBD (0 = MySQL, 1 = PostgreSQL, 2 = SQLite3).
sgbd_type = 0

# Activation de la fonction utilisée pour crypter le mot de passe.
sgbd_fct_enable = true

# Fonction utilisée pour crypter le mot de passe.
sgbd_fct = SHA1

# nom d'hôte ou adresse ip du serveur.
sgbd_server = localhost

# nom de la base de donnée.
sgbd_db = unicomctrl

# utilisateur pour l'accès à la base de donnée.
sgbd_user = unicomctrl

# mot de passe pour l'accès à la base de donnée.
sgbd_password = passwd

  • Base de donnée :

(édition en cours)

[modifier] Windows (32 bits)

UniComCtrl est compatible avec Windows 2000/XP/2003/Vista. Le serveur fonctionne en temps que service Windows, Donc pour le démarrer, vous pouvez aller dans le gestionnaire de service de Windows, cliquer sur le service "UniComCtrl Server" et le démarrer. Sous Windows Vista, il faut l'exécuter avec l'utilisateur Administrateur.

  • Télécharger l'installer (voir rubrique présentation).
  • Lancer l'installation.
  • Configuration :

La configuration de situe dans le registre de windows (KEY LOCAL MACHINE; Software\UniComCtrl). (Voir la section Linux FreeBSD pour plus de détails...)

  • Base de donnée :

Vous pouvez renommer le fichier (répertoire\installation)\unicomctrl_default.s3db en répertoire\installation)\unicomctrl.s3db

[modifier] FAQ

  • Q: vous rencontrez l'erreur : 1053 "Le service n'a pas répondu assez vite à la demande de lancement ou de contrôle" sous Windows Vista.
    • R: Il s'agit d'un problème de droit d'accès quelconque qui peut se résoudre en exécutant le service avec le compte d'Administrateur.

[modifier] Rapport de bugs

[modifier] Historique

  • 13 mai 2008 : Version 0.8.1b0.
    • Ajout du support de la connexion par http/https.
  • 10 mai 2008 : Version 0.8.0b1.
    • Optimisation du module de transmission.
  • 23 avril 2008 : Version 0.8.0b0.
  • 14 avril 2008 : Version 0.7.0b0.
    • Refonte de la classe IO
    • Ajout de la classe Regex pour manipuler des expression régulières.
    • Ajout de la Classe Semaphore.
    • Suppression de la classe ThreadSockC et la majorité du code dans QUniComCl et remplacement par la classe template ThreadSockTmpl.
    • Optimisation du code de la quasi totalité des classe.
  • 27 février 2008 : Version 0.6.1b0.
    • Quelques modifications mineures...
    • Corrections de bugs.
  • 18 février 2008 : Version 0.6.0b0.
    • Passage au protocole de communication version 2.0.
    • Modification de la classe Socket et Data.
  • 13 janvier 2008 : Version 0.5.0b0.
    • Refonte de la classe de configuration Settings.
    • Suppression du préfixe "CUni" des classe suite à la mise en pacage.
    • Gestion des exceptions (à la place des tests).
    • Suppression du buffer logiciel réalisé avec un thread (classe CUniThreadBuffer).
  • 15 octobre 2007 : Version 0.4.0b0.
    • Mise en pacage.
    • Correction de bugs.
  • 21 septembre 2007 : Version 0.3.3b0.
    • Restructuration des classes CUniConf...
    • Changement de nom des classes CUniComCl QUniComCl.
  • 11 septembre 2007 : Version 0.3.2b1.
    • Corrections de bugs.
    • Modifications mineures dans QtUniComAdmin.
    • Autre modification mineure dans la lib client unicomcl.
  • 3 septembre 2007 : Version 0.31b0.
    • Corrections de bugs.
    • Modifications mineures dans QtUniComAdmin.
    • Modifications mineures dans le protocole de connexion.
  • 30 août 2007 : Version 0.30b0.
    • Nouvelle version du protocole ce communication (série 0.3x).
    • Ajout du support de la connexion SSL/TLS.
    • Refonte d'une partie des classes.
    • Corrections de bugs.
  • 24 août 2007 : Version 0.21b5.
    • Portage pour FreeBSD.
  • 22 août 2007 : Version 0.21b4.
    • QUniThreadCl et CUniThreadCl : la méthode exec() devien query() et autres modifications mineures.
    • Correction de bugs.
  • 9 août 2007 : Version 0.20b0.
    • QtUniComAdmin : ajout du menu d'aide.
    • QUniThreadCl et CUniThreadCl : modification de la méthode exec().
    • Amélioration du système de transmission.
    • Amélioration des mutex et condition.
  • 4 août 2007 : Version 0.14b4.
    • Ajout d'une liste statique des sockets créées.
    • Ajout d'un historique dans QtUniComAdmin.
    • Modification de la classe CUniThread.
    • LibUniComDB : reconnexion automatique et mutex sur la requête.
  • 1er août 2007 : Version 0.13b2.
    • Refonte du fonctionnement interne de la classe CUniConf.
  • 30 juillet 2007 : Version 0.13b1.
    • Remplacement des requêtes OPEN et RECORD par USE et INSERT.
    • modifications mineures.
    • Corrections de bugs.
  • 26 juillet 2007 : Version 0.11b1.
    • Ajout de la méthode exec() pour exécuter des requêtes plus facilement.
    • Modifications de requêtes (administration).
    • Autres modifications mineures.
  • 21 juillet 2007 : Version 0.10b0.
    • Auto-Open : ouverture automatique de plugin.
    • Broadcast : envoi à tous les éléments actifs.
    • Ajout de quelques requêtes dont "HELP".
  • 18 juillet 2007 : Version 0.09 alpha. Intégration en temps que service Windows (2000/XP/2003/Vista).
  • 15 juillet 2007 : Version 0.03 alpha. Correction des plus gros bugs.
  • 14 juillet 2007 : Version 0.02 alpha. Ajout de QtUniComAdmin.
  • 12 juillet 2007 : Version 0.01 alpha. Première version alpha.
  • 12 juillet 2007 : Version 0.01 alpha. Première version alpha.
  • Décembre 2006 : Naissance du projet.
Compte svn/dav & co
Divers
Administration