De nombreux développeurs 4D exploitent la puissance des composants tiers trouvés sur GitHub, en particulier ceux répertoriés dans la rubrique 4d-component. 4D 20 R6 introduit une nouvelle super fonctionnalité : l’intégration directe de ces composants via le Component Manager.
Cet article de blog entre dans les détails, rendant votre processus de développement plus facile et plus efficace.
De nombreux composants 4D sont disponibles sur GitHub, qu’ils aient été développés par des tiers ou créés par vous-même.
Cette plateforme offre un moyen simple de distribuer les composants : les releases.
Avant de poursuivre, nous vous suggérons de lire l’article sur le Component Manager pour vous familiariser avec les concepts décrits ci-dessous.
Télécharger automatiquement les releases du dépôt
Le Component Manager ne se contente pas d’intégrer les composants locaux, il récupère aussi automatiquement les composants stockés dans les releases du dépôt.
Dans la boîte de dialogue Dépendances du projet, les composants GitHub sont facilement distingués des composants locaux par une petite icône à côté de l’indication de l’emplacement du composant.
Voici comment cela fonctionne :
- Compressez votre composant au format ZIP.
- Nommez l’archive en utilisant le même nom que le dépôt.
- Intégrez-le dans une release du dépôt.
Par exemple, ce processus peut être automatisé en utilisant du code 4D ou GitHub Actions. Une fois cela fait, déclarez le composant dans le fichier dependencies.json de votre projet :
{ "dependencies" : { "myComponent" : { "github" : "anyAccount/myComponent" } } }
Redémarrez le projet et le composant se chargera automatiquement. C’est aussi simple que cela !
TAGS et versions sémantiques
Lorsque vous créez une version dans le référentiel, vous spécifiez un tag et une version.
Les tags sont des textes qui référencent de manière unique une release. Dans le fichier dependencies.json, vous pouvez indiquer le tag de la release que vous souhaitez utiliser dans votre projet. Par exemple :
{ "dependencies" : { "myComponent" : { "github" : "anyAccount/myComponent", "tag" : "textTag" } } }
De la même manière, une version est identifiée par un numéro de version. Le système de version est basé sur le concept de Semantic Versioning, qui est le plus couramment utilisé. Chaque numéro de version est déterminé comme suit : majorNumber.minorNumber.patchNumber. De la même manière que pour les tags, vous pouvez indiquer la version du composant que vous souhaitez utiliser dans votre projet, comme dans cet exemple :
{ "dependencies" : { "myComponent" : { "github" : "anyAccount/myComponent", "version" : "2.1.3" } } }
La version est utilisée pour définir quelles versions peuvent être utilisées. Voici quelques exemples :
- « latest » : la version avec le badge « latest » dans les versions du référentiel.
- « * » : la dernière version publiée.
- « 1.* » : toutes les versions de la version majeure 1.
- « 1.2.* » : tous les correctifs de la version mineure 1.2.
- « ^1.2.3 » ou « >=1.2.3 » : la dernière version 1, à partir de la version 1.2.3.
- « ~1.2.3 » ou « >1.2.3 » : la dernière version majeure 1, en commençant par la version juste après 1.2.3.
- « <=1.2.3 » : la dernière version jusqu’à la version 1.2.3.
- « 1.0.0 – 1.2.3 » ou « >=1.0.0 <=1.2.3 » : version comprise entre 1.0.0 et 1.2.3.
-
« <1.2.3 || >=2 » : version qui n’est pas comprise entre 1.2.3 et 2.0.0.
Si vous ne spécifiez pas de tag ou de version, 4D récupère automatiquement la version ayant le badge « latest ».
Dépôts privés
Si vous souhaitez intégrer un composant situé dans un dépôt privé, vous devez indiquer à 4D d’utiliser un jeton de connexion pour y accéder. Pour ce faire, créez un jeton « classic » avec des droits d’accès à « repo » dans votre compte GitHub. Ensuite, insérez la clé générée dans votre fichier environment4d.json.
Voici un exemple de fichier environment4d.json :
{ "github" : { "token" : "ghp_a0B1cDEf2gHi3JKl4mNo5P6qRST7UvW8x9yZ" } }
Cette nouvelle fonctionnalité simplifie le travail avec les composants 4D. Nous sommes convaincus que cette intégration vous sera utile. Elle favorise un processus de développement plus efficace et exploite un énorme pouvoir de collaboration pour les développeurs 4D. N’hésitez pas à partager vos composants 4D dans des dépôts GitHub et à les badger avec le sujet 4d-component. Vous rejoindrez ainsi la grande communauté des développeurs de composants 4D et serez référencé dans la liste des composants 4D.
N’hésitez pas à nous faire part de vos commentaires !