Comprendre la structure de la base de données

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

  • Comprendre la structure de la base de données

    Bonjour,


    je souhaiterais mieux comprendre la structure de la base de données d’un site Joomla (Joomla 3.9.6.).

    Qu’en est-il des clés primaires et étrangères dans les tables?


    Comment exporter puis reconstruire une base de données personnalisée, cohérente et adaptée, en conservant la structure de la base actuelle et les clés des tables ?


    merci de vos éclaircissement…

  • #2
    Envoyé par alog44 Voir le message
    Bonjour,
    ...reconstruire une base de données personnalisée, cohérente et adaptée...
    Euh, là il faudrait nous expliquer plus.

    Les tables de la base de donnée et leurs index sont créés lors de l'installation ou des mises à jours des composants en fonction de leurs besoins.
    Ce n'est pas à toi de "faire le ménage" là dedans.

    Ou alors je n'ai pas compris la demande.
    A tous les utilisateurs de Joomla du très Grand Est de la France et du Jura suisse
    Rejoignez le Joomla Users Groupe Alsace...
    roland_d_alsace va-t-il devenir roland_du_grand_est ?

    Commentaire


    • #3
      Bonsoir,

      Même remarque que Roland. De plus, sauf erreur de ma part, il n'y a pas de clés étrangères dans les tables Joomla.

      Pour sauvegarder/restaurer une base de données, rien de tel qu'akeeba backup et son outil de restauration kickstart.

      D'autre part, nous sommes aujourd'hui en 3.9.10. Pensez à faire la mise à jour, même si les correctifs apportés depuis votre version ne sont pas très nombreux.

      Pascal

      If anything can go wrong, it will...
      If I can help, I will ..https://conseilgouz.com

      Commentaire


      • #4
        +1 avec la remarque de Pascal.

        Il n'y a pas de contrôle d’intégrité référentielle fait par le SGBD donc pas de clés étrangères.

        Je suppose que cela vient du fait qu'il n'y a pas encore si longtemps, on utilisait myIsam comme moteur au lien de innodb.
        Le contrôle est donc fait par le framework qui est bien conçu pour cela (classe JTable méthodes check et store).

        myisam est très robuste et se gère facilement table par table (tout est dans des fichiers séparés, le contenu, les index, les blobs, etc... ceci pour chaque table) mais est un peu vieillot (pas de transaction, pas de clés étrangères, pas de procédures stockées, etc...).
        Moi je l'utilise (c-isam) depuis.... ...les années 1980 donc c'est pas tout jeune.

        innodb est bien plus complexe et puissant (tout est dans un seul "conteneur"), donc quand ca casse, il faut remonter les sauvegardes et passer les journaux de transactions. Il faut donc un administrateur déjà plus costaud.
        Mais sur des serveurs bien montés et sécurisés c'est aussi très stable, je n'ai jamais connu de gros problème.

        A ce jour les tables du core et des composants livrés avec Joomla sont toutes passée sous InnoDB, mais ce n'est pas encore le cas de toutes les extensions tierces.
        Dernière édition par roland_d_alsace à 10/07/2019, 21h46
        A tous les utilisateurs de Joomla du très Grand Est de la France et du Jura suisse
        Rejoignez le Joomla Users Groupe Alsace...
        roland_d_alsace va-t-il devenir roland_du_grand_est ?

        Commentaire


        • #5
          Bonjour,

          il n’est pas question ici de « faire le ménage » dans la database, mais je souhaiterai exporter mon site Joomla vers un autre site hors CMS.

          L’export n’est pas un problème.
          Mais avant de (ré)importer les données dans une nouvelle base sur mesure, il semble qu’il faille reconstruire la structure de la base de données Joomla + Flexicontent pour l’adapter et la rendre lisible et cohérente sur le nouveau site.

          Aussi si quelqu’un pouvait m’expliquer comment est structurée la base de données d’un site Joomla ?

          Y’a t’il des plugins qui permettent de faire un export des données vers un fichier CSV ou XML?

          Commentaire


          • #6
            Envoyé par alog44 Voir le message
            Bonjour,

            il n’est pas question ici de « faire le ménage » dans la database, mais je souhaiterai exporter mon site Joomla vers un autre site hors CMS.

            L’export n’est pas un problème.
            Mais avant de (ré)importer les données dans une nouvelle base sur mesure, il semble qu’il faille reconstruire la structure de la base de données Joomla + Flexicontent pour l’adapter et la rendre lisible et cohérente sur le nouveau site.

            Aussi si quelqu’un pouvait m’expliquer comment est structurée la base de données d’un site Joomla ?

            Y’a t’il des plugins qui permettent de faire un export des données vers un fichier CSV ou XML?
            Comme extension il y a l'excellent CSV Improved de Roland Dalmulder.
            Sinon, en gratuit il y a j2xml... qui exporte logiquement en xml...
            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 régulièrement ? Alors adhérer à l'AFUJ : https://www.joomla.fr/association/adherer

            Présentations : slides.woluweb.be | Coordonnées complètes : www.woluweb.be

            Commentaire


            • #7
              Envoyé par alog44 Voir le message
              Bonjour,

              il n’est pas question ici de « faire le ménage » dans la database, mais je souhaiterai exporter mon site Joomla vers un autre site hors CMS.
              ...
              OK c'est effectivement + clair ainsi.

              Mais franchement penses-tu arriver à faire cet export assez périodiquement pour maintenir les 2 DB suffisement synchrones ??

              Cet autre site a il déjà sa propre structure de données ou est-il à écrire ?

              Le plus simple est soit d'attendre J4 et le webservice (fin 2019 au + tôt).

              Sinon pourquoi pas d’accéder directement à la DB de Joomla, il suffit d'ouvrir le port de mysql au niveau du firewall et du my.ini avec des privilèges en lecture seule.

              Sinon tu peux aussi faire un bridge entre les 2 sites, avec les événements de Joomla c'est assez facile si tu es développeur.
              Il te suffira d'écrire un plugin qui mettra à jour la DB de l'autre site à chaque mise à jour de la DB Joomla (au moins celles qui t’intéressent).

              Envoyé par alog44 Voir le message
              ...
              Aussi si quelqu’un pouvait m’expliquer comment est structurée la base de données d’un site Joomla ?
              Il faudrait dire quoi en particulier, vu tout ce qui est géré par Joomla, sinon il faudrait écrire un bouquin.
              Dernière édition par roland_d_alsace à 11/07/2019, 15h09
              A tous les utilisateurs de Joomla du très Grand Est de la France et du Jura suisse
              Rejoignez le Joomla Users Groupe Alsace...
              roland_d_alsace va-t-il devenir roland_du_grand_est ?

              Commentaire

              Annonce

              Réduire
              1 sur 2 < >

              C'est [Réglé] et on n'en parle plus ?

              A quoi ça sert ?
              La mention [Réglé] permet aux visiteurs d'identifier rapidement les messages qui ont trouvé une solution.

              Merci donc d'utiliser cette fonctionnalité afin de faciliter la navigation et la recherche d'informations de tous sur le forum.

              Si vous deviez oublier de porter cette mention, nous nous permettrons de le faire à votre place... mais seulement une fois
              Comment ajouter la mention [Réglé] à votre discussion ?
              1 - Aller sur votre discussion et éditer votre premier message :


              2 - Cliquer sur la liste déroulante Préfixe.

              3 - Choisir le préfixe [Réglé].


              4 - Et voilà… votre discussion est désormais identifiée comme réglée.

              2 sur 2 < >

              Assistance au forum - Outil de publication d'infos de votre site

              Compatibilité: PHP 4.1,PHP4, 5, 6DEV MySQL 3.2 - 5.5 MySQLi from 4.1 ( @ >=PHP 4.4.9)

              Support Version de Joomla! : | J!3.0 | J!2.5.xx | J!1.7.xx | J!1.6.xx | J1.5.xx | J!1.0.xx |

              Version française (FR) D'autres versions sont disponibles depuis la version originale de FPA

              UTILISER À VOS PROPRES RISQUES :
              L'exactitude et l'exhaustivité de ce script ainsi que la documentation ne sont pas garanties et aucune responsabilité ne sera acceptée pour tout dommage, questions ou confusion provoquée par l'utilisation de ce script.

              Problèmes connus :
              FPA n'est actuellement pas compatible avec des sites Joomla qui ont eu leur fichier configuration.php déplacé en dehors du répertoire public_html.

              Installation :

              1. Téléchargez l'archive souhaitée : http://afuj.github.io/FPA/

              Archive zip : https://github.com/AFUJ/FPA/zipball/master

              2. Décompressez le fichier de package téléchargé sur votre propre ordinateur (à l'aide de WinZip ou d'un outil de décompression natif).

              3. Lisez le fichier LISEZMOI inclus pour toutes les notes de versions spécifiques.

              4. LIRE le fichier de documentation inclus pour obtenir des instructions d'utilisation détaillées.

              5. Téléchargez le script fpa-fr.php à la racine de votre site Joomla!. C'est l'endroit que vous avez installé Joomla et ce n'est pas la racine principale de votre serveur. Voir les exemples ci-dessous.

              6. Exécutez le script via votre navigateur en tapant: http:// www. votresite .com/ fpa-fr.php
              et remplacer www. votresite .com par votre nom de domaine


              Exemples:
              Joomla! est installé dans votre répertoire web et vous avez installé la version française du fichier FPA:
              Télécharger le script fpa-fr.php dans: /public_html/
              Pour executer le script: http://www..com/fpa-fr.php

              Joomla! est installé dans un sous-répertoire nommé "cms" et vous avez installé la version française du fichier FPA:
              Télécharger le script fpa-fr.php dans: /public_html/cms/
              Pour executer le script: http://www..com/cms/fpa-fr.php

              En raison de la nature très sensible de l'information affichée par le script FPA, il doit être retiré immédiatement du serveur après son utilisation.

              Pour supprimer le script de votre site, utilisez le lien de script de suppression fourni en haut de la page du script. Si le lien de suppression échoue pour supprimer le script, utilisez votre programme FTP pour le supprimer manuellement ou changer le nom une fois que le script a généré les données du site et le message publié sur le forum. Si le script est toujours présent sur le site, il peut être utilisé pour recueillir suffisamment d'informations pour pirater votre site. Le retrait du script empêche des étrangers de l'utiliser pour jeter un oeil à la façon dont votre site est structuré et de détecter les défauts qui peuvent être utilisé à vos dépends.
              Voir plus
              Voir moins

              Partenaire de l'association

              Réduire

              Hébergeur Web PlanetHoster
              Travaille ...
              X