begin process at 2008 07 25 13:13:00
1 216 226 membres
190 nouveaux aujourd'hui
14 180 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

[OBJECT] CREATION D'ORGANIGRAMMES EN HTML


Information sur la source

Catégorie :Class et Objet ( POO ) Niveau : Initié Date de création : 23/06/2005 Date de mise à jour : 11/07/2005 18:02:55 Vu / téléchargé: 6 688 / 1 001

Note :
5,75 / 10 - par 4 personnes
5,75 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (19)
Ajouter un commentaire et/ou une note

Description

apres avoir cherché sur le net, et n'ayant trouvé quasiment rien d'exploitable, j'ai dessidé de prendre ma plume et mon cahier, et d'ecrire une petite class permettant de faire des organigrammes a partir de fichiers tabulé (excel, csv).

Source

  • <?php
  • /*
  • * Class ecrite par MAMMMANA Jean Charles.
  • * Diffusé selon les termes de la licence GPL.
  • *
  • * class (php4/5) flowchar :
  • * Cette class permet de generer des orgranigrammes HTML
  • * à partir de tableau excel (csv).
  • * Necessite l'intergration d'une feuille de style css.
  • *
  • * exemple :
  • * include('./flowchar.class.php');
  • * $flowchar = new flowchar('./excel.csv');
  • * $flowchar->setcomma(';');
  • * $flowchar->setmaxlevel(3);
  • * $flowchar->scanning();
  • * $flowchar->setlist(array('0','2','3'));
  • * echo $flowchar->createflowchar('Jean');
  • *
  • * structure du fichier excel.csv :
  • * 0 1 2 3
  • * +---------+---------+---------+---------+
  • * |directeur| outils | service | employé |
  • * +---------+---------+---------+---------+
  • * | Jean | stylo | DSI | julien |
  • * +---------+---------+---------+---------+
  • * | Psyko | feutre | DAF | Marc |
  • * +---------+---------+---------+---------+
  • * | Jean | papier | DSI | Pierre |
  • * +---------+---------+---------+---------+
  • * | Psyko | ciseaux | DAF | Aurelie |
  • * +---------+---------+---------+---------+
  • * | Psyko | cuter |marketing| Charles |
  • * +---------+---------+---------+---------+
  • * | Jean | scotch | compta | Alex |
  • * +---------+---------+---------+---------+
  • * | Jean | colle | compta | Martine |
  • * +---------+---------+---------+---------+
  • *
  • * organigramme :
  • * On demarre de la colone 0 (les directeurs) et on
  • * souhaite afficher l'organigramme des
  • * services et employé geré par Jean!
  • *
  • * Jean
  • * / \
  • * DSI compta
  • * / \ / \
  • * Julien Marc Alex Martine
  • *
  • */
  • ?>
<?php

/*
*   Class ecrite par MAMMMANA Jean Charles.
*       Diffusé selon les termes de la licence GPL.
*
* class (php4/5) flowchar :
*   Cette class permet de generer des orgranigrammes HTML 
*   à partir de tableau excel (csv).
*   Necessite l'intergration d'une feuille de style css.
*
*  exemple :
*       include('./flowchar.class.php');
*       $flowchar = new flowchar('./excel.csv');
*       $flowchar->setcomma(';');
*       $flowchar->setmaxlevel(3);
*       $flowchar->scanning();
*       $flowchar->setlist(array('0','2','3'));
*       echo $flowchar->createflowchar('Jean');
*
*   structure du fichier excel.csv :
*       0         1         2         3
*  +---------+---------+---------+---------+
*  |directeur| outils  | service | employé |
*  +---------+---------+---------+---------+
*  |  Jean   |  stylo  |   DSI   | julien  |
*  +---------+---------+---------+---------+
*  |  Psyko  | feutre  |   DAF   |  Marc   |
*  +---------+---------+---------+---------+
*  |  Jean   | papier  |   DSI   | Pierre  |
*  +---------+---------+---------+---------+
*  |  Psyko  | ciseaux |   DAF   | Aurelie |
*  +---------+---------+---------+---------+
*  |  Psyko  |  cuter  |marketing| Charles |
*  +---------+---------+---------+---------+
*  |  Jean   | scotch  | compta  |  Alex   |
*  +---------+---------+---------+---------+
*  |  Jean   |  colle  | compta  | Martine |
*  +---------+---------+---------+---------+
*
*  organigramme :
*       On demarre de la colone 0 (les directeurs) et on
*       souhaite afficher l'organigramme des
*       services et employé geré par Jean!
*
*                       Jean
*                      /    \
*                    DSI    compta
*                   /  \     /    \
*             Julien  Marc  Alex   Martine
*
*/
?>
Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

25 juin 2005 19:41:15 :
correction de 2/3 notice et ajout d'un mode (methode scanning()) permettant d'afficher uniquement une branche de l'organigramme.
25 juin 2005 19:47:50 :
re-up de l'archive!
11 juillet 2005 17:57:20 :
Mise a jour de l'archive avec un exemple simple.
11 juillet 2005 18:02:55 :
re up!
  • signaler à un administrateur
    Commentaire de Kirua le 24/06/2005 13:42:00

    Le rendu est excellent. J'ai pas regardé le code, mais si c'est bien codé ça peut servir.

  • signaler à un administrateur
    Commentaire de GRenard le 25/06/2005 17:23:04

    héhé, pas mal le code, tu te prépares à passer au php5, par contre les keyword de visibilité se placent avant le mot function.
    utilise === pour comparer les types...

    J'ai pas regardé TOUT le code, mais attention en PHP4, on fait des copies d'objet à chaque fois, donc si toi tu possèdes plusieurs niveaux, surement que tu les gères avec des fonctions, alors on devrait y retrouver des & ... sinon tu fais des copies à chaque passage de fonction. Donc ces & on doit les retrouver à l'assignation :
    $a =& $b;
    Dans les paramètres de function
    function func(&$a)
    Et aussi dans le retour si tu fais un retour
    function &func()

  • signaler à un administrateur
    Commentaire de psyjc le 25/06/2005 17:28:53

    Merci pour tes precisions GRenard, je vais arranger ca pour la mise a jours que je suis en train de faire.

    par contre je ne comprends pas ce que tu dis sur le passage par reference ?
    dans mon cas je n'ai pas besoin d'utiliser le passage de variable par references aux methodes de ma class?!

  • signaler à un administrateur
    Commentaire de GRenard le 25/06/2005 17:55:30

    Le passage par référence permet de ne pas copier des valeurs. Si tu fais cela pour une string bah si tu modifies cette string dans la fonction, elle sera modifiée à sa source...
    Pour les objets, c'est important de ne pas faire de copie... Par exemple :
    $o =& new obj();
    $clazz->add($o);
    Si ta fonction add ne recoit pas une référence, elle fera une copie, donc ensuite si tu fais
    $o->changeProperty('A','b'); ca ne la changera pas dans l'objet ajouté dans $clazz...
    De même que si tu fais
    $clazz->get() (qui retourne l'objet précédemment ajouté), ca ne sera pas le même que $o.
    Si tu fais echo intval($clazz->get() === $o); tu recevra 0.

    Voilà pourquoi passer par référence est très important. En PHP5, tu n'as plus besoin de faire cela pour les classes, puisque les classes sont comme en Java... elles sont simplement "linké" si tu veux faire une copie en php5 d'une classe tu dois spécifier clone $instance.

  • signaler à un administrateur
    Commentaire de psyjc le 25/06/2005 18:02:47

    ah oui, effectivement.
    je suis habitué au Java, c'est pour ca que j'ai pas compris!

    Merci.

  • signaler à un administrateur
    Commentaire de regaton le 11/07/2005 10:21:37

    Désolé on fait comment pour voir cet orga parceque la page php est vide et quand je regarde le code il y a pleins de commentaires comment enlever les bons ?? MERCI

  • signaler à un administrateur
    Commentaire de psyjc le 11/07/2005 11:58:56

    je vais mettre un petit exemple dans l'archive quand j'aurai le temps.

  • signaler à un administrateur
    Commentaire de regaton le 11/07/2005 17:22:01

    a merci !!! mais si possible de le faire rapidement que je voudrai voir ce que cela donne..STP merci pour tout a bientot

  • signaler à un administrateur
    Commentaire de psyjc le 11/07/2005 18:05:37

    voila, jai mis un exemple dans l'archive.

  • signaler à un administrateur
    Commentaire de regaton le 11/07/2005 19:40:30

    Merci bien c nikel apres a moi de changer les couleur c super par contre des que je change des infos a partir du fichier excel ca par en vrille alors comment faire pour changer les données à l'interieur du shéma ??!!

  • signaler à un administrateur
    Commentaire de psyjc le 11/07/2005 19:49:35

    chaque colonne est un index pour la colonne suivante (ordre defini par la methode setlist() )

    tout est expliqué dans le commentaire entete du fichier flowchar.inc.php ...

  • signaler à un administrateur
    Commentaire de regaton le 11/07/2005 21:36:16

    lol excusez moi !! je suis débutant en php et le carré le plus haut...j'arrive pas à le modifier.....comment faire ?

  • signaler à un administrateur
    Commentaire de psyjc le 11/07/2005 21:46:07

    la 1ere case tout en haut correspond au point d'entré de l'organigramme. dans l'exemple fournis cest la colonne 4 (on commence a compter a 0 et non a 1).
    dailleur tu remarque que pour toutes les lignes, elle a la meme valeur. donc si tu veux modifier la 1ere case il faut que tu modifie la valeur sur toutes les lignes de la colone 4.

    je sais pas trop comment expliquer plus simplement le principe de fonctionnement :( dsl

  • signaler à un administrateur
    Commentaire de regaton le 11/07/2005 22:22:12

    alors merci mais c'est ce que j'ai fais mais cela ne marche pas sauf erreur de ma part !

  • signaler à un administrateur
    Commentaire de psyjc le 11/07/2005 22:30:37

    il faut aussi que tu mette cette meme valeur a la methode qui crée l'organigramme : $flowchar->createflowchar('ma valeur');

  • signaler à un administrateur
    Commentaire de clement1138 le 22/05/2008 16:51:24

    c'est peut etre un peu tard ...3 ans apres mais j'ai repri ton code je l'ai adapté a ma sauce.....il se comprend facilement parce que tres bien codé!!
    mais je voudrais savoir s'il était possible et si oui comment pour remplacer les carrés par des photos?? prises dans une BDD (mais la n'est pas le pb!! lol) ...voila je ne sais pas si on me repondra mais merci !!!

  • signaler à un administrateur
    Commentaire de psyjc le 22/05/2008 17:20:21

    C'est du gros deterrage de source ca :)

    Bon, je t'avoue que je ne me souviens plus de grand chose et que je n'ai pas envie de me replonger dans le code mais il me semble que j'avais codé ca plutot proprement (pour une fois :D) donc tu ne devrai pas avoir beaucoup de mal à afficher une photo à chaque bloc.

    Bon courage.

  • signaler à un administrateur
    Commentaire de clement1138 le 22/05/2008 17:23:39

    mdr pas grave....mais a part inserer le lien de l'image dans le fichier excel je vois pas.....

  • signaler à un administrateur
    Commentaire de clement1138 le 29/05/2008 10:52:58

    slt j'ai en effet reussi a inserer des images dans les carrés..c'est plutot agreable a regarder le seul probleme ....le tout premier carré celui en colonne 4....si l'on y insere une image ainsi que dans $flowchar->createflowchar('ma valeur'); ne marche pas...impossible ou pas?

Ajouter un commentaire

Pub



Appels d'offres

Animation Flash alimen...
Budget : 6 000€
Creation portail video
Budget : 3 000€
Site de e-commerce
Budget : 5 000€

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Boutique

Boutique de goodies CodeS-SourceS