Mémo Qt

Posté le 21. January 2008 dans ProgrammationTags: qt

Temps de lecture: 1 min

Ceci est un petit mémo pour me permettre de ne pas oublier quelques astuces lors de la programmation avec Qt. En parlant de cela, je me suis commandé le livre suivant : C++ GUI Programming with Qt4.

QAbstractItemModel

  • Lors de l'insertion (avec beginInsertRows()), les éléments insérés ne doivent pas contenir de sous éléments (rowCount() == 0) sous peine de causer des plantages.
  • Un model de donnée interne, pouvant être utilisé avec QAbstractItemModel pour afficher une arborescence et étant capable de se rafraîchir à la lecture d'un fichier, se trouve dans les fichiers filecontentstructure.cpp et filecontentstructure.h

CMake et Qt

Compilation d'une librairie static

add_definitions(-DQT_SHARED)
add_library(xinxplugins STATIC ${xinxplugins_SRCS} ${xinxplugins_MOC_SRCS})

Compilation d'un plugin

dynamique
add_definitions(${QT_DEFINITIONS})
add_definitions(-DQT_PLUGIN)
add_definitions(-DQT_NO_DEBUG)
add_definitions(-DQT_SHARED)
add_library(webplugin SHARED ${webplugin_SRCS} ${webplugin_MOC_SRCS})
static
?

Compilation de fichier RC pour Windows

if(WIN32)
    add_custom_command( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/xinx_ico.obj
           COMMAND windres.exe -I${CMAKE_CURRENT_SOURCE_DIR} -o ${CMAKE_CURRENT_BINARY_DIR}/xinx_ico.obj -i${CMAKE_CURRENT_SOURCE_DIR}/${xinx_RCS}
    )
    set(xinx_RESS ${CMAKE_CURRENT_BINARY_DIR}/xinx_ico.obj)
endif(WIN32)

Lire la suite ...

KMDAlert - Logiciel de surveillance de périphériques RAID

Posté le 17. August 2007 dans KMDAlertTags: kde, qt, kmdalert, raid

Temps de lecture: 2 min

Présentation

Possédant chez moi des disques durs en RAID logiciel Gnu/Linux, j'ai toujours ressenti le besoin d'avoir une application graphique minimale pour m'avertir des changements d'états du RAID. (Par exemple un disque dur est défectueux, le RAID est dégradé, le RAID est en reconstruction). Et, par exemple, dans le cas de la reconstruction être averti à la fin de la reconstruction.

KMDAlert est un petit logiciel Gnu/Linux que j'ai écrit, et permettant d'afficher des informations sur les volumes RAID (gérés à l'aide du module noyau md-mod) dans la boîte à miniature (SystemTray).

L'icône change suivant l'état du RAID (ATTENTION : Les icônes choisies sont moches, si un graphiste veut me proposer d'autres icônes, je reste ouvert aux propositions) :

  • dégradé
  • en cours de synchronisation
  • ou tout simplement Ok.

Des messages de notifications informent aussi l'utilisateur du changement d'état d'un disque sur le RAID (par exemple le disque est en échec, supprimé, ajouté, la synchronisation démarre ou est terminée). ...


Lire la suite ...

Debian etch - Clé USB

Posté le 4. August 2007 dans SysAdminTags: debian

Temps de lecture: 9 min

Il peut être parfois utile de se déplacer ici et là avec une distribution Linux clé en main sans se trimbaler toujours avec un ordinateur portable ou un CD.

La clé USB devient alors très utile atteignant aujourd'hui des tailles de l'ordre de 2G pour pas trop cher1. De petite taille, elle peut être utilisée dans des endroits ayant des ordinateurs avec un système d'exploitation propriétaire (ou un autre système libre, ou même pas sans système) mais permettant de démarrer sur un périphérique externe (une clé USB par exemple).

L'utilité peut-être variable :

  • Surfer avec une plus grande tranquillité
  • Utiliser ses logiciels favoris ( Amarok, KMyMoney, KDevelop, ... )
  • Utiliser une interface graphique, bien sûr, meilleure.
  • Utiliser dans un système embarqué.
  • Tester les ordinateurs portables dans les magasins

J'ai trouvé différents sites, tel que Ubuntu en mode persistant permettant d'installer une distribution Ubuntu sur une clé USB ou un disque dur USB.L'inconvénient de cette méthode est qu'il n'est pas possible d'installer uniquement ce que l'on souhaite partant obligatoirement d'une base LiveCD. ...


Lire la suite ...

Sauvegarde automatique 0.9

Posté le 16. October 2006 dans SysAdminTags: script

Temps de lecture: 5 min

Ce billet concerne une application, de mon cru, écrite en bash.

Elle utilise l'application dar pour effectuer des sauvegardes et les copier sur un périphérique USB ou/et sur le réseau.Tous les patchs, corrections, améliorations sont les bienvenues sur cette application maison.

Pour fonctionner l'application se configure à l'aide d'un fichier du dossier /etc qui permet de déterminer une liste de dossier à sauvegarder (/etc/autobackup). Dans ce fichier, on y défini le dossier à sauvegarde, le dossier de destination, le nombre de sauvegarde incrémentale (ou dit d'une autre facon, au bout de combien fois faut-il créer une nouvelle sauvegarde compléte?).

Il permet aussi de définir des points de copie où l'on place les différentes sauvegardes. (Ex: un périphérique USB, un dossier SSH).Ces points sont, bien sûr, utilisés seulement s'ils existent. Le fichier est copié sur le périphérique USB, s'il est branché, sur la machine distante si elle est allumée, .... ...


Lire la suite ...

Chiffrer une partition d'un disque

Posté le 24. August 2006 dans SysAdminTags: debian, script

Temps de lecture: 5 min

On peut se demander à quoi sert le chiffrage des partitions d'un disque sous Linux. Après tout, avec la gestion des droits on peut empêcher un utilisateur d'accéder à certain endroit du disque.

Maintenant, imaginez que vous travaillez pour une entreprise et que vous possédez des données confidentielles (les documents du dernier prototype de 'chez_pas_quoi', ...). En cas de vol de vos machines, un intrus peut lire le contenu du disque dur, avec un autre système d'exploitation, ou avec un autre Linux dont il aura les droits d'administrateur.

Heureusement, les données confidentielles auront été cachées dans une partition chiffrée du disque dur, et donc non accessible sans la clé de cryptage que vous aurez judicieusement choisie.

Les préparations

  • Il faut d'abord choisir une clé de chiffrage difficile à trouver. Souvent une suite de chiffres et de lettres minuscules/majuscules mélangées n'ayant aucune signification, constitue une véritable clé, difficilement cassable. Sont à proscrire les noms, les prénoms, les dates, ou tout autre événement lié à votre vie ou à la vie de l'entreprise.
  • Une partition vide. Cette partition doit être complètement vide de données afin de pouvoir la reformater dans un autre système de fichier. Il vous faudra donc utiliser un logiciel tel que Gnu/Parted, QtParted, Fdisk, LVM pour créer votre partition, ou utiliser un fichier à l'aide de l'interface Loop. Dans les exemples ci-dessous nous utiliserons un volume logique issu de LVM. Il aura été créé à l'aide de la commande

...

Lire la suite ...

Script Linux

Posté le 20. August 2006 dans SysAdminTags: debian, script

Temps de lecture: 5 min

Ce billet est consacré au script Linux. J'ai écrit divers script pour "automatiser" certaines commandes, même si je dois exécuter ces scripts manuellement. Je pourrais, quand bien même, appeler ces scripts dans un cron si je le souhaitais.

Vous trouverez, donc, dans la suite, différents scripts, différentes idées, à améliorer, à récupérer.

Liste des paquets

Ce script permet de lister les paquets installés sur un système GNU\Debian. Cela me permet de récupérer une liste de paquet dans un fichier, liste que je peux réutiliser dans un logiciel comme synaptic pour installer les mêmes paquets sur une autre distribution.Couplé à une sauvegarde du dossier home et du dossier etc, le script permet de pouvoir réinstaller un système à l'identique (à condition que l'on ne se trouve pas sur unstable et moyennant le dossier /var.

liste=`dpkg -l | tail +6 | cut -d\  -f3`
for i in $liste ; do
    echo "$i        install"
done

La commande dpkg --get-selections peut très bien remplacer le script ci-dessus. Merci à mx pour sa remarque. ...


Lire la suite ...