intégré une base de donné utilisateur d'un site autre que joomla

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • intégré une base de donné utilisateur d'un site autre que joomla

    Bonjour,

    J'ai récupérer une base de donné d'une personne qui n'avait pas de site internet sous joomla, cette personne ne veu pas perdre ces clients et veut donc importer les clients dans le site joomla, est-il possible de faire cela?

    j'ai la base de donnés SQL avec les informations des clients " id , email, password etc.."

    J'utilise joomla 3.3.

    Merci

  • #2
    Re : intégré une base de donné utilisateur d'un site autre que joomla

    Intégrer dans une structure Joomla! des utilisateurs provenant d'une autre structure veut dire être capable d'insérer des infos dans plusieurs tables, avec des liens entre les données de ces tables, pour la gestion des droits et groupes notamment.
    De plus, en ce qui concerne le mot de passe, s'il est crypté en MD5, il devrait être reconnu, sinon, il faudra le régénérer.
    Donc pas simple...

    Au besoin, teste la structure des fichiers que génère J2XML pour voir si tu peux la reproduire à partir du SQL dont tu disposes.
    "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
    MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

    Commentaire


    • #3
      Re : intégré une base de donné utilisateur d'un site autre que joomla

      oui je pense que ca vas pas être simple.

      la table de joomla est comme ceci:
      Code:
      [I]CREATE TABLE IF NOT EXISTS `mrc_users` (
        `id` int(11) NOT NULL AUTO_INCREMENT,
        `name` varchar(255) NOT NULL DEFAULT '',
        `username` varchar(150) NOT NULL DEFAULT '',
        `email` varchar(100) NOT NULL DEFAULT '',
        `password` varchar(100) NOT NULL DEFAULT '',
        `block` tinyint(4) NOT NULL DEFAULT '0',
        `sendEmail` tinyint(4) DEFAULT '0',
        `registerDate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
        `lastvisitDate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
        `activation` varchar(100) NOT NULL DEFAULT '',
        `params` text NOT NULL,
        `lastResetTime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT 'Date of last password reset',
        `resetCount` int(11) NOT NULL DEFAULT '0' COMMENT 'Count of password resets since lastResetTime',
        `otpKey` varchar(1000) NOT NULL DEFAULT '' COMMENT 'Two factor authentication encrypted keys',
        `otep` varchar(1000) NOT NULL DEFAULT '' COMMENT 'One time emergency passwords',
        PRIMARY KEY (`id`),
        KEY `idx_name` (`name`),
        KEY `idx_block` (`block`),
        KEY `username` (`username`),
        KEY `email` (`email`)
      ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=388 ;[/I]
      
      INSERT INTO `mrc_users` (`id`, `name`, `username`, `email`, `password`, `block`, `sendEmail`, `registerDate`, `lastvisitDate`, `activation`, `params`, `lastResetTime`, `resetCount`, `otpKey`, `otep`) VALUES
      (386, 'Super User', 'admin', '@hotmail.fr', 'xxxxxxxmotdepasse', 0, 1, '2014-10-20 18:17:31', '2015-01-03 09:35:53', '0', '', '0000-00-00 00:00:00', 0, '', ''),

      et la table de l'ancien site est comme cela:

      Code:
      [I]CREATE TABLE IF NOT EXISTS `ps_customer` (
        `id_customer` int(10) unsigned NOT NULL AUTO_INCREMENT,
        `id_gender` int(10) unsigned NOT NULL,
        `id_default_group` int(10) unsigned NOT NULL DEFAULT '1',
        `firstname` varchar(32) NOT NULL,
        `lastname` varchar(32) NOT NULL,
        `email` varchar(128) NOT NULL,
        `passwd` varchar(32) NOT NULL,
        `last_passwd_gen` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
        `birthday` date DEFAULT NULL,
        `newsletter` tinyint(1) unsigned NOT NULL DEFAULT '0',
        `ip_registration_newsletter` varchar(15) DEFAULT NULL,
        `newsletter_date_add` datetime DEFAULT NULL,
        `optin` tinyint(1) unsigned NOT NULL DEFAULT '0',
        `secure_key` varchar(32) NOT NULL DEFAULT '-1',
        `note` text,
        `active` tinyint(1) unsigned NOT NULL DEFAULT '0',
        `is_guest` tinyint(1) NOT NULL DEFAULT '0',
        `deleted` tinyint(1) NOT NULL DEFAULT '0',
        `date_add` datetime NOT NULL,
        `date_upd` datetime NOT NULL,
        PRIMARY KEY (`id_customer`),
        KEY `customer_email` (`email`),
        KEY `customer_login` (`email`,`passwd`),
        KEY `id_customer_passwd` (`id_customer`,`passwd`),
        KEY `id_gender` (`id_gender`)
      ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=187 ;[/I]
      
      INSERT INTO `ps_customer` (`id_customer`, `id_gender`, `id_default_group`, `firstname`, `lastname`, `email`, `passwd`, `last_passwd_gen`, `birthday`, `newsletter`, `ip_registration_newsletter`, `newsletter_date_add`, `optin`, `secure_key`, `note`, `active`, `is_guest`, `deleted`, `date_add`, `date_upd`) VALUES
      (1, 1, 1, 'Patrick', 'DUPONT', '@live.com', '978d7b1ca26457a7b0c63b9ae5048c7c', '2012-06-08 12:42:07', '1970-01-15', 1, NULL, NULL, 1, '47ce86627c1f3c792a80773c5d2deaf8', NULL, 1, 0, 0, '2012-06-08 14:42:07', '2012-06-08 14:42:07'),
      je pense qu'il est possible de rajouter mai ca vas me prendre pas mal de temps car il vas falloire que je fasse ligne par ligne et de faire correspondre les valeurs au bon emplacement. et pour l'ID est ce que je dois mettre une valeur obigatoire ou si je met rien ca vas s'attribuer automatiquement?

      Commentaire


      • #4
        Re : intégré une base de donné utilisateur d'un site autre que joomla

        Ne remplir que la table "users" ne te servira à rien car faute d'appartenance à un groupe, ils ne seront pas reconnus, et cette appartenance n'est pas présente dans la table users. Il est indispensable que tu insères aussi des lignes correspondantes dans d'autres tables pour la gestion des groupes auxquels appartiendront les users, donc connaître lors de la création de tes requêtes l'ID des membres pour pouvoir les inscrire aussi dans les autres tables.
        "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
        MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

        Commentaire


        • #5
          Re : intégré une base de donné utilisateur d'un site autre que joomla

          Bonjour,

          Il doit être possible d'usiliser un produit genre userport http://extensions.joomla.org/extensi...xport/userport à condition de reformater la base d'origine (via soit phpMyAdmin, soit un outil genre MySQL Workbench.

          Si la table utilise des champs autres, un outil genre Community Builder pourrait bien être la solution en permettant d'importer le profil complet avec un produit genre CB Juice (et là, attention de bien lire la documentation avant pour le mapping des champs).
          Pas de demande de support par MP.
          S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

          Commentaire


          • #6
            Re : intégré une base de donné utilisateur d'un site autre que joomla

            Salut,
            il m'est arrivé d'utiliser CBJuice pour CommunityBuilder, recommandé par Jisse03, et qui fonctionne très bien.

            En revanche, toujours comme le recommande Jisse03, il faut lire TRES attentivement les indications.
            Et ce n'est pas super simple à manipuler.
            Leur forum est indispensable :
            JoomlaCode > Projects > CBJuice > Browse Discussion
            Download repository for all Joomla! releases and accredited translation packages


            Le truc est d'exporter la bdd initiale CORRECTEMENT en .csv
            Donc, de la formatter et de l'adapter très précisément en fonction de la bdd d'arrivée, dans ce cas, pour Community Builder et Joomla.
            Formattage de la bdd de départ possible via PHPMyAdmin. C'est d'ailleurs là qu'on se rend compte que PHPMyAdmin, bien que pratique, est finalement assez rigide. Sur Mac, j'utilise SequelPro, plus souple.
            Formattage possible aussi bien sur, dans Excel. Le pb avec Excel est le formattage d'export du fichier .csv, pas toujours très rigoureux.
            Essayer aussi avec la version Excel de LibreOffice.

            ... et réviser ses commandes SQL, indispensable.

            Aussi, regarder là :
            Joomla! Extensions Directory - Data Import & Export
            Find extensions for your Joomla site in the Joomla Extensions Directory, the official directory for Joomla components, modules and plugins.
            Un message d’erreur sur votre site Joomla ... ayez le reflexe de consulter lla base de connaissance : https://kb.joomla.fr

            Ce forum, vous l'aimez ? il vous a sauvé la vie ? Vous y apprenez chaque jour ? Alors adhérez à l'AFUJ https://www.joomla.fr/association/adherer

            Commentaire


            • #7
              table

              bonjour et merci pour votre aide.

              par soucis de temps je n'ai pu tester CBjuice, je n'ai pas u le temps de traduire tout ca!

              alors j'ai pris mon courage à 2 mains, non, je dirais plutôt j'ai pris mon clavier et la souris dans mes deux mains et la j'ai fais ligne par ligne.

              Pour répondre à robertg
              Ne remplir que la table "users" ne te servira à rien car faute d'appartenance à un groupe, ils ne seront pas reconnus,
              alors dans la table users avec notepad+ j'ai creer 187 nouvelles lignes et sachant que l' AUTO_INCREMENT=388 j'ai commencer à numeroter à partir de 388 jusqu’à 575
              j'ai ensuite remplacer toute la parti en ROUGE de la base principal de joomla par les infos de l'ancienne table (B) de couleur BLEU

              A (386, 'Super User', 'admin', '@hotmail.fr', 'xxxxxxxmotdepasse', 0, 1, '2014-10-20 18:17:31', '2015-01-03 09:35:53', '0', '', '0000-00-00 00:00:00', 0, '', ''),


              B (1, 1, 1, 'Patrick', 'DUPONT', '@live.com', '978d7b1ca26457a7b0c63b9ae5048c7c', '2012-06-08 12:42:07', '1970-01-15', 1, NULL, NULL, 1, '47ce86627c1f3c792a80773c5d2deaf8', NULL, 1, 0, 0, '2012-06-08 14:42:07', '2012-06-08 14:42:07'),

              En gros au depart ca me donné ca:

              CREATE TABLE IF NOT EXISTS `mrc_users` (
              `id` int(11) NOT NULL AUTO_INCREMENT,
              `name` varchar(255) NOT NULL DEFAULT '',
              `username` varchar(150) NOT NULL DEFAULT '',
              `email` varchar(100) NOT NULL DEFAULT '',
              `password` varchar(100) NOT NULL DEFAULT '',
              `block` tinyint(4) NOT NULL DEFAULT '0',
              `sendEmail` tinyint(4) DEFAULT '0',
              `registerDate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
              `lastvisitDate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
              `activation` varchar(100) NOT NULL DEFAULT '',
              `params` text NOT NULL,
              `lastResetTime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT 'Date of last password reset',
              `resetCount` int(11) NOT NULL DEFAULT '0' COMMENT 'Count of password resets since lastResetTime',
              `otpKey` varchar(1000) NOT NULL DEFAULT '' COMMENT 'Two factor authentication encrypted keys',
              `otep` varchar(1000) NOT NULL DEFAULT '' COMMENT 'One time emergency passwords',
              PRIMARY KEY (`id`),
              KEY `idx_name` (`name`),
              KEY `idx_block` (`block`),
              KEY `username` (`username`),
              KEY `email` (`email`)
              ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=576 ;

              (388, 'Patrick', 'DUPONT', '@live.com', '978d7b1ca26457a7b0c63b9ae5048c7c', 0, 1, '2014-10-20 18:17:31', '2015-01-03 09:35:53', '0', '', '0000-00-00 00:00:00', 0, '', ''),
              (389,.....VIDE........, 0, 1, '2014-10-20 18:17:31', '2015-01-03 09:35:53', '0', '', '0000-00-00 00:00:00', 0, '', ''),
              (390,.....VIDE........, 0, 1, '2014-10-20 18:17:31', '2015-01-03 09:35:53', '0', '', '0000-00-00 00:00:00', 0, '', ''),
              (391,.....VIDE........, 0, 1, '2014-10-20 18:17:31', '2015-01-03 09:35:53', '0', '', '0000-00-00 00:00:00', 0, '', ''),
              (575,'jacqueline', 'dauri', 'dauri@hotmail.com', '978d7b1ca26457a7b0c63b9ae5048c7c', 0, 1, '2014-10-20 18:17:31', '2015-01-03 09:35:53', '0', '', '0000-00-00 00:00:00', 0, '', '');
              ETC....!

              Biensur ils sont tous connecter le même jour et même heure

              il doit y avoir que les nouveaux membres dans la table, ne pas laisser les anciens du genre admin etc sinon ca vas mettre une erreur.

              ensuite il faut bien s'assuré de modifier l' AUTO_INCREMENT sachant que mon dernier utilisateur obtiens le numero 575 je met AUTO_INCREMENT à 576 je pense à bien verifier que mon dernier utilisateur posséde bien le point virgule a la fin de la ligne.

              la base User seule est importer il n'y a pas d'appartenance dans un groupe mai ils ont déjà un ID, de ce fait on ce connecte dans joomla, on vas dans la gestion des utilisateur ils apparaîtrons mai sans aucun groupe en appartenance, il faut sélectionné tous les membres qui n'ont pas d'appartenance de groupe puis clicqué sur "Traitement" puis "sélectionné pour le groupe enregistré et validé".

              Bon peux etre que votre outil aurai pu m'aider je vais essayer de me pencher dessus mai faute de temps!!!

              J'ai perdu plusieurs heures......! n'ayant pas u de temps pour transférer les clients j'ai du improvisé.

              Commentaire


              • #8
                Re : table

                après ca je vais rêver de MYSQL toute la nuit...

                Commentaire

                Annonce

                Réduire
                Aucune annonce pour le moment.

                Partenaire de l'association

                Réduire

                Hébergeur Web PlanetHoster
                Travaille ...
                X