if(t==this){
 t.xxtree2.setDefer();
}else{
 t.xxtree2.setSubload();
 t.xxtree2.emptyNodes();
 t.xxtree2.setUndefer();
}
t.xxtree2.add(2,-1,'Coté technique','');
t.xxtree2.add(3,2,'Qu&#39;est MyPitSelf ?','C\'est un système pour développer des programmes autour d\'une base de données \n<br />\nChaque développement a son propre environnement qui comprend: \n<br />\n<br />\nUne base de donnée système qui contient: \n<br />\n- La description des données,\n<br />\n- Les sources des programmes,\n<br />\n- Des valeurs discrètes ( constantes, les répertoires de travail .... )\n<br />\n<br />\nUne ou plusieurs bases de données contenant les données à maintenir.\n<br />\n<br />\nPendant la phase de développement, les environnements sont contenus dans l\'environnement principal de MyPitSelf. \n<br />\n<br />\nAprès la phase de développement, on peut produire un ensemble qui est indépendant de l\'environnement principal.\n<br /><br />\n<img hspace="0" src="img/systemdb_datadb.gif"  alt="" />\n<br />\n<br />\nDonc, Avec MyPitSelf, en tant que développeur, vous allez construire les environnements pour les autres programmes et remplir les bases de données systèmes de vos programmes.\n<br />\n<br />\nLa cible est de développer des programmes multi utilisateurs donc il y a des gestions d\'autorisations basées sur un code/mot de passe de l\'utilisateur. \n');
t.xxtree2.add(4,2,'Pourquoi MyPitSelf ?','Trois raisons principales: \n<br />\n<p>\n1°) Les SGBD sont des bons systèmes pour stocker et utiliser les données. Ils peuvent aussi être des bons systèmes pour stocker et utiliser les programmes. Donc les programmes devaient être écrits de façon à ce qu\'ils puissent être mis en base pour qu\'ils puissent être liés aux données qu\'ils traitent. C\'est pour celà que cet environnement a son propre langage. Ceci veut aussi dire que les programmes sont finalement considérés comme des données, en conséquence, on peut appliquer des traitements aux programmes. \n<\/p>\n<p>\n<br />\n2°) Une fois que les données sont définies, les programmes les traitent. Donc, dans ce système, la première étape est de définir les données et enfin, les programmes peuvent être écrits. Les données de base sont celles définies au niveau dans la base de donnée. \n<br />\n<\/p>\n<table border="0" cellpadding="0" cellspacing="0" summary=""><tr>\n<td>\n3°) Le premier programme écrit avec ce système est lui même car si ce système peut organiser et traiter des données, il permet aussi d\'écrire un système pouvant organiser et traiter les données.\nCeci explique la boucle dans ce shéma.\n<\/td>\n<td>\n\n<div style="float:right">\n<a href="javascript:OpenOutWindow1(\'img/systemdb_datadb.gif\',0,0,335,145)">\n<img src="img/systemdb_datadb_s.gif" alt="" /><\/a>\n<\/div>\n\n<\/td>\n<\/tr><\/table> \n\n');
t.xxtree2.add(5,2,'Comment est-il fait ?','Grâce à PHP, MySql, Javascript et Apache sur window et Linux sur firefox/IE. \n<br />\nLes outils principalement utilisés pour son développement sont lui même (85%), le blocNote de w2k (10%) et PhpMyAdmin (5%) . \n<br />\nLcc a été utilisé pour écrire un programme permettant de lancer de jobs en batch. C\'est une adaptation du programme mikehup.exe écrit par Michael Kohn (naken@naken.cc), Web page: http://www.naken.cc/ \n<br />\n<br />\nJ\'utilise SVG pour dessiner les tables avec les liens.\n<br />\n<br />\nPHP est utilisé pour écrire les fonctions de base. \n<br />\n<br />\nToutes les fonctions utilisateur devraient être écrites dans le langage de MyPitSelf. Les principes de base de ce langage sont: \n<br />\n<ul>\n<li>\nLes données définissent les actions ( au moyen d\'ordres SQL ) et donc une partie du langage. Les requêtes SQL une fois définies permettent de générer des fonctions qui seront utilisées par le langage. \n<\/li>\n<li>Il peut être transformé en tableau de façon à pouvoir tracer facilement l\'utilisation de chaque données. <\/li><\/ul>Il est basé sur: <br /><ul><li>Une pile d\'appel qui contient les variables déposées par les fonctions. <\/li><li>Une pile de variables qui contient des variables prédéfinies et les variables des programmes <\/li><li>Des appels de fonctions. \n<\/li>\n<\/ul>\n<br />\n<br />\n<strong><u>Note sur la traduction:<\/u><\/strong> \nje suis français, j\'ai commencé à développer ce logiciel en anglais puis j\'ai ajouté la possibilité d\'avoir une version localisée en ligne ce qui fait que j\'ai pu écrire un peu dans les deux langues, en particulier cette documentation. \n<br />\nIl y a des chapitres que j\'ai rédigé directement en français puis traduit en anglais, pour d\'autres c\'est l\'inverse. \n<br />\nComme le temps me manque un peu, il y a parfois des écarts mais je ne pense pas qu\'ils sont très importants, vous saurez vous adapter. \n<br />\n<br />\nVous pouvez traduire ce logiciel dans n\'importe quelle langue, vous pouvez écrire des logiciels avec MyPitSelf dans votre langue et ensuite les traduire pour d\'autres langues. \n<br />\n<br />\nJ\'essaierai de maintenir moi même la version française et la version anglaise, si d\'autres contributeurs acceptent de traduire ce logiciel dans d\'autres langues, je pourrais intégrer leur traductions dans la distribution. \n<br />\nPlus loin dans cette documentation, ( chapitre COMMENT FAIRE ), je parle de la traduction. \n');
t.xxtree2.add(7,2,'Etat de MyPitSelf','Jamais fini car il y a toujours des nouvelles fonctions à ajouter! Mais suffisament bon pour avoir des sites en production.\n<br />\n<br />\nIl y a des fonctions comme le versionning, les scénarios de test, la documentation ... que j\'ai commencé mais qui ne sont pas encore finies.\n<br />\nAu moins celles qui existent permettent de faire ce que vous allez voir ( si vous continuez ).\n<br />\n<br />\nJe ne peut pas vous dire quand sortira la prochaine version car je ne peut pas consacrer 100% de mon temps à ce produit.\n<br />\n<br />\nMaintenant, voyons à quoi tout celà ressemble.\n<br />');
t.xxtree2.add(230,2,'En pratique','');
t.xxtree2.add(231,230,'Données','Je suppose que vous avez un modèle de données avec une table de gens contenant leur nom et leur age. \n<br />\n<br />\nJe suppose aussi que vous avez généré plusieurs requêtes grâce au système, dont la requête portant le numéro 1203 (par exemple).\n<br />\n<br />\n<pre>\nSELECT T0.Id,T0.Nom,T0.Age \n  FROM $Data.Gens T0 \n WHERE T0.Age <= %SQLPAR0% \n ORDER BY T0.Nom ASC\n<\/pre>\nUne fonction se nommant R_1203_Select() a alors été produite par le système.\n<br />\n<br />\nC\'est le système qui doit générer les requêtes car il commence par\nstocker toutes les caractéristiques de la requête ( tables impactées,\nchamps utilisés, critères, liens entre les champs, ordre d\'affichage,\nde tri .. ) et à partir de ces caractéristiques, le système génère la\nphrase SQL et la fonction utilisant la phrase SQL. \n<br />\n<br />\nCette requête accepte un paramètre qui est l\'age (%SQLPAR0%).\n');
t.xxtree2.add(232,230,'Programme source','Une utilisation de cette fonction pourra par exemple servir à afficher tous les gens dont l\'age est >= 30. \n<br />\nCela donnera un programme qui ressemble à (les commentaires sont précédés par //) :\n<pre>\nTac(             // Take and call: met des valeurs dans la pile d\'appel\n                 // et/ou appel des fonctions.\n Cst(30),        // constante 30 ans mise dans une pile d\'appel\n R_1203_Select(  // Liste de ces gens, le paramètre SQLPAR0 = 30\n  Do(\n   Take(T0.Nom), // mettre le contenu du champ Nom dans la pile d\'appel\n   out(1)        // afficher le premier element contenu dans la pile d\'appel\n  )              // T0.Nom est retire de la pile d\'appel a ce niveau\n )\n)                // 30 est retire de la pile d\'appel a ce niveau\n<\/pre>\n\nRemarque: Les interlignes sont ignorés, on aurait pu tout aussi bien écrire cette fonction sous la forme:\n<pre>\nTac(Cst(30),R_1203_Select(Do(Take(T0.Nom),out(1))))\n<\/pre>\nDe même, les virgules ne sont pas obligatoires après une ). Une autre forme pourrait être:\n<pre>\nTac(\n Cst(30)\n R_1203_Select(\n  Do(Take(T0.Nom),out(1))\n )\n)\n<\/pre>\nLes commentaires de bloc sont délimités par /* et */, ils doivent être en colonne 1 et peuvent être imbriqués.\n');
t.xxtree2.add(233,230,'Programme tabulaire','Ce programme aura la forme tabulaire suivante: \n<br />\n\n<table cellspacing="1" cellpadding="0" summary="">\n\n <tr class="zz_headerlist">\n  <td style="border:1px black solid;">Ind<\/td>\n  <td style="border:1px black solid;">Function #<\/td>\n  <td style="border:1px black solid;">Parent #<\/td>\n  <td style="border:1px black solid;">Order In<br />Parent<\/td>\n  <td style="border:1px black solid;">Function<br />Name<\/td>\n  <td style="border:1px black solid;">Function<br />Type<\/td>\n  <td style="border:1px black solid;">Number Of<br />Children<\/td>\n  <td style="border:1px black solid;">Level<\/td>\n  <td style="border:1px black solid;width:100px;">C1<\/td>\n  <td style="border:1px black solid;width:100px;">C2<\/td>\n <\/tr>\n <tr CLASS="zz_list" onmouseover="sc(this,1)" onmouseout="sc(this,0)" ondblclick="sc11(this)">\n\n\n<td>1<\/td><td>1<\/td><td>0<\/td><td>1<\/td><td>Tac<\/td><td>f<\/td><td>2<\/td><td>1<\/td><td><\/td><td> // 30 est retire de la pile d\'appel a ce niveau<\/td><\/tr>\n<tr class="LIST" onmouseover="sc(this,1)" onmouseout="sc(this,0)" ondblclick="sc11(this)"><td>2<\/td><td>2<\/td><td>1<\/td><td>1<\/td><td>Cst<\/td><td>f<\/td><td>1<\/td><td>2<\/td><td> // Take and call: met des valeurs dans la pile d\'appel // et/ou appel des fonctions.\n <\/td><td><\/td><\/tr>\n<tr class="LIST" onmouseover="sc(this,1)" onmouseout="sc(this,0)" ondblclick="sc11(this)"><td>3<\/td><td>3<\/td><td>2<\/td><td>1<\/td><td>30<\/td><td>v<\/td><td>0<\/td><td>3<\/td><td><\/td><td><\/td><\/tr>\n<tr class="LIST" onmouseover="sc(this,1)" onmouseout="sc(this,0)" ondblclick="sc11(this)"><td>4<\/td><td>4<\/td><td>1<\/td><td>2<\/td><td>R_1203_Select<\/td><td>f<\/td><td>1<\/td><td>2<\/td><td> // constante 30 ans mise dans une pile d\'appel\n <\/td><td> \n<\/td><\/tr>\n<tr class="LIST" onmouseover="sc(this,1)" onmouseout="sc(this,0)" ondblclick="sc11(this)"><td>5<\/td><td>5<\/td><td>4<\/td><td>1<\/td><td>Do<\/td><td>f<\/td><td>2<\/td><td>3<\/td><td> // Liste de ces gens, le paramètre SQLPAR0 = 30\n  <\/td><td> // T0.Nom est retire de la pile d\'appel a ce niveau\n <\/td><\/tr>\n<tr class="LIST" onmouseover="sc(this,1)" onmouseout="sc(this,0)" ondblclick="sc11(this)"><td>6<\/td><td>6<\/td><td>5<\/td><td>1<\/td><td>Take<\/td><td>f<\/td><td>1<\/td><td>4<\/td><td>\n   <\/td><td><\/td><\/tr>\n<tr class="LIST" onmouseover="sc(this,1)" onmouseout="sc(this,0)" ondblclick="sc11(this)"><td>7<\/td><td>7<\/td><td>6<\/td><td>1<\/td><td>T0.Nom<\/td><td>v<\/td><td>0<\/td><td>5<\/td><td><\/td><td><\/td><\/tr>\n<tr class="LIST" onmouseover="sc(this,1)" onmouseout="sc(this,0)" ondblclick="sc11(this)"><td>8<\/td><td>8<\/td><td>5<\/td><td>2<\/td><td>out<\/td><td>f<\/td><td>1<\/td><td>4<\/td><td> // mettre le contenu du champ Nom dans la pile d\'appel\n   <\/td><td> // afficher le premier element contenu dans la pile d\'appel\n  <\/td><\/tr>\n<tr class="LIST" onmouseover="sc(this,1)" onmouseout="sc(this,0)" ondblclick="sc11(this)"><td>9<\/td><td>9<\/td><td>8<\/td><td>1<\/td><td>1<\/td><td>v<\/td><td>0<\/td><td>5<\/td><td><\/td><td><\/td><\/tr>\n<\/table>\n\n\nSous ce format on pourra analyser et connaître les traitements avec les données impactées car toutes les caractéristiques de la requête 1203 sont présentes dans le système ( type / tables / champs / conditions ).\n   <br />\n   <br />\n   En d\'autre termes, on pourra faire du reverse-engineering.\n   <br />\n   <br />\n   Si vous mettez ce format tabulaire dans une table de la base de données, vous pouvez aussi modifier \n   ce programme car le système peut regénérer un programme source à partir de la forme tabulaire.\n   <br />\n   <br />\n   En d\'autres termes, il y a une bijection entre l\'ensemble source et l\'ensemble tabulaire.\n   <br />\n');
t.xxtree2.add(234,230,'Source produit','<pre>\n< ? php\nfunction f_5001(){\n global $XVS,$XCS;  // variable stack and call stack\n $xxSI=sizeof($XCS);  // call stack init pos\n $xxSC=0;  // Stack push count\n //===== Start of function =====\n //===================\n $req4 = "\n SELECT  T0.Nom  FROM  `Gens` T0\n WHERE  T0.Age<=30\n ORDER BY  T0.Nom ASC " ;\n //===================\n $result4=mysql_query($req4);\n if(mysql_errno()==0){\n  while($mpsrow4=mysql_fetch_row($result4)){\n   echo \'<span class="DBG">\'.$mpsrow4[0].\'<\/span><br />\';   // output\n  }\n }else{\n  return(xxErrSql(\'1203_SELECT\',mysql_error(),$req4,$xxSI));\n }\n mysql_free_result($result4);\n //===== End of function =====\n return(true);\n}\n?>\n<\/pre>\nL\'exemple précédent est simplifié mais vous pourrez voir en cliquant ici <a href="javascript:popup(\'mypitself_ExempleDeCode\')"><img src="img/sc.gif" /><\/a> quelque chose d\'un peu plus trapu: c\'est une des fonction assurant la rétro-analyse de l\'exécution d\'un programme, elle modifie une forme tabulaire d\'une fonction.\n<br />\n');
t.xxtree2.add(8,2,'Installation','Je suppose que Apache(1.3.29), Php(4.3.9), MySql(4.0), Firefox ou Ie(6.0) fonctionnent correctement sur votre système. Les numéros de version citées sont celles que j\'utilise actuellement mais je suppose que ça marchera avec des versions équivalentes.\n<br />\n<br />\nJe suppose que vous conaissez un minimum ces logiciels et en particulier le fait de les faire fonctionner ensemble.\n<br />\nSi ce n\'est pas le cas, voyez la documentation gigantesque écrite à leur sujet.\n<br />\n');
t.xxtree2.add(9,8,'Dézipper','Il y a deux fichiers à dézipper: \n<br />\nmypitselfw ( fichiers Web ) à dézipper quelquepart sous le dossier htdocs du serveur Web. \n<br />\nmypitselfp ( fichiers programmes ) à dézipper ailleurs que sous le dossier htdocs. \n<br />\n<br />\nSur un système linux, vous devez exécuter ces commandes: \n<br />\n<br />\ncd /var/www # supposons que vous avez mis les dossiers mypitselfw and mypitselfp dans /var/www \n<br />\nchmod -R o+w mypitselfp \n<br />\nchmod -R o+w mypitselfw \n<br />\ncd mypitselfp \n<br />\nchown root:root batch_linux.exe \n<br />\nchmod -R o+x batch_linux.exe');
t.xxtree2.add(10,8,'Configurer Apache et php','');
t.xxtree2.add(67,10,'Configuration de php','<span class=ECHO>\nL\'utilisation du fichier php.ini-recommended donné dans votre distribution de Php est fortement recommandée.\n<\/span>\n<br />\nSi vous utilisez quelquechose d\'autre, à votre guise, mais au moins, vérifiez que les configurations ci dessous sont:\n<br />\nregister_globals = Off\n<br />\n<br />\nJ\'utilise les paramètre\n<br />\n<br />\ndisplay_errors = on\n<br />\ndisplay_startup_errors = On\n<br />\nerror_reporting  =  E_ALL\n<br />\n<br />\nRemarque: ces paramètres ne sont pas recommandés pour les sites en production \nmais c\'est plus pratique pour de déboggage.\n');
t.xxtree2.add(68,10,'Configuration d&#39;Apache','Je suppose qu\'apache/php tourne correctement sur votre système. \n<br />\nAjoutez ce paramètre dans le fichier de configuration d\'apache pour aller sur index.php \n<pre>\n< IfModule mod_dir.c>\n DirectoryIndex index.php\n< /IfModule>\n<\/pre>');
t.xxtree2.add(11,8,'Installation de MyPitSelf','  Quand vous avez essayé de vous connecter au premier écran, vous avez vu un écran comme celui ci.<br />\n  <br />\n  Si ça n\'a pas été le cas, eh bien, quelquechose s\'est mal passé, essayez de réinstaller après avoir effacé les dossiers et la\n  base de donnée.<br />\n  <!--=============================================== BeginOfScreen =====================-->\n  <table border="1" summary="">\n   <tr>\n    <td class="zz_record">\n     <span class="LISTTITLE">MyPitSelf installation.<\/span><br />\n     <table border="1" summary="">\n      <tr>\n       <td class="zz_record">\n        Enter here the connection string to mysql\n       <\/td>\n       <td class="zz_record">\n        <input type="text" name="CONNECT" value="localhost:3306" />\n       <\/td>\n      <\/tr>\n      <tr>\n       <td class="zz_record">\n        Enter here a valid user name to access to mysql\n       <\/td>\n       <td class="zz_record">\n        <input type="text" name="USER" value="" />\n       <\/td>\n      <\/tr>\n      <tr>\n       <td class="zz_record">\n        Enter here a valid password to access to mysql\n       <\/td>\n       <td class="zz_record">\n        <input type="text" name="PASSWORD" value="" />\n       <\/td>\n      <\/tr>\n      <tr>\n       <td class="zz_record">\n        Enter the full name ( path included ) of the file<br />\n        MyPitSelf root web path.txt<br />\n        ( It should be already filled )\n       <\/td>\n       <td class="zz_record">\n        <input class="zz_record" type="text" name="MyPitSelfWEBPATH" size="20" value=\n        "c:/MyPitSelf/htdocs/MyPitSelfw/MyPitSelf root web path.txt" />\n       <\/td>\n      <\/tr>\n      <tr>\n       <td class="zz_record">\n        Use the button to point on the file<br />\n        MyPitSelf root program path.txt<br />\n        ( It is in the MyPitSelfP directory )\n       <\/td>\n       <td class="zz_record">\n        <input class="zz_record" name="FILEITSELFPROGRAMPATH" type="file" size="20" />\n       <\/td>\n      <\/tr>\n     <\/table>Database initialisation<br />\n     <a class="ACTION">Create database<\/a> <a class="ACTION">Delete database<\/a>\n    <\/td>\n   <\/tr>\n  <\/table><br />\n  Si vous avez entré des informations correctes dans les champs et que vous avez cliqué sur le bouton <a class="ACTION">Créer la\n  base de donnée<\/a> vous auriez du obtenir cet écran après un moment.<br />\n  <br />\n  <table border="1" summary="">\n   <tr>\n    <td>\n     <span class="LISTTITLE">MyPitSelf installation.<\/span><br />\n     <table border="1" summary="">\n      <tr>\n       <td class="zz_record">\n        Enter here the connection string to mysql\n       <\/td>\n       <td class="zz_record">\n        <input type="text" name="CONNECT" value="localhost:3306" />\n       <\/td>\n      <\/tr>\n      <tr>\n       <td class="zz_record">\n        Enter here a valid user name to access to mysql\n       <\/td>\n       <td class="zz_record">\n        <input type="text" name="USER" value="first" />\n       <\/td>\n      <\/tr>\n      <tr>\n       <td class="zz_record">\n        Enter here a valid password to access to mysql\n       <\/td>\n       <td class="zz_record">\n        <input type="text" name="PASSWORD" value="test" />\n       <\/td>\n      <\/tr>\n      <tr>\n       <td class="zz_record">\n        Enter the full name ( path included ) of the file<br />\n        MyPitSelf root web path.txt<br />\n        ( It should be already filled )\n       <\/td>\n       <td class="zz_record">\n        <input type="text" name="MyPitSelfWEBPATH" size="20" value=\n        "c:/MyPitSelf/htdocs/MyPitSelfw/MyPitSelf root web path.txt" />\n       <\/td>\n      <\/tr>\n      <tr>\n       <td class="zz_record">\n        Use the button to point on the file<br />\n        MyPitSelf root program path.txt<br />\n        ( It is in the MyPitSelfP directory )\n       <\/td>\n       <td class="zz_record">\n        <input name="FILEITSELFPROGRAMPATH" type="file" size="20" /><input type="hidden" name="MyPitSelfPROGRAMPATH" size="20"\n        value="C:\\MyPitSelf\\MyPitSelfP\\MyPitSelf root program path.txt" />\n       <\/td>\n      <\/tr>\n     <\/table><br />\n     <span class="LISTTITLE">MyPitSelfxxyzz A été créée avec succès.<\/span> <a class="ACTION">Vous pouver retourner sur le\n     menu.<\/a><br />\n     <span class="LISTTITLE">ou bien<\/span> <a class="ACTION">Supprimer la base MyPitSelf<\/a>\n    <\/td>\n   <\/tr>\n  <\/table><br />\n  Si vous l\'avez effectivement obtenu, c\'est bon et après avoir rafraichi la fenetre, vous devriez avoir obtenu une fenetre qui\n  vous demande votre nom d\'utilisateur et votre mot de passe. Si ça n\'a pas été le cas, eh bien, quelquechose s\'est mal passé,\n  essayeez de réinstaller après avoir effacé les dossiers et la base de donnée.\n');
t.xxtree2.add(12,8,'Premier accès à MyPitSelf','  <p>\n   Cliquez là <a href="javascript:OpenWindowMyPitSelf();" class="ACTION">Vers MyPitSelf<\/a><br />\n   Vous obtenez l\'écran qui vous demande votre nom d\'utilisateur et votre mot de passe<br />\n   <br />\n   Entrez "1" dans chaque champ et cliquez sur "Entrer". Maintenant si vous obtenez une fenêtre qui ressemble à celle ci, vous\n   pouvez <span class="LISTTITLE">être content!<\/span>.\n  <\/p>\n  <table border="1" width="800" summary="">\n   <tbody>\n    <tr>\n     <td class="zz_record">\n      <span><img src="img/l_myps_026_675.png" alt="" /><\/span>\n      <div style="border-width: 0px; padding: 0px; width: 675px; height: 28px;" class="body">\n       \n       <div style="padding: 1px; float: left; height: 26px;">\n        <span><a style="border: 0px none ; padding: 1px 3px 2px; color: lightgrey; background-color: black;" class="ACTION"><img src="img/hs.gif" alt="" /><\/a> <span class=\n        "ACTION"><a style="border-width: 0px; padding: 0px;" class="ACTION" ><img src=\n        "img/picto/13x13/bacs.png" alt="" /><\/a><\/span> <a style="padding-bottom: 0px; padding-top: 0px;" title=\n        "Liste des tâches triées par priorité" class="ACTION" ><img src="img/picto/13x13/cc.png"\n        alt="" /><\/a> <a title="Liste des projets" class="ACTION">Projets<\/a><a title="Profil" class="ACTION">Profil<\/a><\/span>\n       <\/div>\n       <div style="padding: 1px; float: right; height: 26px;">\n        <a target="_blank" style="border-width: 0px; padding: 0px;" class="ACTION"><img src="img/q.gif"\n        alt="" /><\/a> <a style="border-width: 0px; padding: 0px;" class="ACTION" ><img src="img/quit.gif"\n        alt="" /><\/a>\n       <\/div>\n      <\/div><br />\n      <br />\n      <table border="1" width="500" summary="">\n       <tbody>\n        <tr>\n         <td class="record">\n          <hr />\n          <span class="LISTTITLE">MyPitSelf<\/span>\n          <hr />\n         <\/td>\n        <\/tr>\n       <\/tbody>\n      <\/table><br />\n      <br />\n     <\/td>\n    <\/tr>\n   <\/tbody>\n  <\/table>\n  <p>\n   Sur cet écran, il y a plusieurs boutons dans la barre de menu.<br />\n   Cliquez dessus si vous voulez mais, pour le moment, ne cliquez pas sur ceux qui ne sont pas sur les menus svp.<br />\n   <br />\n   Voyons trois d\'entre eux:<br />\n   <br />\n   Le bouton <img src="img/hs.gif" alt="" /> : Qui vous permet d\'aller à l\'écran initial.<br />\n   <br />\n   Le bouton <img src="img/picto/13x13/bacs.png" alt="" />: Qui vous permet d\'aller à l\'écran précédent.<br />\n   <br />\n   Le bouton <img src="img/q.gif" alt="" />: Qui vous permet d\'aller voir la doc.<br />\n   <br />\n   Le bouton <img src="img/quit.gif" alt="" />: Qui vous permet de quitter.<br />\n   Essayez le et réentrez avec 1/1 comme nom d\'utilisateur/mot de passe.<br />\n   <br />\n   Vous verrez dans les exemples permettant de savoit utiliser MyPitSelf des copies d\'écrans avec des boutons qui ont une\n   signification standardisée:<br />\n   <img src="img/picto/13x13/n.png" alt="" />: Nouvel élément<br />\n   <img src="img/picto/13x13/du.png" alt="" />: dupliquer un élément<br />\n   <img src="img/picto/13x13/s.png" alt="" />: voir un élément<br />\n   <img src="img/picto/13x13/u.png" alt="" />: Modifier un élément<br />\n   <img src="img/picto/13x13/d.png" alt="" />: Supprimer un élément<br />\n   <img src="img/picto/13x13/p.png" alt="" />: Liste des propriétés d\'un élément<br />\n   <img src="img/picto/13x13/m.png" alt="" />: Déplacer un élément\n  <\/p>\n');
t.xxtree2.add(281,2,'Documentation générée','A partir des informations entrées pour créer votre application, MyPitSelf peut générer une documentation.\n<br />\nCette documentation technique contient entre autres le schéma SVG des relations entre les tables.\n<br />\nUn plug-in SVG est disponible sur le site d\'Adobe.\n<br />\n<br />\nPour y accéder, cliquez ici <a href="indext_lang_2.htm" target="_blank"><img src="img/picto/13x13/wi.png" alt="" /><\/a>');
t.xxtree2.SetLoaded();
