Partage
  • Partager sur Facebook
  • Partager sur Twitter

Base de données locale

Ma base de données rien que pour moi !

Sujet résolu
    11 juin 2010 à 0:48:56

    Bonjour,

    Je suis en train de chercher un projet de programmation pour m'occuper cet été. Il m'arrive souvent de noter plein de choses sur plein de sujets différents. J'accumule donc des bouts de papier et des "todo list" un peu partout sur mon ordinateur. J'ai donc penser à programmer (surement en Java) un logiciel qui gérerait toutes ces données facilement.

    J'ai commencé à réfléchir à la façon de stocker tout ça. Une petite base de données me parait le moyen le plus simple à utiliser pour accomplir cette tâche.

    Voici les petites questions qui me reste après quelques recherches :
    • Existe-t-il un autre moyen plus adapté à mon problème?
    • Quelle base de données utiliser? (une petite liste de choix me conviendra)
    • Est-ce bien sécurisé? (tout se fera en local donc : risque d'accès à distance? lecture directe possible des fichiers?)

    Merci d'avance pour vos réponses

    • Partager sur Facebook
    • Partager sur Twitter
      11 juin 2010 à 9:55:50

      Le plus pratique pour un petit stockage simple, vite fait, mais puissant c'est d'utiliser SQLite. Nul en multi-utilisateurs, mais vraiment bien pour ta petite appli qui sera probablement mono-utilisateur. Pour info c'est ce qu'utilise Adobe Lightroom pour stocker son catalogue...
      • Partager sur Facebook
      • Partager sur Twitter
        11 juin 2010 à 16:12:10

        Merci pour ta réponse. En effet mon appli sera mono-utilisateur donc je vais aller voir ça de plus près.
        • Partager sur Facebook
        • Partager sur Twitter
          11 juin 2010 à 16:29:20

          Pour ce qui est de la sécurité, la BDD SQLite est un simple fichier, donc c'est à voir au niveau des permissions de fichiers... en tout cas tu n'as pas à te préoccuper de sécurité réseau ici.
          • Partager sur Facebook
          • Partager sur Twitter
            15 juin 2010 à 14:28:44

            si j'etais toi, j'opterai pour C# et SQL Server en utilisant Visual Studio comme IDE. (ou Visual C# Express qui est en téléchargement gratuit sur 01Net, MSDN, etc ..).

            Pour C# c'est un language similaire a Java et bcp plus intéréssant (surtout en conception d'interface).
            Pour ta BD, SQL Server 2008 est le meilleur ! tu peut créer une BD de facons differentes: crée une BD en fichier .mdf ou .sdf (les meilleurs, ya bcp de tuto sur ce sujet).

            Bonne chance,
            • Partager sur Facebook
            • Partager sur Twitter
              15 juin 2010 à 15:29:54

              Utilise WAMPP + application PHP ( ou JAVA) mais utiliser SQL server pour son utilisation c'est trop lourd mais bon (et je parle pas de C# ...)
              • Partager sur Facebook
              • Partager sur Twitter
                16 juin 2010 à 2:38:37

                Citation : dXeroXb

                si j'etais toi, j'opterai pour C# et SQL Server en utilisant Visual Studio comme IDE.



                Citation : crooby

                Utilise WAMPP + application PHP ( ou JAVA) mais utiliser SQL server pour son utilisation c'est trop lourd mais bon (et je parle pas de C# ...)



                Pas d'accord et pas d'accord.

                En fait, je ne suis pas d'accord de prioriser les solutions massives et l'attitude.

                Donc, analysons de plus près quelques solutions.

                Selon les informations de GuiGuiZero : Application maison, pense utiliser Java, mono-utilisateur, locale. Même si je pense que pour une si petite application une "flat database" en texte ou semi-organisée en XML serait aussi efficace, je pencherais du côté de SQLite. SQLite est rapide et puissant pour les petits projets. Il y a surement d'autre projet ressemblant a SQLite mais je crois fortement qu'un SGBD intégré et sans serveur est plus que suffisant.

                Pourquoi je n'opte pas pour les solutions avec une SGBD client-serveur : la réponse est le client-serveur. Pas que c'est plus difficile à utiliser, mais que pour une application qui doit être utilisée localement, il faut apprendre à programmer avec de petits systèmes pour ne pas surcharger l'ordinateur hôte. Sinon, il faudrait installer des SGBD avec tout les logiciels. Est-ce que Outlook a besoin de SQL Server pour fonctionner ? non, et pourtant il doit bien conserver les courriels, les contacts, les calendrier de quelconque façon... J'ai hésiter avant de prendre Outlook en exemple, puisqu'il est conçu pour pouvoir intéragir avec un serveur Exchange. Mais, si on prend seulement les fonctionnalités locales, mon exemple est bon.

                Je n'ai rien contre SQL Server accédé par C#, mais je trouve les solutions complète de Microsoft, si on en prend l'habitude, obfuscantes. On perd facilement la compréhension des fonctionnalités et de la lourdeur réelle du système. Pour l'apprentissage, c'est pas le mieux. De plus, cela est fortement associé à la plateforme windows.

                XAMPP+ est une plateforme pour déployer un service web très complet aisément. Néanmoins, cela entre dans les solutions qui cache les fonctionnements internes. Apache, PHP, Perl, le serveur HTTP et FTP sont de trop ici. il ne reste que MySQL ou PostgreSQL, mais ce sont encore de gros SGBD trop complets.

                Donc, je supporte l'idée SQLite. C'est simple et efficace. Et cela n'ouvre aucun port sur ton poste, alors a moins que quelqu'un accède directement aux données de ton poste, ton fichier est en sécurité.

                Tout ce qu'il te faut pour Java ou C# c'est un pilote JDBC ou ADO.NET. Si tu es en windows, tu peux aussi utiliser un pilote ODBC pour les autres langages. Je ne connais pas les solutions alternatives sous Linux ou BSD.

                Finalement des liens :
                Connections strings .NET et ODBC : http://www.connectionstrings.com/sqlite
                Un pilote pour JDBC : http://www.zentus.com/sqlitejdbc/

                <EDIT>Je viens de découvrir qu'il existe SQL Server Compact qui propose environ les mêmes caractéristiques que SQLite. Pour ceux qui veulent développer avec, c'est une autre solution.</EDIT>


                • Partager sur Facebook
                • Partager sur Twitter
                  18 juin 2010 à 20:28:43

                  Comme Mattex l'a si bien expliqué, SQLite est plus adapté a mes besoins. Je ne veux pas m'encombrer avec une grosse base de données et surtout pas avec WAMPP.

                  Je réalise cette application car j'ai envie de progresser. J'avais envie de découvrir la programmation d'interfaces et d'utiliser un outil extérieur au bibliothèques de base. Je préfère m'initier aux 2 points précédents avec un langage que je connais (Java).

                  Merci pour vos réponses. Ça sera donc Java + SQLite.
                  Je vais aussi aller voir SQL Servec Compact.
                  • Partager sur Facebook
                  • Partager sur Twitter

                  Base de données locale

                  × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                  × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                  • Editeur
                  • Markdown