IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MkFramework Discussion :

Bug Mkframework module authentification


Sujet :

MkFramework

  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2014
    Messages : 6
    Points : 2
    Points
    2
    Par défaut Bug Mkframework module authentification
    Bonjour Michael,

    Je tenais à te féliciter pour le travail que tu fais sur ton framework et aussi te remercie car il est très simple à prendre en main pour un débutant. Je vien de d'obtenir ma licence charger de projet en système informatique appliquer et lors de ma licence on a eu un module sur php lors du quel on nous a formé sur le développement en PHP. Lors de ce module on a développé en PHP sans framework et à la fin du module le formateur nous a expliqué qu'il existait des framework pour développer en PHP et que le développement en PHP aujourd'hui passait obligatoirement par un framework pour gagner du temps. Il nous a donc parler de yii, zend et symphony mais il nous a surtout montré Mkframework qui était très simple pour débuter et qu'il avait un gros potentiel. Ce module ma donné envie de me mettre au développement en PHP mais ayant plutôt un profil réseau en informatique et donc pas beaucoup de connaissances en développement je me suis dirigé vers mkframework.

    Aujourd'hui sa fait deux semaines que je me forme sur mkframework grâce à tes tutoriels vidéo qui sont vraiment bien fait. Mais j'ai constaté 2,3 bug que je voulais te remonter pour que tu puisse améliorer ton framework et aussi que tu m'explique si ce ne sont pas des bug mais si c'est plutôt une erreur de ma part.

    Voici les problèmes que j'ai rencontré jusqu'à aujourd'hui :

    1- Lorsque je crée une application classique et que je crée un module d'authentification je veux ajouter des contraintes. Pour le champ Nom d'utilisateur et mot de passe je mais la contrainte le champ ne doit pas être vide depuis le builder en allant dans Afficher et sa marche très bien mais quand je met la contrainte le Non d'utilisateur doit être un e-mail valide et que je clique sur ajouter il crée comme contrainte le champ ne doit pas être vide.

    2- Lorsque je crée une application bootstrap et que je crée un module d'authentification avec inscription et que j'ajoute des contraintes sur les champs vide et le format de l'émail validé quand je vais dans inscription et que j'insère un utilisateur en remplissant tous les champs correctement sa me met l'utilisateur à bien été créé mais il me le créé pas en base et quand je veux créer un utilisateur qui existe déjà il me met que l'utilisateur est déjà créé donc le lien avec la base marche mais je comprends pas pourquoi sa me le créé pas alors qu'avec une application classique sa fonction correctement.

    3- Lorsque je crée un module authentification et que je met dans la configuration pour [auth] enable =1 la page m'envoie bien par défaut sur la page d'authentification mais sans savoir pourquoi au bout d'un moment sa me renvoie plus sur cette page alors que j'ai rien changé.

    Voilà j'espère que j'ai été assez clair.

    Merci d'avance pour ton retour.

  2. #2
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    Bonsoir,
    Merci pour ces retours, je vais regarder ces 2 points et je vous reviens, il y a peut etre en effet un bug sur les contraintes dans le module d'inscription

    Pour le point 3 en revanche, le problème ne viendrait pas du cookie ? En supprimant ces cookies, cette situation "bizarre" se reproduit-elle ?,
    Deuxième question: sous quel navigateur testez-vous ? j'ai découvert qu'il y avait un bug sur les cookies de sessions dans le dernier ie
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  3. #3
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    Pour le point 1 et 2, il y a bien un "bug" dans le module d'inscription

    Il faut remplacer dans la methode processInscription

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    		$oAccount->save();
    par
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    		if($oAccount->save()==false){
    			return $oAccount->getListError();
    		}
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  4. #4
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2014
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Merci pour cette réponse aussi rapide.

    Pour le point 3 j'avais pas pensé à ça. Je vais essayer demain et je vous fais le retour du test.

    Pour la question 2 je suis sous Debian 8 avec Mozilla iceweasel comme navigateur.

    Votre framework est très prometteur et votre builder fait vraiment la différence par rapport aux autres framework. Mkframework à un très grand potentiel mais je pense que la charge de travail pour l'améliorer et corriger les bugs est trop important pour une seule personne. Ce n'est qu'une suggestions mais avez vous déjà pensé de le passer sous licence GPL pour vous faire aider dans son développement ?

  5. #5
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2014
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Merci vous êtes vraiment très réactif.

    J'essayerai demain avec vos modifications.

  6. #6
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    Je suis curieux pour le point 3

    Pour le mkframework, comme vous pouvez le voir sur la page roadmap, la suite est des plus prometteuse: http://mkframework.com/roadmap.html

    Pour rappel plusieurs choses:
    1. Sous licence LGPLv3
    2. dispo également sous github pour favoriser les forks/pull request
    3. existe et est maintenu depuis 2009 (sans regression)

    Enfin je suis toujours ouvert aux critiques constructives, retours de bugs...
    Mais je dois dire que depuis ces années, j'ai majoritairement des retours de bugs ou de demande d'amélioration sur le builder

    Le framework évolue également, mais étant très simple il y a eu peu de bug depuis son lancement, plus des fonctionnalités ajoutées que des bugs

    C'est donc avec plaisir que je lis vos retours que j’intégrerai dans la prochaine grosse mise à jour (refacto/traduction) prévu pour les prochaines semaines (la plus grosse mise à jour du builder depuis sa création)
    Mais c'est aussi la plus constructive, installant la base modulaire et industriel nécessaire pour le step d'après: le market
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  7. #7
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    Citation Envoyé par Trunk87 Voir le message
    Lors de ce module on a développé en PHP sans framework et à la fin du module le formateur nous a expliqué qu'il existait des framework pour développer en PHP et que le développement en PHP aujourd'hui passait obligatoirement par un framework pour gagner du temps. Il nous a donc parler de yii, zend et symphony mais il nous a surtout montré Mkframework qui était très simple pour débuter et qu'il avait un gros potentiel. Ce module ma donné envie de me mettre au développement en PHP mais ayant plutôt un profil réseau en informatique et donc pas beaucoup de connaissances en développement je me suis dirigé vers mkframework.
    J'ai lu un peu en diagonnal, et je serais curieux de savoir quel formateur recommande ce framework qui manque de notoriété par rapport aux autres cités... je suis étonné et flatté
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  8. #8
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2014
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Pour le point 3 je vous ferai un retour le plus rapidement possible. (Demain si possible).

    Je viens juste de voir la page roadmap et effectivement la suite est très prometteuse et je trouve ça super.

    Désolé je ne savais pas qu'il etait déjà sous LGPLv3. Merci pour l'information.

    Effectivement on ne peut pas reprocher beaucoup de choses à votre framework, vous faites un très bon boulot. Mes critiques, ne sont pas pour dénigrer votre travail mais pour vous aider à améliorer votre framework car je sais que nos retour (nous utilisateurs de votre framework) sont importants pour vous. 😉

    Les évolutions que vous avez prévu me motive encore plus à m'investir dans ma formation à l'utilisation de votre framework.

    J'essaie de vous tenir au courant pour le point 3. Si effectivement le problème est juste lié aux cookies je pourrais mettre ce post en Résolu.

  9. #9
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    Pour votre problème sur debian, celui-ci semble identifié dans la gestion de cookie de session

    https://debian-facile.org/viewtopic.php?id=5327
    http://forum.webrankinfo.com/debian-...r-t132599.html

    Le problème si je comprends bien, viendrait de la routine de "nettoyage" des cookies de sessions sur le serveur


    Pour le framework, je n'ai pas mal pris vos remarques, au contraire
    Comme je le dis: j'apprécie tout retour, critiques constructives que ce soit sur le framework ou le builder, j'accepte toutes corrections de bugs et/ou suggestions.
    Plus il y a d'utilisateurs sur ce framework, plus il y a de retour qui le font progresser

    Par exemple : pour le point 1, la notion de vérification des données à l'enregistrement est une idée d'un utilisateur avec qui j'ai longuement discuté avant de voir comment l'implémenter sans faire de regression sur les projets existants.

    Ceci reste ma principal contrainte quand j'implémente: permetre à tous les projets de pouvoir "simplement" mettre à jour le framework pour bénéficier des nouvelles fonctionnalités sans "casser" leur site

    J'ai moi même des applications qui date des premières version du framework, donc la plus connu est le builder lui-même
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  10. #10
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2014
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Bonsoir,

    voici mon retour sur les problèmes que je rencontraient:

    Pour le point 3 effectivement ça a l'aire d'être lié aux cookies.

    Pour le point 2 j'ai remplacer comme vous m'avez dit (Voir ci-dessous).
    Citation Envoyé par imikado Voir le message
    Pour le point 1 et 2, il y a bien un "bug" dans le module d'inscription

    Il faut remplacer dans la methode processInscription

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    		$oAccount->save();
    par
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    		if($oAccount->save()==false){
    			return $oAccount->getListError();
    		}
    Sauf que moi j'ai pas $oAccount->save(); mais $oExample->save(); (Voir capture ci-dessous).

    Pièce jointe 190307

    Une fois cette modification faite, j’essaie à nouveau de m’inscrit et lorsque je clic sur s'enregistrer voici ce que sa m'affiche:
    Nom : capture d'écran2.png
Affichages : 146
Taille : 102,1 Ko
    Nom : capture d'écran3.png
Affichages : 154
Taille : 46,2 Ko
    Nom : capture d'écran4.png
Affichages : 147
Taille : 43,6 Ko
    Nom : capture d'écran5.png
Affichages : 141
Taille : 40,5 Ko
    Nom : capture d'écran6.png
Affichages : 142
Taille : 53,3 Ko

  11. #11
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    En effet c'est logique: getListError retourne un tableau d'erreur indexé par champ, contenant un tableau d'erreur

    IL y a donc deux solutions
    1. faire une boucle sur ce tableau d'erreurs
    2. utiliser le plugin_form

    Pour la solution 1:
    Remplacez
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    return $oAccount->getListError();
    par
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    $tError=$oAccount->getListError();
    $tmp=null;
    if($tError){
    foreach($tError as $field => $tVal){
     $tmp.=$field.':'.implode(',',$tVal);
    }
    }
    return $tmp;
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  12. #12
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    Pour la solution 2, voila ce que j'ai fait avec (à remplacer dans votre cas)


    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
     
    public function _inscription(){
    		$tMessage=$this->processInscription();
     
    		$oView=new _view('auth::inscription');
    		$oView->tMessage=$tMessage;
     
    		//remplacez ici juste row_author 
    		$oView->oUser=new row_author;
     
    		$this->oLayout->add('main',$oView);
    	}
    	private function processInscription(){
    		if(!_root::getRequest()->isPost()){
    			return null;
    		}
     
    		$tAccount=model_author::getInstance()->getListAccount();
     
    		//remplacez ici firstname par le champ contenant votre login
    		$sFieldLogin='firstname';
    		$sFieldPassword='mypassword';
     
     
    		$sLogin=_root::getParam($sFieldLogin);
    		$sPassword=_root::getParam('password');
     
    		if($sPassword!=_root::getParam('password2')){
    			return array($sFieldLogin=>array('Les deux mots de passe doivent etre identiques'));
    		}elseif($sLogin==''){
    			return array($sFieldLogin=>array('Vous devez remplir le nom d utilisateur'));
    		}elseif($sPassword==''){
    			return array($sFieldLogin=>array('Vous devez remplir le mot de passe'));
    		}elseif(strlen($sPassword) > $this->maxPasswordLength){
    			return array($sFieldLogin=>array('Mot de passe trop long'));
    		}elseif(isset($tAccount[$sLogin]) ){
    			return array($sFieldLogin=>array('Utilisateur déjà existant'));
    		}
     
    		//remplacez ici row_author
    		$oAuthor=new row_author;
    		$oAuthor->$sFieldLogin=$sLogin;
    		//remplacez ici model_author
    		$oAuthor->$sFieldPassword=model_author::getInstance()->hashPassword($sPassword);
    		if($oAuthor->save()==false){
     
    			return $oAuthor->getListError();
     
    		}
     
    		return array('success'=>array('Votre compte a bien été créé'));
     
    	}
    Et la vue inscription: remplacez dans cette vue uniquement "firstname"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    <h1>Inscription</h1>
    <?php $oForm=new plugin_form($this->oUser);
    $oForm->setMessage($this->tMessage);
    ?>
    <form action="" method="POST">
       <table>
               <tr>
                   <th>Nom d'utilisateur</th>
                   <td><?php echo $oForm->getInputText('firstname')?></td>
               </tr>
               <tr>
                   <th>Mot de passe</th>
                   <td><input type="password" name="password" /></td>
               </tr>
               <tr>
                   <th>Confirmez le mot de passe</th>
                   <td><input type="password" name="password2" /></td>
               </tr>
     
       </table>
       <p><input type="submit" value="S'enregistrer" /> <a href="<?php echo _root::getLink('auth::login')?>">Page de login</a> </p>
     
     
    <?php if($this->tMessage and isset($this->tMessage['success'])):?>
      <p><?php echo implode($this->tMessage['success'])?> </p>
    <?php endif;?>
    </form>
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  13. #13
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2014
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Super je vous remercie beaucoup pour votre aide.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Play 2] Module authentification (login) ?
    Par boutss dans le forum Play!
    Réponses: 4
    Dernier message: 03/04/2012, 14h22
  2. Réponses: 19
    Dernier message: 24/04/2009, 11h09
  3. prob connexion acces et module authentification
    Par miss_monika dans le forum C#
    Réponses: 1
    Dernier message: 04/05/2007, 11h18
  4. [LDAP] développement module authentification
    Par frizou11 dans le forum C
    Réponses: 3
    Dernier message: 17/02/2007, 04h49
  5. [Continuum] projet multi-modules +authentification serveur
    Par rseM2 dans le forum Intégration Continue
    Réponses: 13
    Dernier message: 15/02/2007, 17h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo