[{"data":1,"prerenderedAt":507},["ShallowReactive",2],{"tag-posts-kmdalert":3},[4,331],{"id":5,"title":6,"author":7,"body":8,"category":62,"categorySlug":292,"date":293,"description":143,"excerpt":294,"extension":318,"location":319,"meta":320,"navigation":321,"path":322,"published":321,"seo":323,"slug":324,"stem":325,"tags":326,"timeToRead":171,"__hash__":330},"posts\u002Fposts\u002FKMDAlert\u002F2011-08-14-kmdalert-0.2.md","KMDAlert - Logiciel de surveillance de périphérique RAID - Version pour KDE 4.0","Ulrich Vandenhekke",{"type":9,"value":10,"toc":284},"minimark",[11,16,26,34,47,50,53,57,84,94,101,122,127,131,137,231,234,238,247,251,273,277,280],[12,13,15],"h2",{"id":14},"présentation","Présentation",[17,18,19,20,25],"p",{},"Possédant chez moi des disques durs en RAID logiciels sous Gnu\u002FLinux, en\n2007 (cela fait déjà 4 ans), ",[21,22,24],"a",{"href":23},"\u002Fpost\u002F2007-08-17-kmdalert-logiciel-de-surveillance-raid\u002F","j'avais écrit un petit logiciel"," dont le\nbut était de faire du monitoring RAID.",[17,27,28,29,33],{},"En cas de reconstruction du RAID ou de disque défectueux, le logiciel\naffiche une notification à l'utilisateur, et change le statut affiché\ndans la barre de notification (",[30,31,32],"em",{},"systray","). L'icône change bien sur en\nfonction de l'état du RAID :",[35,36,37,41,44],"ul",{},[38,39,40],"li",{},"dégradé (avec un point d'exclamation)",[38,42,43],{},"en cours de synchronisation (avec une barre de progression)",[38,45,46],{},"disque RAID dans un état normal",[17,48,49],{},"Ce logiciel ne tournait que sous KDE 3.X.",[17,51,52],{},"Voici donc une nouvelle version (qui a mis le temps de sortir) qui est\nun portage de l'application sous KDE 4.X. Elle utilise donc le nouveau\nsystème de notification de KDE (pour l'instant en passant uniquement par\nles notifications standard). Quelques améliorations y seront apportées\nplus tard.",[12,54,56],{"id":55},"requis","Requis",[17,58,59,60,63,64,68,69,72,73,76,77,80,81,83],{},"Pour fonctionner ",[30,61,62],{},"KMDAlert"," nécessite que le dossier ",[65,66,67],"code",{},"\u002Fsys"," soit monté\net que ",[65,70,71],{},"\u002Fsys\u002Fblock\u002F"," soit renseigné pour chaque volume RAID (exemple\n",[65,74,75],{},"\u002Fsys\u002Fblock\u002Fmd0",", ",[65,78,79],{},"\u002Fsys\u002Fblock\u002Fmd1",", ...). ",[65,82,62],{}," observe ensuite les\nmodifications faites sur les fichiers pour informer l'utilisateur des\nmodifications faites sur le volume RAID ou sur les disques le composant.",[17,85,86,87,89,90,93],{},"De nos jours le dossier ",[65,88,67],{}," et ",[65,91,92],{},"\u002Fsys\u002Fblock"," devraient être toujours\nprésents.",[17,95,96,97,100],{},"L'application a été développée sur ",[30,98,99],{},"Gnu\u002FDebian Squeeze",", sur un KDE\n4.4.5 avec un noyau 2.6.32.",[17,102,103,105,106,109,110,112,113,115,116,118,119,121],{},[30,104,62],{}," ne nécessite pas de ",[30,107,108],{},"Inotify",". ",[30,111,62],{}," lit le contenu de\nplusieurs fichiers dans le dossier ",[65,114,67],{}," toutes les 6 secondes pour\nêtre informé de la modification de l'état du périphérique. Sur\nl'application d'origine, développé sous un noyau 2.6.18, ",[30,117,108],{}," n'est\npas averti des modifications faites sur le système de fichier ",[65,120,67],{},".\nLes dates de ces fichiers ne sont pas non plus modifiées. Si quelqu'un a\nune autre méthode à me proposer, je reste ouvert à toutes propositions.",[17,123,124,126],{},[30,125,62],{}," est une application écrite en utilisant les librairies de\nKDE, mais devrait tout de même fonctionner sous Gnome. Les messages de\nnotification utilisent donc le système de notification de KDE (bien que\nje n'utilise pas toutes ses possibilités).",[12,128,130],{"id":129},"compilation-installation","Compilation \u002F Installation",[17,132,133,134,136],{},"La compilation et l'installation de ",[30,135,62],{}," se fait à l'aide du trio\nhabituel :",[138,139,144],"pre",{"className":140,"code":141,"language":142,"meta":143,"style":143},"language-bash shiki shiki-themes one-dark-pro","# Décompression de KMDAlert\ntar xjfv kmdalert-0.2-77c0d6b4d49f.tar.gz\ncd kmdalert-77c0d6b4d49f\n# Préparation de la compilation\nmkdir build\ncd build\n# Comilation\ncmake ..\u002Fmake\n# Installation\nmake install\n","bash","",[65,145,146,155,169,179,185,194,201,207,216,222],{"__ignoreMap":143},[147,148,151],"span",{"class":149,"line":150},"line",1,[147,152,154],{"class":153},"sV9Aq","# Décompression de KMDAlert\n",[147,156,158,162,166],{"class":149,"line":157},2,[147,159,161],{"class":160},"sVbv2","tar",[147,163,165],{"class":164},"subq3"," xjfv",[147,167,168],{"class":164}," kmdalert-0.2-77c0d6b4d49f.tar.gz\n",[147,170,172,176],{"class":149,"line":171},3,[147,173,175],{"class":174},"sjrmR","cd",[147,177,178],{"class":164}," kmdalert-77c0d6b4d49f\n",[147,180,182],{"class":149,"line":181},4,[147,183,184],{"class":153},"# Préparation de la compilation\n",[147,186,188,191],{"class":149,"line":187},5,[147,189,190],{"class":160},"mkdir",[147,192,193],{"class":164}," build\n",[147,195,197,199],{"class":149,"line":196},6,[147,198,175],{"class":174},[147,200,193],{"class":164},[147,202,204],{"class":149,"line":203},7,[147,205,206],{"class":153},"# Comilation\n",[147,208,210,213],{"class":149,"line":209},8,[147,211,212],{"class":160},"cmake",[147,214,215],{"class":164}," ..\u002Fmake\n",[147,217,219],{"class":149,"line":218},9,[147,220,221],{"class":153},"# Installation\n",[147,223,225,228],{"class":149,"line":224},10,[147,226,227],{"class":160},"make",[147,229,230],{"class":164}," install\n",[17,232,233],{},"La compilation nécessite les librairies de développement KDE et Qt3,\nainsi que le compilateur GCC.",[12,235,237],{"id":236},"licence","Licence",[17,239,240,241],{},"La licence choisie est la ",[21,242,246],{"href":243,"rel":244},"http:\u002F\u002Fwww.gnu.org\u002Flicenses\u002Fgpl-2.0.txt",[245],"nofollow","GNU GENERAL PUBLIC LICENSE",[12,248,250],{"id":249},"téléchargement","Téléchargement",[35,252,253,262,270],{},[38,254,255,256,261],{},"Vous pouvez télécharger une archive déjà construite de l'application\nsur ",[21,257,260],{"href":258,"rel":259},"http:\u002F\u002Fkde-apps.org\u002Fcontent\u002Fshow.php\u002FKMDAlert?content=73373",[245],"KDE-Apps.org",".",[38,263,264,265,261],{},"Le dépôt officiel pour télécharger les sources et participer :\n",[21,266,269],{"href":267,"rel":268},"https:\u002F\u002Fgogs.shadoware.org\u002Fphoenix\u002Fkmdalert?pk_campaign=shadoware",[245],"https:\u002F\u002Fgogs.shadoware.org\u002Fphoenix\u002Fkmdalert",[38,271,272],{},"Vous pouvez également télécharger la version attachée au billet.",[12,274,276],{"id":275},"système-de-suivi","Système de suivi",[17,278,279],{},"Il n'y a actuellement plus de système de suivi pour ce logiciel. En cas\nde problème, vous pouvez laisser un message dans les commentaires ou\nm'envoyer un mail.",[281,282,283],"style",{},"html pre.shiki code .sV9Aq, html code.shiki .sV9Aq{--shiki-default:#7F848E;--shiki-default-font-style:italic}html pre.shiki code .sVbv2, html code.shiki .sVbv2{--shiki-default:#61AFEF}html pre.shiki code .subq3, html code.shiki .subq3{--shiki-default:#98C379}html pre.shiki code .sjrmR, html code.shiki .sjrmR{--shiki-default:#56B6C2}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":143,"searchDepth":157,"depth":157,"links":285},[286,287,288,289,290,291],{"id":14,"depth":157,"text":15},{"id":55,"depth":157,"text":56},{"id":129,"depth":157,"text":130},{"id":236,"depth":157,"text":237},{"id":249,"depth":157,"text":250},{"id":275,"depth":157,"text":276},"kmdalert","2011-08-14",{"type":9,"value":295},[296,298,302,306,314,316],[12,297,15],{"id":14},[17,299,19,300,25],{},[21,301,24],{"href":23},[17,303,28,304,33],{},[30,305,32],{},[35,307,308,310,312],{},[38,309,40],{},[38,311,43],{},[38,313,46],{},[17,315,49],{},[17,317,52],{},"md","Lille, France",{},true,"\u002Fpost\u002Fkmdalert-0.2",{"title":6,"description":143},"kmdalert-0.2","posts\u002FKMDAlert\u002F2011-08-14-kmdalert-0.2",[327,328,292,329],"kde","qt","raid","4FaKIyQl43RcZ_dgavc_Yj95PpItKkc48C5B55Yud_8",{"id":332,"title":333,"author":7,"body":334,"category":62,"categorySlug":292,"date":473,"description":143,"excerpt":474,"extension":318,"location":319,"meta":500,"navigation":321,"path":501,"published":321,"seo":502,"slug":503,"stem":504,"tags":505,"timeToRead":171,"__hash__":506},"posts\u002Fposts\u002FKMDAlert\u002F2007-08-17-kmdalert-logiciel-de-surveillance-raid.md","KMDAlert - Logiciel de surveillance de périphériques RAID",{"type":9,"value":335,"toc":465},[336,338,345,351,359,370,373,376,379,381,395,398,401,404,406,409,434,436,438,443,445,458,460,462],[12,337,15],{"id":14},[17,339,340,341,344],{},"Possédant chez moi des disques durs en RAID logiciel ",[30,342,343],{},"Gnu\u002FLinux",", j'ai\ntoujours ressenti le besoin d'avoir une application graphique minimale\npour m'avertir des changements d'états du RAID. (Par exemple un disque\ndur est défectueux, le RAID est dégradé, le RAID est en reconstruction).\nEt, par exemple, dans le cas de la reconstruction être averti à la fin\nde la reconstruction.",[17,346,347,348,350],{},"KMDAlert est un petit logiciel ",[30,349,343],{}," que j'ai écrit, et permettant\nd'afficher des informations sur les volumes RAID (gérés à l'aide du\nmodule noyau md-mod) dans la boîte à miniature (SystemTray).",[17,352,353,354,358],{},"L'icône change suivant l'état du RAID (",[355,356,357],"ins",{},"ATTENTION : Les icônes\nchoisies sont moches, si un graphiste veut me proposer d'autres icônes,\nje reste ouvert aux propositions",") :",[35,360,361,364,367],{},[38,362,363],{},"dégradé",[38,365,366],{},"en cours de synchronisation",[38,368,369],{},"ou tout simplement Ok.",[17,371,372],{},"Des messages de notifications informent aussi l'utilisateur du\nchangement d'état d'un disque sur le RAID (par exemple le disque est en\néchec, supprimé, ajouté, la synchronisation démarre ou est terminée).",[17,374,375],{},"Le logiciel est actuellement uniquement disponible pour KDE 3. Je\nn'ai pas encore pris le temps de la ré-écrire.",[17,377,378],{},"Bien que cette application a été écrite dans mon cas particulier (un\nRAID 1) je me suis dit qu'elle devrait fonctionner pour les autres types\nde RAID et intéresser d'autres personnes.",[12,380,56],{"id":55},[17,382,383,384,386,387,72,389,76,391,80,393,83],{},"Pour fonctionner KMDAlert nécessite que le dossier ",[65,385,67],{}," soit monté et\nque ",[65,388,71],{},[65,390,75],{},[65,392,79],{},[65,394,62],{},[17,396,397],{},"L'application a été développée sur Gnu\u002FDebian Etch donc sur un KDE 3.5\navec un noyau 2.6.18.",[17,399,400],{},"KMDAlert ne nécessite pas de Inotify. KMDAlert lit le contenu de\nplusieurs fichiers dans le dossier \u002Fsys toutes les 6 secondes pour être\ninformé de la modification de l'état du périphérique. En effet sur le\nnoyau 2.6.18 que je possède, Inotify n'est pas averti des modifications\nfaites sur le système de fichier \u002Fsys. Les dates de ces fichiers ne sont\npas non plus modifiées. Si quelqu'un a une autre méthode à me proposer,\nje reste ouvert à toutes propositions.",[17,402,403],{},"KMDAlert est une application écrite en utilisant les librairies de KDE,\nmais devrait tout de même fonctionner sous Gnome. Les messages de\nnotification utilisent donc le système de notification de KDE (bien que\nje n'utilise pas toutes ses possibilités).",[12,405,130],{"id":129},[17,407,408],{},"La compilation et l'installation de KMDAlert se fait à l'aide du trio\nhabituel :",[138,410,412],{"className":140,"code":411,"language":142,"meta":143,"style":143},".\u002Fconfigure --prefix=\u002Fusr\u002Flocal\u002F\nmake\nmake install\n",[65,413,414,423,428],{"__ignoreMap":143},[147,415,416,419],{"class":149,"line":150},[147,417,418],{"class":160},".\u002Fconfigure",[147,420,422],{"class":421},"sVC51"," --prefix=\u002Fusr\u002Flocal\u002F\n",[147,424,425],{"class":149,"line":157},[147,426,427],{"class":160},"make\n",[147,429,430,432],{"class":149,"line":171},[147,431,227],{"class":160},[147,433,230],{"class":164},[17,435,233],{},[12,437,237],{"id":236},[17,439,240,440],{},[21,441,246],{"href":243,"rel":442},[245],[12,444,250],{"id":249},[35,446,447,452],{},[38,448,255,449,261],{},[21,450,260],{"href":258,"rel":451},[245],[38,453,454,455,261],{},"Le dépot officiel pour télécharger les sources et participer :\n",[21,456,269],{"href":267,"rel":457},[245],[12,459,276],{"id":275},[17,461,279],{},[281,463,464],{},"html pre.shiki code .sVbv2, html code.shiki .sVbv2{--shiki-default:#61AFEF}html pre.shiki code .sVC51, html code.shiki .sVC51{--shiki-default:#D19A66}html pre.shiki code .subq3, html code.shiki .subq3{--shiki-default:#98C379}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":143,"searchDepth":157,"depth":157,"links":466},[467,468,469,470,471,472],{"id":14,"depth":157,"text":15},{"id":55,"depth":157,"text":56},{"id":129,"depth":157,"text":130},{"id":236,"depth":157,"text":237},{"id":249,"depth":157,"text":250},{"id":275,"depth":157,"text":276},"2007-08-17",{"type":9,"value":475},[476,478,482,486,490,498],[12,477,15],{"id":14},[17,479,340,480,344],{},[30,481,343],{},[17,483,347,484,350],{},[30,485,343],{},[17,487,353,488,358],{},[355,489,357],{},[35,491,492,494,496],{},[38,493,363],{},[38,495,366],{},[38,497,369],{},[17,499,372],{},{},"\u002Fpost\u002Fkmdalert-logiciel-de-surveillance-raid",{"title":333,"description":143},"kmdalert-logiciel-de-surveillance-raid","posts\u002FKMDAlert\u002F2007-08-17-kmdalert-logiciel-de-surveillance-raid",[327,328,292,329],"PNNDW_nxCgCKf7lh8X7JuMHGPhrQnNwu5riYqVB4k-U",1777849587525]