Vous êtes connecté en tant que anonymous Se Deconnecter
Browse code

ajout d'un routage Symfony sur une classe contenu dans les include avec la création de la classe Conduit permettant de rendre un page conduite par la route Symfony, ajout de la class asynchonous permettant d'injecter du js et du css

TODO: finir la class asynchonous et tester cette version de dev sur un vrai serveur appartenant à la TT+

TODO: ajouter les modules gestionMedia gestionMenu gestionPage (gestionBackendCms)

FIXME: appel curl ou fopen d'une methode http depuis une action ou un controlleur.

TODO: sécuriser les accès HTTP1.1 par un fichier config similaire a l'applet Discourse faite pour Tinternet

TODO: ajouter un plug-in symfony permettant de charger un utilisateur dans les apps a partir de l'authentification multiple

TODO: lire les documentation officielles provenant des 4 plate-formes tranquillement afin de comprendre commet doit on tester ces type d'auth quitte a créé un sous domaine particulier directement hebergé sur gittea
-->Sécuriser le serveur de dev

Emmanuel ROY authored on 05/12/2019 14:05:38
Showing 1 changed files
... ...
@@ -22,7 +22,18 @@ class Controlleur{
22 22
                 }
23 23
 
24 24
             default:
25
-                if ($application->url->page['control']) {
25
+                if ($application->route != NULL) {
26
+                    $conduit = explode('::', $application->route['controller']);
27
+                    require CONDUIT_PATH . DIRECTORY_SEPARATOR . $conduit[0] . '.php';
28
+                    $conduitRoute = "\\" . $conduit[0];
29
+                    $method = strtolower($conduit[1]);
30
+                    $class = new $conduitRoute();
31
+                    $class->initialize($application->route);
32
+                    $this->vue = new VueVide();
33
+                    ob_start();
34
+                    $class->$method();
35
+                    $this->vue->ecran = ob_get_clean();
36
+                } else if ($application->url->page['control']) {
26 37
                     $url_params = $application->url->page['params'];
27 38
                     require TRAITEMENT_PATH . DIRECTORY_SEPARATOR . $application->url->page['name'] . '.php';
28 39
                 } else {
Browse code

mise en place des actions de vue, du loggeur du MVC test des resultat des reponse Rest avec les methode GET PUT DELETE POST avec curl

FIXME: appel curl ou fopen d'une methode http depuis une action ou un controlleur.

TODO: sécuriser les accès HTTP1.1 par un fichier config similaire a l'applet Discourse faite pour Tinternet

TODO: ajouter un plug-in symfony permettant de charger un utilisateur dans les apps a partir de l'authentification multiple

TODO: lire les documentation officielles provenant des 4 plate-formes tranquillement afin de comprendre commet doit on tester ces type d'auth quitte a créé un sous domaine particulier directement hebergé sur gittea
-->Sécuriser le serveur de dev

Emmanuel ROY authored on 04/12/2019 15:21:19
Showing 1 changed files
... ...
@@ -9,40 +9,19 @@ class Controlleur{
9 9
 	
10 10
 	public function __construct($application){
11 11
 
12
-
13
-        $requete = new MVC\Classe\Request();
14
-
15
-        switch ($requete->method) {
12
+        switch ($application->http->method) {
16 13
             //cas des requètes PUT et DELETE
17 14
             case 'PUT':
18 15
             case 'DELETE':
19
-                require CONTROLLER_PATH . DIRECTORY_SEPARATOR . $application->url->page['name'] . 'HttpReponse.php';
20
-                $reponseHttp = lcfirst($application->url->page['name']) . 'HttpReponse';
21
-                $response = new $reponseHttp($application->url, $requete->getData());
22
-                if ($requete->method == 'DELETE') {
23
-                    $reponseHttp->delete();
24
-                } else {
25
-                    $reponseHttp->put();
26
-                }
27
-                break;
28
-            //cas des requètes POST et GET
29 16
             case 'POST':
30 17
             case 'GET':
31
-                if (!file_exists(CONTROLLER_PATH . DIRECTORY_SEPARATOR . $application->url->page['name'] . '')) {
18
+                if ($application->browser->isAppRequest()) {
32 19
                     require CONTROLLER_PATH . DIRECTORY_SEPARATOR . $application->url->page['name'] . 'HttpReponse.php';
33
-                    $reponseHttp = lcfirst($application->url->page['name']) . 'HttpReponse';
34
-                    $response = new $reponseHttp($application->url, $requete->getData());
35
-                    if ($requete->method == 'POST') {
36
-                        $reponseHttp->post();
37
-                    } else {
38
-                        $reponseHttp->get();
39
-                    }
20
+                    $this->callHttpResponse($application);
40 21
                     break;
41 22
                 }
42 23
 
43
-
44 24
             default:
45
-
46 25
                 if ($application->url->page['control']) {
47 26
                     $url_params = $application->url->page['params'];
48 27
                     require TRAITEMENT_PATH . DIRECTORY_SEPARATOR . $application->url->page['name'] . '.php';
... ...
@@ -54,5 +33,25 @@ class Controlleur{
54 33
 
55 34
 
56 35
 	}
36
+
37
+    public function callHttpResponse($application)
38
+    {
39
+        $reponseHttp = "\\" . $application->url->page['name'] . 'HttpReponse';
40
+
41
+        //FIXME:
42
+        //Le passage par le contructeur dans le cas d'une instanciation dynamique ne fonctionne pas
43
+        //$reponse = new $reponseHttp($application->url, $application->http->getData());
44
+        //il faut passer par une fonction personnelle permettant l'instanciation des variables
45
+
46
+        $reponse = new $reponseHttp();
47
+        $reponse->instanciate($application->url, $application->http->getData());
48
+        $method = strtolower($application->http->method);
49
+
50
+        $this->vue = new VueVide();
51
+        ob_start();
52
+        $reponse->$method();
53
+        $this->vue->ecran = ob_get_clean();
54
+        return;
55
+    }
57 56
 	
58 57
 }
Browse code

mise en place des requètes HTTP1.1 dans le core du MVC afin qu'elles soient utilisable simplement

TODO: tester les requètes HTTP1.1 , sécuriser les accès par un fichier config similaire a l'applet Discourse faite pour Tinternet

TODO: ajouter un plug-in symfony permettant de charger un utilisateur dans les apps a partir de l'authentification multiple

TODO: lire les documentation officielles provenant des 4 plate-formes tranquillement afin de comprendre commet doit on tester ces type d'auth quitte a créé un sous domaine particulier directement hebergé sur gittea
-->Sécuriser le serveur de dev

Emmanuel ROY authored on 02/12/2019 19:01:38
Showing 1 changed files
... ...
@@ -9,13 +9,50 @@ class Controlleur{
9 9
 	
10 10
 	public function __construct($application){
11 11
 
12
-	    if($application->url->page['control']){
13
-            $url_params = $application->url->page['params'];
14
-	        require TRAITEMENT_PATH . DIRECTORY_SEPARATOR . $application->url->page['name'] . '.php';
15
-        } else {
16
-            $this->modele = new Modele($application->url->page);
17
-            $this->vue = new Vue($this);
12
+
13
+        $requete = new MVC\Classe\Request();
14
+
15
+        switch ($requete->method) {
16
+            //cas des requètes PUT et DELETE
17
+            case 'PUT':
18
+            case 'DELETE':
19
+                require CONTROLLER_PATH . DIRECTORY_SEPARATOR . $application->url->page['name'] . 'HttpReponse.php';
20
+                $reponseHttp = lcfirst($application->url->page['name']) . 'HttpReponse';
21
+                $response = new $reponseHttp($application->url, $requete->getData());
22
+                if ($requete->method == 'DELETE') {
23
+                    $reponseHttp->delete();
24
+                } else {
25
+                    $reponseHttp->put();
26
+                }
27
+                break;
28
+            //cas des requètes POST et GET
29
+            case 'POST':
30
+            case 'GET':
31
+                if (!file_exists(CONTROLLER_PATH . DIRECTORY_SEPARATOR . $application->url->page['name'] . '')) {
32
+                    require CONTROLLER_PATH . DIRECTORY_SEPARATOR . $application->url->page['name'] . 'HttpReponse.php';
33
+                    $reponseHttp = lcfirst($application->url->page['name']) . 'HttpReponse';
34
+                    $response = new $reponseHttp($application->url, $requete->getData());
35
+                    if ($requete->method == 'POST') {
36
+                        $reponseHttp->post();
37
+                    } else {
38
+                        $reponseHttp->get();
39
+                    }
40
+                    break;
41
+                }
42
+
43
+
44
+            default:
45
+
46
+                if ($application->url->page['control']) {
47
+                    $url_params = $application->url->page['params'];
48
+                    require TRAITEMENT_PATH . DIRECTORY_SEPARATOR . $application->url->page['name'] . '.php';
49
+                } else {
50
+                    $this->modele = new Modele($application->url->page);
51
+                    $this->vue = new Vue($this);
52
+                }
18 53
         }
54
+
55
+
19 56
 	}
20 57
 	
21 58
 }
Browse code

Ajout des token et pasphrase des 4 hybrid authentifaction choisie: Github,Facebook,Google,Twitter Fonctionne partiellement pour des raisons obscure lié a cette authentification partagée par des grands groupe.

TODO: lire les documentation officielles provenant des 4 plate-formes tranquillement afin de ccomprendre commet doit on tester ces type d'auth quitte a créé un sous domaine particulier directement hebergé sur gittea
-->Sécuriser le serveur de dev

Emmanuel ROY authored on 11/10/2019 15:26:22
Showing 1 changed files
... ...
@@ -2,11 +2,6 @@
2 2
 
3 3
 namespace MVC\Classe;
4 4
 
5
-define( "MODELS_PATH" , APPLICATION_PATH . DIRECTORY_SEPARATOR . "include" . DIRECTORY_SEPARATOR . "modeles");
6
-define( "VIEW_PATH" , APPLICATION_PATH . DIRECTORY_SEPARATOR . "include" . DIRECTORY_SEPARATOR . "vues");
7
-define( "CONTROLLER_PATH" , APPLICATION_PATH . DIRECTORY_SEPARATOR . "include" . DIRECTORY_SEPARATOR . "controlleurs");
8
-define( "TRAITEMENT_PATH" , APPLICATION_PATH . DIRECTORY_SEPARATOR . "traitements");
9
-
10 5
 class Controlleur{
11 6
 	
12 7
 	public $modele;
Browse code

Application nettoyé, Ajout de la lib composer hybridauth/hybridauth TODO: integrer hybrid auth sur une page simple d'authentification

Emmanuel ROY authored on 09/09/2019 22:37:17
Showing 1 changed files
... ...
@@ -18,8 +18,8 @@ class Controlleur{
18 18
             $url_params = $application->url->page['params'];
19 19
 	        require TRAITEMENT_PATH . DIRECTORY_SEPARATOR . $application->url->page['name'] . '.php';
20 20
         } else {
21
-            $this->modele = new modele($application->url->page);
22
-            $this->vue = new vue($this);
21
+            $this->modele = new Modele($application->url->page);
22
+            $this->vue = new Vue($this);
23 23
         }
24 24
 	}
25 25
 	
Browse code

initial commmit de la branche Nude with composer

git authored on 14/03/2019 16:48:02
Showing 1 changed files
1 1
new file mode 100644
... ...
@@ -0,0 +1,26 @@
1
+<?php
2
+
3
+namespace MVC\Classe;
4
+
5
+define( "MODELS_PATH" , APPLICATION_PATH . DIRECTORY_SEPARATOR . "include" . DIRECTORY_SEPARATOR . "modeles");
6
+define( "VIEW_PATH" , APPLICATION_PATH . DIRECTORY_SEPARATOR . "include" . DIRECTORY_SEPARATOR . "vues");
7
+define( "CONTROLLER_PATH" , APPLICATION_PATH . DIRECTORY_SEPARATOR . "include" . DIRECTORY_SEPARATOR . "controlleurs");
8
+define( "TRAITEMENT_PATH" , APPLICATION_PATH . DIRECTORY_SEPARATOR . "traitements");
9
+
10
+class Controlleur{
11
+	
12
+	public $modele;
13
+	public $vue;
14
+	
15
+	public function __construct($application){
16
+
17
+	    if($application->url->page['control']){
18
+            $url_params = $application->url->page['params'];
19
+	        require TRAITEMENT_PATH . DIRECTORY_SEPARATOR . $application->url->page['name'] . '.php';
20
+        } else {
21
+            $this->modele = new modele($application->url->page);
22
+            $this->vue = new vue($this);
23
+        }
24
+	}
25
+	
26
+}