{"id":25895917,"url":"https://github.com/mathis-lambert/bonnes-pratiques","last_synced_at":"2026-02-08T04:31:17.949Z","repository":{"id":198157652,"uuid":"700198391","full_name":"mathis-lambert/Bonnes-pratiques","owner":"mathis-lambert","description":null,"archived":false,"fork":false,"pushed_at":"2024-01-18T08:08:51.000Z","size":27924,"stargazers_count":0,"open_issues_count":3,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-25T06:34:18.283Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mathis-lambert.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-10-04T06:19:50.000Z","updated_at":"2023-10-04T08:57:18.000Z","dependencies_parsed_at":"2024-01-18T09:03:08.842Z","dependency_job_id":"96027865-7108-490a-b4b4-9d7a04e95518","html_url":"https://github.com/mathis-lambert/Bonnes-pratiques","commit_stats":null,"previous_names":["mathis-lambert/cours-dune"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mathis-lambert/Bonnes-pratiques","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mathis-lambert%2FBonnes-pratiques","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mathis-lambert%2FBonnes-pratiques/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mathis-lambert%2FBonnes-pratiques/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mathis-lambert%2FBonnes-pratiques/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mathis-lambert","download_url":"https://codeload.github.com/mathis-lambert/Bonnes-pratiques/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mathis-lambert%2FBonnes-pratiques/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29220430,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-08T03:18:47.732Z","status":"ssl_error","status_checked_at":"2026-02-08T03:15:31.985Z","response_time":57,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-03-02T22:34:20.753Z","updated_at":"2026-02-08T04:31:17.936Z","avatar_url":"https://github.com/mathis-lambert.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"[//]: \u003c\u003e (https://stackedit.io/app#)\n\n# Versioning GIT\n\n## Bonnes pratiques en programmation.\n\n### Générales\n\n-   Lisibilité du code\n    \u003e Écrivez votre code de manière à ce qu'il soit lisible par d'autres.\n-   Commentaires pertinents\n    \u003e Commentez le pourquoi, pas le comment. 1/3 de commentaire 2/3 de code\n-   Nommer judicieusement\n    \u003e Utilisez des noms de variables, de fonctions et de classes qui décrivent leur utilité ou leur fonction. il faut pouvoir comprendre une fonction ou une variable uniquement grâce à son nom !\n-   Diviser le code en fonctions et classes\n    \u003e Évitez les fonctions monolithiques. Divisez votre code en fonctions ou méthodes plus petites, chacune effectuant une tâche spécifique. Utilisez des classes pour regrouper des fonctionnalités liées.\n-   Soyez conscient des implications en matière de sécurité\n\n    \u003e **Écrivez un code sécurisé, protégez-vous des vulnérabilités courantes.**\n\n    \u003e Ne pas **Hardcoder** les configurations\n\n    \u003e Cloisonner les serveurs de travail (prod/preprod) attention aux échanges de données\n\n-   Maintenabilité\n-   Testing\n-   Licence\n\n### Nommage des éléments :\n\n-   Nommer judicieusement\n\n    \u003e Utilisez des noms de variables, de fonctions et de classes qui décrivent leur utilité ou leur fonction. il faut pouvoir comprendre une fonction ou une variable uniquement grâçe à son nom !\n\n-   Syntaxe et indentation\n\n    \u003e propriétés (clés dans les objet js ou JSON) **snake_case** exemple : ma_propriete\n\n    \u003e variables (let) **camelCase** premier lettre en minuscule et tous les autres mots ont leur première lettre en maj parExempleCommeCa\n\n    \u003e constantes (const) **camelCase / CAPS** exeption pour les VRAIES CONSTANTES par exemple un délai d'attente en secondes qu'on notera tout en majuscule : const TIMER = 2\n\n    \u003e Nom des composants (nom du fichier .jsx) **PascalCase** par exemple le composant boutton envoyer : SendButton.jsx.\n    \u003e Le nom de la fonction interne au composant doit aussi etre en PC\n\n-   Js:\n    \u003e variables \u0026 Fonction (let \u0026 function) **camelCase** premier lettre en minuscule et tous les autres mots ont leur premiere lettre en maj parExempleCommeCa\n    \n    \u003e constantes (const) **camelCase / CAPS** exeption pour les VRAIES CONSTANTES par exemple un délai d'attente en secondes qu'on notera tout en majuscule : const TIMER = 2\n    \n    \u003e Nom des composants (nom du fichier .jsx) **PascalCase** par exemple le composant bouton envoyer : SendButton.jsx. PAS: le nom de la fonction interne au composant doit aussi être en PC\n\n    \u003e class (class) **PascalCase** première lettre en majuscule et tout les autres mots on leur premiere lettre en majuscule\n```js\nclass User {}\nconst USER = \"xxx\";\nfunction userConnected(userId) {}\nconst USER_ID = 2;\nlet height = 1.8;\n```\n\n-   HTMl:\n    \u003e classes, id (pour le HTML) **kebab-case** exemple : ma-super-div sans majuscule\n\n```html\n\u003cdiv id=\"super-div\" class=\"super-class\"\u003e\u003c/div\u003e;\n```\n\n-   CSS: \n    \u003e classes, id (pour le CSS) **kebab-case** la même que le html\n\n```css\n.super-class {\n    display : none;\n}\n```\n\n### Structure du code :\n\n-   Lisibilité du code\n    \u003e Écrivez votre code de manière à ce qu'il soit lisible par d'autres.\n-   Commentaires pertinents\n    \u003e Commentez le pourquoi, pas le comment.\n-   Diviser le code en fonctions et classes\n    \u003e Évitez les fonctions monolithiques. Divisez votre code en fonctions ou méthodes plus petites, chacune effectuant une tâche spécifique.\n-   Éviter la duplication de code\n    \u003e Ne pas répéter le même code. Si vous avez besoin d'une logique similaire à plusieurs endroits, créez une fonction réutilisable.\n    \u003e Utilisez des classes pour regrouper des fonctionnalités liées.\n-   Utiliser le même outil de mise en forme\n    \u003e Exemple : Prettier, PEP8 ...\n\n### Gestion des erreurs et des exceptions :\n\n-   Gérer les erreurs\n    \u003e Utilisez la gestion des exceptions pour gérer les erreurs plutôt que de renvoyer des codes d'erreur. Cela rend le code plus robuste et plus facile à maintenir.\n\n### HTML\n\n\u003e classes, id (pour le HTML) **kebab-case** exemple : ma-super-div sans majuscule\n\n### JS / JSON\n\n\u003e propriétés (clés dans les objet js ou JSON) **snake_case** exemple : ma_propriete\n\n### Python\n```python\nclass MyClass:\n    def __init__(self, name):\n        self.name = name\n\n    def say_hello(self):\n        print(f\"Hello, {self.name}!\")\n\nmy_variable = 1\nMYCONSTANT = 2\n```\n\n### C#\n    \n```csharp\npublic class MyClass\n{\n    public MyClass(string name)\n    {\n        Name = name;\n    }\n\n    public string Name { get; set; }\n\n    public void SayHello()\n    {\n        Console.WriteLine($\"Hello, {Name}!\");\n    }\n}\n```\n\n### PHP\n```php\nclass MyClass\n{\n    public function __construct($name)\n    {\n        $this-\u003ename = $name;\n    }\n\n    public function sayHello()\n    {\n        echo \"Hello, {$this-\u003ename}!\";\n    }\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmathis-lambert%2Fbonnes-pratiques","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmathis-lambert%2Fbonnes-pratiques","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmathis-lambert%2Fbonnes-pratiques/lists"}