Skip to content

Commit

Permalink
Documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
legagneur-matthieu committed May 16, 2024
1 parent 1dc9f36 commit 5a622c1
Show file tree
Hide file tree
Showing 3 changed files with 127 additions and 41 deletions.
14 changes: 14 additions & 0 deletions html/doc/class/docPHP.class.php
Original file line number Diff line number Diff line change
Expand Up @@ -826,5 +826,19 @@ private function mise_en_ligne() {
</p>
<?php
js::monaco_highlighter('{"project":"[Votre-projet-par-défaut]"}');
?>
<p>
Depuis la version 21.24.05, il est possible d'exporter un projet DWF depuis l'interface "parcours de sites" (accessible uniquement en local). <br>
L'export inclura tous les fichiers contenus dans votre dossier projet (à l'exception des CSS dans src/compact). <br>
L'export inclura les fonctionnalités et fichiers nécessaires dont dépend votre projet, à condition que <em>export_dwf.class.php</em> ait correctement référencé les dépendances. <br>
Il est conseillé de tester toutes les fonctionnalités de votre projet avant l'export, puis de tester les fonctionnalités de l'export elle-même.
</p>
<p>
Cf export_dwf pour plus de détails.
Le fichier JSON d'export est consultable dans <em>dwf/class/export_dwf/</em>.
</p>


<?php
}
}
116 changes: 94 additions & 22 deletions html/doc/class/docPHP_natives.class.php
Original file line number Diff line number Diff line change
Expand Up @@ -696,6 +696,35 @@ private function event() {
);
}

private function export_dwf() {
?>
<p>
Cette classe permet de générer une archive ZIP contenant les fichiers nécessaires à un projet DWF,<br>
en fonction des dépendances enregistrées dans un fichier JSON spécifique à chaque projet. <br>
Ce fichier JSON est consultable dans <em>dwf/class/export_dwf/</em>. <br>
export_dwf est normalement autonome et ajoute vos dépendances tout au long de votre développement. <br>
L'export inclura tous les fichiers contenus dans votre dossier projet (à l'exception des CSS dans src/compact). <br>
Cependant, si vous désirez inclure un fichier ou un dossier spécifique à votre projet lors de l'export :
</p>
<?php
js::monaco_highlighter('<?php\n'
. '//ajoute des fichier\n'
. 'export_dwf::add_files([\n'
. ' realpath("./un_ficher.php"),\n'
. ' realpath("./un_ficher.js"),\n'
. ' realpath("./un_ficher.css")\n'
. ']);\n\n'
. '//ajoute un dossier (recursif)\n'
. 'export_dwf::add_files([realpath("./le_dossier")]);\n'
. '?>');
?>
<p>
Il est déconseillé d'instancier export_dwf car son instanciation est réservée à l'export depuis html/index.php. <br>
De même, les autres fonctions statiques sont utilisées en interne de la classe.
</p>
<?php
}

private function fancybox() {
?>
<p>(cf js)</p>
Expand Down Expand Up @@ -1253,6 +1282,37 @@ private function ip_access() {
. '?>');
}

private function ip_api() {
?>
<p>
Cette classe permet de récupérer des informations sur une adresse IP (géolocalisation, opérateur...). <br>
Attention, json() est limité à 45 requêtes par minute, <br>
batch() est limité à 15 requêtes par minute et 100 IP max par requête.
(Cf <a href="https://ip-api.com">https://ip-api.com</a>)
</p>
<?php
js::monaco_highlighter('<?php\n'
. '//Le serveur envois une requête a ip-api pour une IP\n'
. '$ip_infos=ip_api::get_instance()->json($ip);\n\n'
. '//Le serveur envois une requête a ip-api pour une liste IP (100 max)\n'
. '$ip_infos=ip_api::get_instance()->batch($ips);\n\n'
. '//Le client envois une requête a ip-api pour une liste IP (100 max)\n'
. '$ip_infos=ip_api::get_instance()->json_browser($ip, function($ip_data){\n'
. ' return $ip_data;\n'
. '});\n\n'
. '//Le client envois une requête a ip-api pour une liste IP (100 max)\n'
. '$ip_infos=ip_api::get_instance()->batch_browser($ip, function($ip_data){\n'
. ' return $ip_data;\n'
. '});\n'
. '?>');
?>
<p>
Attention pour json_browser() et batch_browser() : les informations transiteront par le navigateur du client ! <br>
Les informations peuvent être altérées !
</p>
<?php
}

private function js() {
new docPHP_natives_js();
}
Expand Down Expand Up @@ -1709,10 +1769,10 @@ private function reveal() {
. '<?php\n'
. '$reveal->close_reveal();\n'
. '?>');
}
}

private function reversoLib() {
?>
private function reversoLib() {
?>
<p>Cette classe utilise l'API de Reverso pour corriger un texte et
vous affiche les corrections à appliquer au texte grâce à la librairie finediff.</p>
<?php
Expand All @@ -1725,12 +1785,12 @@ private function reversoLib() {

private function robotstxt() {
?>
<p>Cette classe permet de générer le robot.txt d'un site.</p>
<p>
Cette classe génére le robot.txt <br>
elle est appelé par <em>html5.class.php</em> <br>
inutile de l'instancier d'avantage.
</p>
<?php
js::monaco_highlighter('<?php\n'
. '//$data : lignes à ajouter au robot.txt (commencer par \n et séparer chaque ligne par \n)'
. '\nnew robotstxt($data="");\n'
. '?>');
}

private function schoolbreak() {
Expand Down Expand Up @@ -1847,19 +1907,27 @@ private function singleton() {

private function sitemap() {
?>
<p>Cette classe gère les "sitemap" du site <br />
Pour les routes qui dépendent d'une variable, renseignez dans la route (par exemple): <br />
"sitemap" => array("var" => "id", "entity" => "user", "tuple" => "login") <br />
Le sitemap est généré automatiquement par <em>application.class.php</em> si <em>config::$_sitemap=true</em>
L'utilisateur www-data doit avoir les droits d'écriture. <br /> <br />
Lancez
<p>
Cette classe (singleton) gère les sitemaps de vos projets.<br>
Elle permet d'ajouter, de supprimer et de générer des sitemaps au format XML.<br>
Elle offre également des fonctionnalités pour afficher les URLs dans une liste HTML.<br>
Les URLs peuvent étre supprimé via une interface d'administration.
</p>
<?php
js::monaco_highlighter('$ php dwf/cli/start.php\n-- ou\n$ php dwf/cli/sitemap_index.cli.php', 'shell');
sitemap::get_instance()->add_url();
js::monaco_highlighter('<?php\n'
. '//affiche le format HTML du sitemap\n'
. 'sitemap::get_instance()->html();\n\n'
. '//Afiche l\'interface d\'administration\n'
. 'sitemap::get_instance()->admin();\n'
. '?>');
?>
<p>
pour générer le sitemap index de vos projets
sitemap::get_instance()->add_url() est automatiquement appelé dans <em>html5.class.php</em>, inutile de l'utiliser. <br>
Seules les URL "publiques" de votre projet sont référencées dans le sitemap, les pages nécessitant une authentification ne le seront pas. <br>
<em>config::$_sitemap</em> doit être défini à true pour que la classe référence les liens publics.
</p>

<?php
}

Expand Down Expand Up @@ -1926,14 +1994,18 @@ private function stalactite() {

private function statistiques() {
?>
<p>Cette classe permet de recueillir et d'afficher des statistiques liées à l'activité des utilisateurs</p>
<p>
Cette classe permet de recueillir et d'afficher des statistiques liées à l'activité des utilisateurs. <br>
Les statistiques sont stoqué pour 5 ans maximum <br>
la classe utilise <em>ip_api</em> pour déterminer le pays et l'operateur de l'utilisateur
<em>config::$_statistiques</em> doit être définis a true pour que les statistiques soit enregistré
</p>
<?php
js::monaco_highlighter('<?php\n' .
'$stat=new statistiques();\n' .
'//Cette fonction permet d\'enregistrer l\'activité des utilisateurs sur la page actuelle\n' .
'$stat->add_stat();\n' .
'//Cette fonction permet d\'afficher les statistiques ( il est conseillé de ne pas appeler cette fonction sur une page "publique" )\n' .
'$stat->get_stat();\n' .
'//Désactive l\'enregistrement de statistiques pour la page courante \n' .
'statistiques::get_instance()->disable();\n\n' .
'//Affiche l\'interface pour consulter les statistiques (a placer dans l\'administration)\n' .
'statistiques::get_instance()->html();\n' .
'?>'
);
}
Expand Down
38 changes: 19 additions & 19 deletions html/doc/class/docTiers.class.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,48 +15,48 @@ public function __construct() {
js::datatable("datatable", ["lengthChange" => "false", "paging" => "false", "pageLength" => -1]);
echo tags::tag("p", [], "Vous trouverez ici la liste de toutes les librairies tierces utilisées par le framework.") .
html_structures::table(["Librairie", "Version", "Auteur", "Langage", "Licence"], [
[html_structures::a_link("https://alertifyjs.com", "Alertify", "", "", true), "1.13.1", "Fabien Doiron", "JS", $licences[0]],
[html_structures::a_link("https://alertifyjs.com", "Alertify", "", "", true), "1.14.0", "Mohammad Younes", "JS", $licences[0]],
[html_structures::a_link("https://animate.style", "Animate", "", "", true), "4.1.1", "Daniel Eden", "JS", $licences[0]],
[html_structures::a_link("https://getbootstrap.com", "Bootsrap", "", "", true), "5.3.0", "Twitter, Inc.", "CSS, JS", $licences[0]],
[html_structures::a_link("https://icons.getbootstrap.com", "Bootsrap Icons", "", "", true), "1.10.5", "Twitter, Inc.", "CSS", $licences[0]],
[html_structures::a_link("https://bootswatch.com", "Bootswatch", "", "", true), "5.3.0", "Thomas Park", "CSS", $licences[0]],
[html_structures::a_link("https://github.com/Gregwar/Captcha", "Captcha", "", "", true), "1.2.0", "Gregwar", "PHP", $licences[0]],
[html_structures::a_link("https://getbootstrap.com", "Bootsrap", "", "", true), "5.3.3", "Twitter, Inc.", "CSS, JS", $licences[0]],
[html_structures::a_link("https://icons.getbootstrap.com", "Bootsrap Icons", "", "", true), "1.11.3", "Twitter, Inc.", "CSS", $licences[0]],
[html_structures::a_link("https://bootswatch.com", "Bootswatch", "", "", true), "5.3.3", "Thomas Park", "CSS", $licences[0]],
[html_structures::a_link("https://github.com/Gregwar/Captcha", "Captcha", "", "", true), "1.2.1", "Gregwar", "PHP", $licences[0]],
[html_structures::a_link("https://ckeditor.com/ckeditor-4/", "Ckeditor", "", "", true), "4.22.1", "Frederico Knabben", "JS", $licences[1]],
[html_structures::a_link("https://github.com/Cerdic/CSSTidy", "CSSTidy", "", "", true), "2.0.3", "Cedric Morin", "PHP", $licences[2]],
[html_structures::a_link("https://js.cytoscape.org", "Cytoscape", "", "", true), "3.25.0", "The Cytoscape Consortium", "JS", $licences[10]],
[html_structures::a_link("https://www.datatables.net", "Datatable", "", "", true), "1.13.5", "SpryMedia Limited", "JS", $licences[10]],
[html_structures::a_link("https://github.com/Cerdic/CSSTidy", "CSSTidy", "", "", true), "2.1.0", "Cedric Morin", "PHP", $licences[2]],
[html_structures::a_link("https://js.cytoscape.org", "Cytoscape", "", "", true), "3.29.2", "The Cytoscape Consortium", "JS", $licences[10]],
[html_structures::a_link("https://www.datatables.net", "Datatable", "", "", true), "2.0.7", "SpryMedia Limited", "JS", $licences[10]],
[html_structures::a_link("https://github.com/trentrichardson/jQuery-Timepicker-Addon", "Datetimepicker", "", "", true), "1.6.3", "Trent Richardson", "JS", $licences[0]],
[html_structures::a_link("https://github.com/dompdf/dompdf", "Dompdf", "", "", true), "2.0.3", "Benj Carson", "PHP", $licences[2]],
[html_structures::a_link("https://github.com/dompdf/dompdf", "Dompdf", "", "", true), "2.0.4", "Benj Carson", "PHP", $licences[2]],
[html_structures::a_link("https://jdownloader.org/knowledge/wiki/linkprotection/container/dlcapi", "Dlcapi", "", "", true), "1.0.1", "JDTeam", "PHP", $licences[10]],
[html_structures::a_link("https://studio-42.github.io/elFinder", "elFinder", "", "", true), "2.1.62", "Studio 42", "JS, PHP", $licences[3]],
[html_structures::a_link("https://studio-42.github.io/elFinder", "elFinder", "", "", true), "2.1.65", "Studio 42", "JS, PHP", $licences[3]],
[html_structures::a_link("https://fancyapps.com/fancybox/3", "Fancybox", "", "", true), "3.5.7", "fancyApps", "CSS, JS", $licences[1]],
[html_structures::a_link("https://github.com/stretchr/filetypes.js", "Filetypes.js", "", "", true), "1.0", "Mat Ryer", "JS", $licences[0]],
[html_structures::a_link("http://www.raymondhill.net/finediff/viewdiff-ex.php", "Finediff", "", "", true), "0.6", "Raymond Hill", "PHP", $licences[0]],
[html_structures::a_link("http://www.flotcharts.org", "Flot", "", "", true), "4.2.3", "IOLA and Ole Laursen", "JS", $licences[0]],
[html_structures::a_link("http://www.flotcharts.org", "Flot", "", "", true), "4.2.6", "IOLA and Ole Laursen", "JS", $licences[0]],
[html_structures::a_link("https://github.com/yconst/Freetile", "Freetile", "", "", true), "0.3.1", "Ioannis (Yannis) Chatzikonstantinou", "JS", $licences[10]],
[html_structures::a_link("https://fullcalendar.io", "Fullcalendar", "", "", true), "5.11.3", "Adam Shaw", "JS", $licences[0]],
[html_structures::a_link("https://fullcalendar.io", "Fullcalendar", "", "", true), "6.1.11", "Adam Shaw", "JS", $licences[0]],
[html_structures::a_link("https://github.com/googleapis/google-api-php-client", "Google OAuth SDK (PHP 7.4)", "", "", true), "2.15.0", "Google", "PHP", $licences[4]],
[html_structures::a_link("https://jquery.com", "JQuery, JQuery-UI", "", "", true), "1.12.1", "jQuery Foundation", "JS", $licences[0]],
[html_structures::a_link("https://jquery.com", "JQuery, JQuery-UI", "", "", true), "1.13.2", "jQuery Foundation", "JS", $licences[0]],
[html_structures::a_link("https://github.com/mkkeck/jquery-ui-iconfont", "jQuery UI Icon Font", "", "", true), "2.3.2", "Michael Keck", "JS", $licences[0]],
[html_structures::a_link("https://willowsystems.github.io/jSignature", "JSignature", "", "", true), "2.0", "Willowsystems", "JS", $licences[0]],
[html_structures::a_link("https://github.com/cozmo/jsQR", "jsQR", "", "", true), "2021.08", "Cozmo", "JS", $licences[4]],
[html_structures::a_link("https://leafletjs.com", "Leaflet", "", "", true), "1.9.4", "Vladimir Agafonkin, CloudMade", "JS", $licences[10] . ", OSMF"],
[html_structures::a_link("#", "Modal", "", "", true), "1.0", "<em>Inconnu</em>", "JS", $licences[10]],
[html_structures::a_link("https://microsoft.github.io/monaco-editor/", "Monaco editor", "", "", true), "0.40.0", "Microsoft", "JS", $licences[0]],
[html_structures::a_link("https://microsoft.github.io/monaco-editor/", "Monaco editor", "", "", true), "0.48.0", "Microsoft", "JS", $licences[0]],
[html_structures::a_link("http://paypal.github.io/PayPal-PHP-SDK/", "PayPal-PHP-SDK", "", "", true), "1.14.0", "PAYPAL INC.", "PHP", $licences[10]],
[html_structures::a_link("https://phpjs.hertzen.com/", "Php.js", "", "", true), "1.2", "Niklas von Hertzen", "JS", $licences[0]],
[html_structures::a_link("https://locutus.io/php/", "Phpjs", "", "", true), "1.3.2", "Kevin van Zonneveld, Locutus", "JS", $licences[0]],
[html_structures::a_link("https://github.com/facebookarchive/php-graph-sdk", "Php-graph-sdk", "", "", true), "5.7.0", "Facebook INC.", "PHP", $licences[10]],
[html_structures::a_link("https://github.com/PHPMailer/PHPMailer", "Phpmailer", "", "", true), "6.8.0", "Marcus Bointon, Jim Jagielski, Andy Prevost, Brent R. Matzelle", "PHP", $licences[2]],
[html_structures::a_link("https://github.com/PHPMailer/PHPMailer", "Phpmailer", "", "", true), "6.9.1", "Marcus Bointon, Jim Jagielski, Andy Prevost, Brent R. Matzelle", "PHP", $licences[2]],
[html_structures::a_link("http://phpqrcode.sourceforge.net/", "Phpqrcode", "", "", true), "1.1.4", "Dominik Dzienia", "PHP", $licences[2]],
[html_structures::a_link("https://github.com/scottjehl/Respond", "Respond", "", "", true), "1.4.2", "Scott Jehl", "JS", $licences[0]],
[html_structures::a_link("https://revealjs.com/", "Reveal", "", "", true), "4.5.0", "Hakim El Hattab", "JS", $licences[0]],
[html_structures::a_link("https://revealjs.com/", "Reveal", "", "", true), "5.0.5", "Hakim El Hattab", "JS", $licences[0]],
[html_structures::a_link("#", "ReversoLib", "", "", true), "1.0", "Dyrk", "PHP", "<em>Aucune</em>"],
[html_structures::a_link("https://tutorialzine.com/2011/09/shuffle-letters-effect-jquery", "Shuffleletters", "", "", true), "1.0", "Martin Angelov", "JS", $licences[0]],
[html_structures::a_link("https://github.com/christopherwk210/SimpleParallax", "SimpleParallax", "", "", true), "0.1", "Chris Anselmo (christopherwk210)", "JS", $licences[0]],
[html_structures::a_link("https://www.smarty.net", "Smarty", "", "", true), "4.3.0", "Uwe Tews, Rodney Rehm", "PHP", $licences[2]],
[html_structures::a_link("https://www.smarty.net", "Smarty", "", "", true), "4.3.2", "Uwe Tews, Rodney Rehm", "PHP", $licences[2]],
[html_structures::a_link("https://jonobr1.com/stalactite/", "Stalactite", "", "", true), "0.1", "Jono Brandel", "JS", $licences[4]],
[html_structures::a_link("https://github.com/syntaxhighlighter/syntaxhighlighter", "syntaxhighlighter", "", "", true), "3.0.83", "Alex Gorbatchev", "JS", $licences[0] . ', ' . $licences[1]],
[html_structures::a_link("https://videojs.com/", "Videojs", "", "", true), "8.3.0", "Brightcove, Inc.", "JS", $licences[4]],
[html_structures::a_link("https://videojs.com/", "Videojs", "", "", true), "8.12.0", "Brightcove, Inc.", "JS", $licences[4]],
[html_structures::a_link("http://richhollis.github.io/vticker/", "Vticker", "", "", true), "1.21", "Richard Hollis", "JS", $licences[0] . ", " . $licences[3]],
[html_structures::a_link("https://github.com/Machy8/xhtml-formatter", "Xhtml-formatter", "", "", true), "1.0", "Vladimír Macháček", "PHP", $licences[3]],
], "", "datatable") . html_structures::hr() .
Expand Down

0 comments on commit 5a622c1

Please sign in to comment.