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

Bibliothèques C++ Discussion :

Utilisation de Conan


Sujet :

Bibliothèques C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2009
    Messages
    212
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2009
    Messages : 212
    Par défaut Utilisation de Conan
    Bonjour,

    Je cherche un outil de gestion de package / bibliothèque externe et interne. Suite à mes recherches, je suis tombée sur Conan. Toutefois, j'ai beau lire la documentation du dit outil, je ne comprends pas pourquoi il y a un server de mis à disposition, si il est obligatoire ou non.... Sachant que dans mon cas, j'aimerais garder Git comme repo et comme outil de versionning. L'application est surtout pour la création et l'harmonisation du code en interne entre les différents projets, mais aussi un moyen simple de gérer les différentes version sur sa machine en temps que dev.

    Qu'en pensez vous ?

    Merci et bonne journée.

  2. #2
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    4 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 493
    Billets dans le blog
    1
    Par défaut
    J'ai commencé à regarder cette conférence :
    mais je me suis arrêté à 29 min, juste quand il commence à parler de Conan. Ca pourra peut-être te permettre d'y voir plus clair

  3. #3
    Membre confirmé
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2009
    Messages
    212
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2009
    Messages : 212
    Par défaut
    Merci ! la conférence est en effet super intéressante. Toutefois, elle ne m'éclaire pas sur un point, quel est le rôle de ce serveur lorsqu'on a Git pour un librairie interne ?

  4. #4
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 644
    Par défaut
    Salut,
    Citation Envoyé par angioedema Voir le message
    Merci ! la conférence est en effet super intéressante. Toutefois, elle ne m'éclaire pas sur un point, quel est le rôle de ce serveur lorsqu'on a Git pour un librairie interne ?
    Git es ce que l'on appelle un "système de gestion de versions concurrentes".

    Pour faire simple, son principal objectif est de garder l'historique de toutes les modifications qui ont été apportées au code.

    En effet, dés que l'on dépasse le stade de "projets jetables", de petits programmes codés en vitesse pour voir comment réagit le compilateur ou pour arriver à comprendre une syntaxe particulière, on va être confronté à la "durée de vie" du projet : tant qu'il sera utilisé, le projet sera "vivant". Et, tant que le projet est vivant, nous pourrons être confrontés à trois bonnes raisons d'en changer le code:
    1. parce que l'on veut y ajouter une nouvelle fonctionnalité
    2. parce que l'on veut corriger un bug
    3. parce que l'on veut améliorer les performances générales

    Malheureusement, l'enregistrement des fichiers est soumis à un comportement qui est finalement fort proche de celui d'une plaque de marbre:

    Quand tu enregistre un fichier, c'est comme si tu gravais le contenu du fichier sur une plaque de marbre. Si tu modifies le contenu de ce fichier et que tu le sauvegarde à nouveau, c'est comme si tu brisais la plaque de marbre avec le contenu précédant pour la remplacer par une nouvelle plaque de marbre gravée ... avec le nouveau contenu.

    Si bien que, lorsque tu sauvegarde un fichier que tu as modifié, ce qu'il contenait avant est ... purement et simplement perdu!

    Par chance, la plupart des éditeurs de textes supportent les fonction "undo" et "redo", qui permettent -- dans une certaine mesure -- de "revenir en arrière" afin d'annuler une modification "inappropriée". Sauf que cette historique:
    • est généralement limitée quant au nombre de modifications que l'on peut annuler / refaire
    • est perdue lorsque l'éditeur de texte est éteint

    Et, pour notre malheur, l'erreur étant humaine, il arrive très régulièrement que les modifications apportées au code fassent "pire que mieux" : on résout un problème, mais on en occasionne quatre autres

    Git va permettre de garder "une partie" de l'historique des modifications, ce qui nous permettra, si l'on se rend compte que notre "correction" a occasionné de nouveaux problèmes, de "revenir en arrière" et peut être de partir d'une solution "moins grave".

    C'est tout ce qu'il fait en gros (en plus de nous permettre, le cas échéant de récupérer une certaine cohérence dans un fichier qui aurait -- par erreur -- été modifié par plusieurs personnes en même temps.

    Le but de conan est "uniquement" de permettre de fournir des "packages" qui pourront fonctionner les uns avec les autres, malgré le fait qu'ils soient -- peut-être -- fournis sous des formes différentes
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 29
    Par défaut
    Par défaut avec l'installation de Conan, le serveur conan-center est ajouté par défaut. Tu peux le supprimer si tu ne veux pas télécharger les packages d'internet.

    Au niveau de l'utilisation, tu peux rester en local sur ton repository local ou monter un serveur pour partager les packages en interne. Le serveur peut rester totalement déconnecté du net.

    Il faut bien comprendre au niveau de conan qu'il y a ce qui s'appelle une recette (recipe) qui est le conanfile.py (ou conanfile.txt pour la version basique). C'est ce script python formalisé qui va permettre à l'outil de récupérer ce dont le projet à besoin et de créer le package nécessaire. Et quand on dit package nécessaire, il peut il y en avoir une foulée (en différenciant l'architecture, le compilateur, l'os, le mode de build ou encore des options personnalisées) ou juste un seul (cas d'un package avec uniquement des headers qui sont valable quelque soit le contexte).

    En premier lieu conan va récupérer les recettes pour construire son arbre de dépendance. Une fois effectué, il va en déduire les packages qui lui sont nécessaires et va essayer de récupérer les binaires directement sur le serveur si ils sont disponibles. Dans le cas où le package n'est pas dispo, conan pourra le reconstruire tout seul si les étapes sont bien renseignées (récupération des sources (de git par ex), build et packaging).

    Je l'utilise actuellement au jour le jour et le trouve extrêmement pratique. Si tu as d'autres questions n'hésite pas.

  6. #6
    Membre confirmé
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2009
    Messages
    212
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2009
    Messages : 212
    Par défaut
    Merci pour l'ensemble de vos réponses, je pense que j'ai largement de quoi continuer pour la suite

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. utiliser les tag [MFC] [Win32] [.NET] [C++/CLI]
    Par hiko-seijuro dans le forum Visual C++
    Réponses: 8
    Dernier message: 08/06/2005, 15h57
  2. Réponses: 4
    Dernier message: 05/06/2002, 14h35
  3. utilisation du meta type ANY
    Par Anonymous dans le forum CORBA
    Réponses: 1
    Dernier message: 15/04/2002, 12h36
  4. [BCB5] Utilisation des Ressources (.res)
    Par Vince78 dans le forum C++Builder
    Réponses: 2
    Dernier message: 04/04/2002, 16h01
  5. Réponses: 2
    Dernier message: 20/03/2002, 23h01

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