A propos du tuto Cocoa/MySQL

lilivelilive Membre
Bonjour à  tous, et bonjour à  toi uocram, qui vient d'écrire ce tutoriel sur l'utilisation de MySQL. Merci!

Je me pose une question à  propos de ce tutoriel.

Remarque:
Pour ma question, je ne réponds pas directement au message annonçant le tutoriel, mais j'ouvre dans cette salle une autre discussion.
En effet, c'est bien si on peut laisser les messages annonçant les tutos comme lieu de discussion avec "les vrais lecteurs", je veux dire ceux qui vont effectivement lire les tutos pour apprendre quelque chose dont ils ont besoin. Si les lecteurs ont des remarques ou des questions, ils pourront le faire là -bas.
L'idée dans cette salle, c'est de pouvoir discuter de tout ce qui a rapport à  la fabrication des tutoriels. Discussion entre auteurs, ou avec tout membre qui se sent concerné par ce moyen de partager savoir-faire et connaissance. Et puisque je suis là  pour aider à  fabriquer une bibliothèque de tutoriels la mieux possible, vous m'y retrouverez souvent  ::)
De plus, comme vous allez le découvrir à  l'usage, je ne suis pas moi-même développeur en Objective-C, et je n'ai pas envie d'aller poser mes questions de gros débutant sur un tutoriel qui ne s'adresse pas forcément à  de parfaits débutants, comme c'est le cas pour le tutoriel d'uocram.

Donc, ma question:
Le tutoriel me semble clair, détaillé, et bien expliqué. Gros boulot, chapeau bas  o:) . Mais je me demande à  qui il s'adresse. Je veux dire "à  qui va-t'il servir?", ou encore "une BDD pour quoi faire?"

L'exemple développé propose la connexion avec une BDD locale. On peut donc créer une application qui va fonctionner uniquement si MySQL est installée sur la machine qui exécute l'application. Je me trompe? L'application sera-t'elle distribuable d'une façon qui permette d'éviter à  l'utilisateur l'installation "à  la main" de MySQL?

Mais j'imagine que l'application peut aussi se connecter à  une BDD distante, simplement en modifiant la variable dbhost. Exact? Dans ce cas, la partie du tutoriel traitant de l'installation de MySQL en local devient utile pour les tests de la phase de développement. Mais par la suite on peut partager cette application avec d'autres utilisateurs qui ont un intérêt pour une base de données distante commune, je ne sais pas moi, la liste des vins disponibles en Languedoc-Roussillon par exemple. Dans ce cas il faudra que MySQL soit installée sur le serveur. Y aura-t'il alors des choses particulières auxquelles faire attention pour que la connexion soit possible? Mais cela dépasse peut-être le cadre de ce tutoriel.

ça y est elle est fini ma question  :)
Donc il faudra me voir comme ça hein, comme une personne qui a le temps de relire les tutos, de poser des questions, de s'occuper de maintenir les tutoriels en ordre (pour l'instant c'est facile puisqu'il n'y en a pas beaucoup, mais cela va devenir autre chose si certains se prennent au jeu, et surtout s'ils se mettent en tête de réunir dans les Ressources des tutoriels déjà  présents sur le forum en un tout bien classé et cohérent).

A bientôt, et merci de toute réponse à  ma question.
Et si par hasard la réponse semble évidente ou à  côté de la plaque, je ne sais pas moi..... ignorez-là   8--)

Réponses

  • muqaddarmuqaddar Administrateur
    05:33 modifié #2
    Bonjour,

    Oui, il est nécessaire d'installer MySQL pour utiliser ce "moteur" de gestion de base de données sur son ordinateur ou sur une machine en réseau local. Je pense donc qu'il est possible d'atteindre une base MySQL sur un réseau local via le framework, mais pas sur un serveur distant (à  confirmer).

    Pour ce qui est des BDD, on peut dire que sur Mac ou iPhone on utilise en gros :
    - CoreData (le framework d'Apple)
    - SQLite

    Sur Mac uniquement on peut rajouter :
    - MySQL

    Mais il en existe bien d'autres...

    Il est vrai que 90% des développeurs qui créent sur Mac vont utiliser CoreData ou SQLite, ne serait-ce parce qu'il n'est pas besoin d'installer un package comme MySQL, et que ces BDD sont gérées dans de simples fichiers (qu'on peut placer où on veut) contrairement à  MySQL plus abstrait qui place ces données dans des répertoires Unix "moins connus" (pour le grand public).

    Il sera donc plus facile de sauvegarder des données dans ~/User/Docs avec CoreData ou SQLite par exemple.

  • uocramuocram Membre
    05:33 modifié #3
    Bonjour,

    lilive
    Ta question est tout-à -fait à  propos : je me demande à  qui il s'adresse (le tutoriel). Je veux dire "à  qui va-t'il servir?", ou encore "une BDD pour quoi faire?" => je n'ai pas été informatif sur ce sujet, dans l'intro du tutoriel.

    Effectivement, en dehors de ma curiosité qui m'a poussé à  rechercher comment on peut utiliser MySQL en réseau local avec XCode, je vois trois différences majeures entre CoreData et MySQL :
    1- en faveur de CoreData : mise en oe“uvre "simple" par rapport à  MySQL (pour un néophyte comme moi)
    2- toujours en faveur de CoreData, possibilité, pour tous les "clients" d'un compte mobile.me de synchroniser leur base locale avec assez peu de travail (c'est déjà  conçu pour dans le design)
    3- en faveur de MySQL : multiples utilisateurs sur une base (contrairement à  CoreData qui naturellement serait plutôt mono-utilisateur, bien qu'il y ait des possibilités d'être multi, avec beaucoup de travail et des résultats très vite décevants si le nombre de requêtes augmente)
    J'y vois un avantage (que j'utilise sur un réseau de bureau d'étude de 10 postes) : c'est la possibilité de nourrir la base MySQL unique avec le navigateur (php/html) pour tous les postes de travail et avoir une application "administrateur" développée en Cocoa, permettant le développement de la structure, le nettoyage, la mise à  jour, la correction des données, la sauvegarde programmée, la restauration, etc.. Cette application Cocoa est plus souple qu'une interface php/html, ou plus conviviale que le terminal et les scripts.

    Ce tutoriel n'est pas orienté BDD distante (ce n'est pas de mon niveau, il faut voir CocoaMySQL/SequelPro pour cela). Il est clairement à  l'intention d'un usage sur réseau local.
    Ce n'est qu'un point de départ pour savoir comment paramétrer XCode et appeler des fonctions de l'API MySQL C, pour ceux, pour qui, comme pour moi, ce n'est pas intuitif.

    muqaddar et lilive
    Cette section tutoriels est prometteuse, notamment pour ceux qui, comme moi, non informaticiens, apprennent sur le tas, donc avec les conseils et expériences des autres (et beaucoup de recherche et de lecture de doc. avant de poser des questions).
    Je ne donnerai pas mon avis sur la migration récente de pommedev (le post est fermé et de plus je ne suis pas informaticien professionnel et ne gagne pas ma vie dans ce secteur).
    Par contre je m'interroge sur la sécurité de la propriété intellectuelle, dès l'instant où l'on poste sur un forum. N'est-ce pas illusoire? Donc, y a-t-il vraiment débat?
    Ceci dit, je conseille à  ceux qui vont écrire un tutoriel de bien lire les pages de mode d'emploi de la création d'une page : la richesse de présentation demande un peu de temps de lecture. Par contre, en échange, l'écriture et l'insertion de médias est facile. D'avance merci à  eux d'en écrire.

    Et surtout MERCI muqaddar de nous faire vivre autour du mac et de ses dérivés.


  • lilivelilive Membre
    05:33 modifié #4
    Merci de ta réponse.
    J'ai ajouté un lien dans le tutoriel vers cette discussion. Tu pourras bien sûr l'effacer si cela te prend un jour d'aller en parler directement dans le tutoriel. En fait c'est très intéressant ce que tu dis je pense. Cela prévient qu'il y a "plus simple" et dit quels sont les avantages à  vouloir utiliser quand même MySQL.
  • lilivelilive Membre
    05:33 modifié #5
    As-tu vu qu'eaglelouk est passé par là  et a proposé un tout petit changement dans le code (voir les révisions de la page). Vous êtes d'accord à  ce sujet? eaglelouk, si tu passes par là , je penses qu'en général ça peut-être pas mal, si on corrige une page, de mettre un petit mot pour prévenir, ça peut donner des discussions intéressantes. En tout cas merci pour la correction (si elle convient à  uocram  ;) )

  • uocramuocram Membre
    05:33 modifié #6
    Oui, eaglelouk m'avait informé du changement proposé.
    C'est l'intérêt de ce genre de "wiki" de pouvoir être enrichi.
  • DrakenDraken Membre
    05:33 modifié #7
    Pas mal ce changement..

Connectez-vous ou Inscrivez-vous pour répondre.