Projet de sujet : compiler et programmer autour de FreeCAD

Forum destiné aux questions et discussions en français
Forum rules
Règles du forum et informations utiles.

VEUILLEZ LIRE CECI AVANT DE DEMANDER DE L'AIDE
Post Reply
User avatar
-alex-
Veteran
Posts: 1795
Joined: Wed Feb 13, 2019 9:42 pm
Location: France

Projet de sujet : compiler et programmer autour de FreeCAD

Post by -alex- »

Salut à tous, cela fait un moment que j'ai un projet qui me trotte dans la tête : créer un sujet qui permettrait à des débutants-novices en programmation de commencer à coder autour de FreeCAD.
Un sujet qui donnerait les étapes et les prérequis nécessaires pour se mettre à la programmation avec et autour de FreeCAD, et qui permettait aussi d'éviter les pièges, erreurs et perte de temps, qui listerait les bons liens, les bonnes documentation.
Es-ce que des membres familliés avec le code seraient motivés à participer à un tel sujet? Sur le temps long, le sujet serait renseigné de temps en temps. Un tuto pourrait être créé en parallèle pour enrichir la documentation FreeCAD relative à la programmation.
L'idée serait de donner les bases à un débutant (comme moi, et d'autres), en se plaçant dans la situation d'un novice.
J'ai un déroulé en tête, ce fil de discussion servirait ici à dégrossir le projet, et un autre fil "officiel" épinglé présenterait les informations plus clairement ou proposerait un document tuto ou le lien vers la page wiki idoine (qui existe déjà je le sais, mais qui serait complétée)
Le but n'est pas des réinventer la roue ni d'apprendre à programmer, mais de synthétiser les informations et les ressources pour avancer dans l'apprentissage, refermer les questionnements inutiles, définir les priorités. Car l'info est dispo sur le net, mais elle est massive, fragmentée et souvent décontextualisée. La pédagogie ou la progression sont souvent absentes.
Développeurs francophones seriez-vous motivés et disponible pour contribuer à un tel sujet? Pensez-vous que cela en vaille la peine? Trop vaste?
Utilisateurs FreeCAD avancés ou développeurs débutants, seriez-vous intéressés par un tel sujet?
User avatar
Vincent B
Veteran
Posts: 4577
Joined: Sun Apr 05, 2015 9:02 am
Location: La Rochelle, France

Re: Projet de sujet : compiler et programmer autour de FreeCAD

Post by Vincent B »

Pourquoi pas. Ça revient à compléter le wiki avec des exemples détaillés et correctement expliqués. Ce qui ne fera pas de mal.
openBrain
Veteran
Posts: 9019
Joined: Fri Nov 09, 2018 5:38 pm
Contact:

Re: Projet de sujet : compiler et programmer autour de FreeCAD

Post by openBrain »

-alex- wrote: Mon Feb 07, 2022 12:09 am Salut à tous, cela fait un moment que j'ai un projet qui me trotte dans la tête : créer un sujet qui permettrait à des débutants-novices en programmation de commencer à coder autour de FreeCAD.
Un sujet qui donnerait les étapes et les prérequis nécessaires pour se mettre à la programmation avec et autour de FreeCAD, et qui permettait aussi d'éviter les pièges, erreurs et perte de temps, qui listerait les bons liens, les bonnes documentation.
Attention au mélange. Quand on dit "compiler et programmer" puis "débutants-novices", ça me fait peur. :)
En fait si on parle de besoin de "compiler", on parle de développement en C++. Et pour moi ce n'est une riche idée pour des débutants (mais je peux me tromper).
Si on débute (en programmation), je pense qu'il est nettement préférable de commencer par du Python. ;)

Au delà de la compilation et/ou de la programmation, il se rajoute git (qui correspond à la partie "gestion de configuration") qu'il faut utiliser de manière différentes selon les cas.
Je pense donc qu'il faut bien séparer les cas d'usages :
* Compiler FreeCAD pour tester les nouveautés (dernier master et PR) => Dans ce cas, on apprend surtout des subtilités de git -- ce que j'ai décrit dans l'autre thread --, mais par contre la compilation est juste une étape sans intérêt qu'on fait comme un robot
* Compiler FreeCAD pour programmer => Dans ce cas, on a son propre fork du projet, et on apprend d'autres subtilités de git (celles qui servent à faire des PR bien propres)
* En Python => La compilation n'a pas d'intérêt propre et on la fait comme un robot
* En C++ => La compilation est un enjeu important et on a donc souvent en plus la mise en place d'une IDE et d'un environnement de debuggage adapté

Pour moi, le dernier cas n'est pas vraiment accessible immédiatement aux débutants. ;)
Es-ce que des membres familliés avec le code seraient motivés à participer à un tel sujet?
Oui bien sûr, mais toujours avec une dispo qui dépend du temps libre. ;)
User avatar
Vincent B
Veteran
Posts: 4577
Joined: Sun Apr 05, 2015 9:02 am
Location: La Rochelle, France

Re: Projet de sujet : compiler et programmer autour de FreeCAD

Post by Vincent B »

Je crois que alex évoque la programmation python uniquement.
User avatar
-alex-
Veteran
Posts: 1795
Joined: Wed Feb 13, 2019 9:42 pm
Location: France

Re: Projet de sujet : compiler et programmer autour de FreeCAD

Post by -alex- »

Merci pour vos retours :)
Ce soir je manque de temps je détaillerai plus plus tard, mais rapidement :
-100% en phase avec openbrain.
Quand je parlais compilation je pensais à la compilation de FreeCAD, oui comme un robot et peut-être sans intérêt pour un développeur mais je pense qu'il est nécessaire de la démistiffier et de traiter des PR et des branches comme tu l'as fait, parler un peu des erreurs qui peuvent se produire (répertoire de construction, librairie manquantes, utilisation cmakegui, ne pas avoir peur des messages d'erreur et essayer de les comprendre si possible,....). La compilation fait peur à des novices, c'est dommage je crois.
Et comme tu l'as dit c'est aussi un sujet lié à git qui est très utile pour gérer son code dès qu'il devient un peu volumineux.
L'idée pour moi serait d'avoir un sujet qui soit une boîte à outils, de lister les maillons de la chaîne du début à la fin (installation Linux -> macro FC), de lister également les truc et astuces pour s'y retrouver, les objectifs, bref l'huile entre les maillons.
Je ne pensais pas compilation C++, trop ambitieux oui, mais serait à évoquer, par exemple en présentant les différences et avantages/inconvénients programmes compilés ou interprétés,
L'idée n'est pas de refaire la documentation python ou C++, et encore moins un cours d'anglais, mais de lister les ressources, les étapes, les bonnes méthodes, expliquer quelques concepts clés. Faire un super mémo bien commenté et bien progressif, ou les points de blocage sont évités.
Pour cela utiliser un exemple réel d'une fonction ou d'une macro à coder, de A à Z. Je crois beaucoup à la pédagogie par l'exemple, mais à condition qu'il soit commenté.


@Vincent, oui je pensais python pour la prog.
Quand j'aurai plus de temps je commencerai à dérouler mon plan, en commençant par les prérequis. Vous me ferez vos commentaires, ajouts, corrections etc. Vous prendrez la main si vous le souhaitez, et par itérations successives le "guide" prendra forme, dans un fichier dans un premier temps, mis à jour régulièrement, puis il sera mis sous forme de fil de discutions ou de wiki pour être indexé par les moteurs de recherche et accessible.
L'idée et aussi de faire court et efficace (pas comme ce que je fais là :mrgreen: ), et c'est le plus difficile.
Voilà pour l'état d'esprit. Si ce genre de guide existe déjà merci de le signaler ;)
Merci pour votre bonne volonté, quelque soit son niveau :)
jbe
Posts: 360
Joined: Sun Nov 10, 2013 4:18 pm
Location: France, Châteauroux

Re: Projet de sujet : compiler et programmer autour de FreeCAD

Post by jbe »

en voilà une bonne idée.
J'ai déjà mis sur le forum, comment ouvrir et fermer un portail.
Le plus dur va être de le retrouver.
Cela permet de donner un exemple de départ.

A plus
User avatar
flachyjoe
Veteran
Posts: 1747
Joined: Sat Mar 31, 2012 12:00 pm
Location: Limoges, France

Re: Projet de sujet : compiler et programmer autour de FreeCAD

Post by flachyjoe »

Petite astuce pour ceux qui souhaitent compiler depuis les sources en réduisant la taille du dépôt (et donc du téléchargement) :

Code: Select all

git clone --depth 1 --single-branch  -b master https://github.com/FreeCAD/FreeCAD.git
  • --depth 1 supprime l'historique
  • --single-branch -b master ne récupère que la branche principale
Résultat : un dépôt local de 869Mio (289.83 Mio téléchargés) équivalent à l’instantané Zip mais qui se met à jour facilement avec

Code: Select all

git pull
Pour comparaison le dépôt complet c'est 2.0Gio (1.37 Gio téléchargés).
- Flachy Joe -
Image
Post Reply