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

Symfony PHP Discussion :

gestion de parc avec sfDoctrineGuard


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Inscrit en
    Juin 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 5
    Par défaut gestion de parc avec sfDoctrineGuard
    j'ai besoin d'aide pour la creation d'une application de gestion de parc informatique qui gere:

    -les unites centrales
    -les moniteurs
    -les accesooires(autres)
    -les imprimantes
    -les demandes d'intervention pour le moment j'ai cré un projet gest_parc mais j'ai eu des problemes de'authentification et il me semble que tout le code que j'ai generé est faux.

    reste a signaler que toute l'application doit etre securisée avec 2 niveaux de permission s admin et simple

    qq1 pourm'aider j'ai besopin de ce projet tres urgent pour mon projet fin d'etudes je suis bloqué

    en privé vous pouvez me contacter sur: chaft_tounsi@yahoo.fr

  2. #2
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Je pense que la solution serait d'installer sfGuardPlugin, qui est relativement simple à installer et a configurer.

    Ce qui m'inquiète un peu plus, c'est le fait que tu as déjà fais des essais perso sur la mise en place d'une sécurité personnelle;

    Donc je te propose un plan d'actions en trois parties :
    • purifier l'application existante, supprimer de ton code, tous ce que tu as pu mettre pour gérer la sécurité et vérifier que cela fonctionne.
    • installer le plugin sfGuardPlugin dans une nouvelle application vierge de test avec une table et de "jouer" avec quelques heures pour bien en comprendre le fonctionnement
    • installer le plugin sur l'application, l'activer et mettre les droits en place


    Les droits sont simple à gérer, il suffit de gérer le security.yml dans le config de chaque modules, ce qui permet de donner des accès au niveau des actions.

    Si tu as des accès plus fin à mettre au seins même d'une action, il y a des possibilités, pas beaucoup plus compliquées à mettre en œuvre.

    L'installation du plugin est simple il suffit de lire le readme. C'est en anglais, mais suffisamment explicite pour être facilement compréhensible. Il convient de bien faire toutes les actions, mais attention, ne pas copier bêtement le code exemple qui y est donné, certains codes n'y sont qu'à type d'exemple et ne doivent pas être copié. D'où l'intérêt d'une application test pour tester cela tranquillement.

  3. #3
    Futur Membre du Club
    Inscrit en
    Juin 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 5
    Par défaut
    voici les etapes de creation de projet:
    remarque : la base de donneees ne possede pas de relations entre tables
    j'ai essayé d'implementer un module d'authentification independant mais ca marche pas pourquoi???
    et j'utilise DOCTRINE


    cd c:\wamp\www\gest_parc
    symfony generate:project gest_parc
    symfony generate:app gest_parc
    symfony configure:database --name=doctrine --class=sfDoctrineDatabase "mysql:host=localhost;dbname=mydb"
    symfony cc
    symfony plugin:publish-assets
    symfony doctrine:build-schema
    symfony doctrine:build-model
    >> doctrine generating model classes
    symfony doctrine:build-forms
    symfony doctrine:build-filters
    symfony cc


    symfony generate:module gest_parc main
    symfony doctrine:generate-admin gest_parc uc
    symfony doctrine:generate-admin gest_parc intervention
    symfony doctrine:generate-admin gest_parc imprimante
    symfony doctrine:generate-admin gest_parc utilisateur
    symfony doctrine:generate-admin gest_parc contact
    symfony doctrine:generate-admin gest_parc moniteur
    symfony doctrine:generate-admin gest_parc accessoire
    symfony doctrine:generate-admin gest_parc docs
    symfony cc

    symfony project:permissions
    symfony cc
    symfony test:all
    symfony plugin:install sfDoctrineGuardPlugin
    php symfony doctrine:build --all --and-load

    php symfony guard:create-user admin admin
    php symfony guard:promote admin

  4. #4
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut


    C'est ... heu ... léger !!

    C'est tous ? Tu as bien dû retoucher les generator.yml des différents modules généré on ?

    Tu peux largement virer :
    symfony doctrine:build-schema
    symfony doctrine:build-model
    >> doctrine generating model classes
    symfony doctrine:build-forms
    symfony doctrine:build-filters

    et le remplacer par
    symfony doctrine:build --all --and-load

    Question Hors sujet.
    S'il n'y a aucune relation, comment fais-tu pour savoir sur quoi porte une intervention ? Quel est l'utilisateur qui a un problème ? Quel est l'utilisateur qui utilise tel ou tel matériel ? Quel est le tech en charge de traiter l'intervention ?

    Tu as bien dû modifier un peu le layout pour faire un menu ? (j'ai posté tout un système de menu avec le code dans le forum il y a moins de 20 messages).

    Pour sfGuard :
    • Il faut l'activer dans config/ProjectConfiguration.class.php
    • Il faut activer les modules et renvoyer les demande d'identifications dans apps/<monapplication>/config/setting.yml
    • Il faut modifier l'objet user apps/<monapplication>/lib/myUser.class.php pour qu'il étende l'objet user de sfGuard.
    • Il faut créer un apps/<monapplication>/modules/<monmodule>/config/security.yml pour définir les droits d'accès, soit pour tout le module, soit pour chaque actions.


    Il FAUT lire le readme du plugin qui explique toutes ces manipulations. Les développeurs qui ont écris le plugin ont pris la peine d'écrire comment le faire fonctionner, profitez-en. C'est clair et synthétique.

  5. #5
    Futur Membre du Club
    Inscrit en
    Juin 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 5
    Par défaut
    voici la base de donnees les tables n'ont aucune relations:

    j'ai tout edité pour les fichiers yml et j'ai eu le formulaire de connexion a la fin mais pour me connecter avec les parametres de la tables utilisateur je n'arrive pas et y'a un internal 500 error qui est retourné


    -- phpMyAdmin SQL Dump
    -- version 3.2.0.1
    -- http://www.phpmyadmin.net
    --
    -- Serveur: localhost
    -- Gأ©nأ©rأ© le : Jeu 10 Juin 2010 أ* 11:06
    -- Version du serveur: 5.1.36
    -- Version de PHP: 5.2.11

    SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";


    /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
    /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
    /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
    /*!40101 SET NAMES utf8 */;

    --
    -- Base de donnأ©es: `mydb`
    --

    -- --------------------------------------------------------

    --
    -- Structure de la table `accessoire`
    --

    CREATE TABLE IF NOT EXISTS `accessoire` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `numinv` varchar(45) COLLATE utf8_unicode_ci NOT NULL,
    `numserie` varchar(45) COLLATE utf8_unicode_ci NOT NULL,
    `type` enum('Clavier','Souris','Switch','Routeur') COLLATE utf8_unicode_ci NOT NULL,
    `marque` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL,
    `commentaire` text COLLATE utf8_unicode_ci,
    `Departement` enum('Informatique','Mecanique','Electrique','Gestion') COLLATE utf8_unicode_ci NOT NULL,
    `locale` varchar(45) COLLATE utf8_unicode_ci NOT NULL,
    PRIMARY KEY (`id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci PACK_KEYS=0 AUTO_INCREMENT=1 ;

    --
    -- Contenu de la table `accessoire`
    --


    -- --------------------------------------------------------

    --
    -- Structure de la table `contact`
    --

    CREATE TABLE IF NOT EXISTS `contact` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `nomc` varchar(80) COLLATE utf8_unicode_ci NOT NULL,
    `telephone` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL,
    `email` varchar(80) COLLATE utf8_unicode_ci DEFAULT NULL,
    `adresse` text COLLATE utf8_unicode_ci,
    `fonction` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL,
    PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;

    --
    -- Contenu de la table `contact`
    --


    -- --------------------------------------------------------

    --
    -- Structure de la table `docs`
    --

    CREATE TABLE IF NOT EXISTS `docs` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `nom` varchar(45) COLLATE utf8_unicode_ci NOT NULL,
    `filename` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
    `commentaire` text COLLATE utf8_unicode_ci,
    `created_at` datetime DEFAULT NULL,
    `utilisateur_id` int(11) NOT NULL,
    PRIMARY KEY (`id`),
    KEY `fk_docs_utilisateur2` (`utilisateur_id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci PACK_KEYS=0 AUTO_INCREMENT=1 ;

    --
    -- Contenu de la table `docs`
    --


    -- --------------------------------------------------------

    --
    -- Structure de la table `imprimante`
    --

    CREATE TABLE IF NOT EXISTS `imprimante` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `numinv` varchar(45) COLLATE utf8_unicode_ci NOT NULL,
    `numserie` varchar(45) COLLATE utf8_unicode_ci NOT NULL,
    `vitesse` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL,
    `tech` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL,
    `marque` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL,
    `Departement` enum('Informatique','Mecanique','Electrique','Gestion') COLLATE utf8_unicode_ci NOT NULL,
    `locale` varchar(45) COLLATE utf8_unicode_ci NOT NULL,
    PRIMARY KEY (`id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci PACK_KEYS=0 AUTO_INCREMENT=1 ;

    --
    -- Contenu de la table `imprimante`
    --


    -- --------------------------------------------------------

    --
    -- Structure de la table `intervention`
    --

    CREATE TABLE IF NOT EXISTS `intervention` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `statut` enum('nouveau','en attente','fermأ©e') COLLATE utf8_unicode_ci DEFAULT NULL,
    `departement` enum('Informatique','Mecanique','Electrique','Gestion') COLLATE utf8_unicode_ci DEFAULT NULL,
    `locale` varchar(45) COLLATE utf8_unicode_ci NOT NULL,
    `created_at` datetime NOT NULL,
    `updated_at` datetime DEFAULT NULL,
    `categorie` enum('Unite centrale','Moniteur','Imprimante','Accessoire') COLLATE utf8_unicode_ci DEFAULT NULL,
    `numinv` varchar(45) COLLATE utf8_unicode_ci NOT NULL,
    `commentaire` text COLLATE utf8_unicode_ci,
    PRIMARY KEY (`id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci PACK_KEYS=0 AUTO_INCREMENT=1 ;

    --
    -- Contenu de la table `intervention`
    --


    -- --------------------------------------------------------

    --
    -- Structure de la table `moniteur`
    --

    CREATE TABLE IF NOT EXISTS `moniteur` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `numinv` varchar(45) COLLATE utf8_unicode_ci NOT NULL,
    `numserie` varchar(45) COLLATE utf8_unicode_ci NOT NULL,
    `taille` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL,
    `marque` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL,
    `commentaire` text COLLATE utf8_unicode_ci,
    `Departement` enum('Informatique','Mecanique','Electrique','Gestion') COLLATE utf8_unicode_ci NOT NULL,
    `locale` varchar(45) COLLATE utf8_unicode_ci NOT NULL,
    PRIMARY KEY (`id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci PACK_KEYS=0 AUTO_INCREMENT=1 ;

    --
    -- Contenu de la table `moniteur`
    --


    -- --------------------------------------------------------

    --
    -- Structure de la table `uc`
    --

    CREATE TABLE IF NOT EXISTS `uc` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `numinv` varchar(45) COLLATE utf8_unicode_ci NOT NULL,
    `numserie` varchar(45) COLLATE utf8_unicode_ci NOT NULL,
    `marque` varchar(45) COLLATE utf8_unicode_ci NOT NULL,
    `processeur` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL,
    `ram` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL,
    `hdd` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL,
    `os` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL,
    `commentaire` text COLLATE utf8_unicode_ci,
    `Departement` enum('Informatique','Mecanique','Electrique','Gestion') COLLATE utf8_unicode_ci NOT NULL,
    `locale` varchar(45) COLLATE utf8_unicode_ci NOT NULL,
    PRIMARY KEY (`id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci PACK_KEYS=0 AUTO_INCREMENT=1 ;

    --
    -- Contenu de la table `uc`
    --


    -- --------------------------------------------------------

    --
    -- Structure de la table `utilisateurs`
    --

    CREATE TABLE IF NOT EXISTS `utilisateurs` (
    `id_user` int(10) unsigned NOT NULL AUTO_INCREMENT,
    `login` varchar(50) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
    `pass` varchar(50) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
    `nom` varchar(50) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
    `prenom` varchar(50) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
    `privilege` varchar(50) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
    PRIMARY KEY (`id_user`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=3 ;

    --
    -- Contenu de la table `utilisateurs`
    --

    INSERT INTO `utilisateurs` (`id_user`, `login`, `pass`, `nom`, `prenom`, `privilege`) VALUES
    (1, 'admin', 'aa36dc6e81e2ac7ad03e12fedcb6a2c0', 'hamza', 'chaft', 'admin'),

  6. #6
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut


    Le mieux serait de mettre le fichier config/doctrine/schema.yml (dans une balise code pour garder l'indentation).

    sfGuard utilise sa propre table utilisateur. Il convient éventuellement de créer un lien entre cette table et la table utilisateur de l'application.

Discussions similaires

  1. Logiciel Gestion de Parc avec Base AS400
    Par Angeldu74 dans le forum Forum général ERP
    Réponses: 0
    Dernier message: 15/02/2008, 09h43
  2. Gestion de formulaire avec xml et sans serveur ?
    Par meliane dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 05/05/2004, 19h57
  3. probleme de gestion de clients avec des sockets....
    Par ludvo dans le forum Réseau
    Réponses: 6
    Dernier message: 25/09/2003, 12h37
  4. [TFrame] Problème de gestion du OnMouseDown avec une Frame
    Par xherault dans le forum Composants VCL
    Réponses: 5
    Dernier message: 23/05/2003, 15h35

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