Quantcast

Korben, roi d’internet, logo bébé avec des lunettes en mode thug life Korben, roi d’internet, logo bébé avec des lunettes en mode thug life

Korben Upgrade your mind

Git-Sizer – Pour vous aider à faire maigrir vos dépôts Git

Github, qu'on ne présente plus, a mis en ligne sous licence MIT, git-sizer, un outil en ligne de commande, développé en Go, destiné à aider les développeurs à faire maigrir leur dépôt git.

Étant donné que chez Github, ils ont une bonne expérience de ce qui prend de la place dans les dépôts git, ils sont capables d'évaluer l'état de votre dépôt et de vous indiquer avec où se situe le votre par rapport à une moyenne réalisée sur les 78 millions de dépôts, hébergés par Github.

D'après les experts de Github, un dépôt devrait toujours être en dessous des 1GB. Au-delà de 5 GB, ça commence à devenir craignos. En général, cela est dû au stockage de fichiers générés, aux blobs (médias vidéo, photo, binaires. etc.) alors qu'il est possible de les stocker hors dépôt grâce à Git-LFS, aux zip et autres fichiers tar qui se retrouvent là par manque de rigueur, sans oublier les trop nombreux tags et branches qui ne servent pas à grand-chose, les arborescences contenant plus de 200 répertoires et sous répertoires, les fichiers textes très gros versionnés, ou tout simplement un trop grand nombre d'objets référencés. Et dans ce cas-là, c'est peut-être pas con de diviser son projet en sous-projets plus modestes.

Il existe encore de très nombreuses raisons qui font qu'un git peut être trop gros et pour les connaitre, je vous invite à lire la doc de git-sizer ici.

Pour installer Git-Sizer, vérifiez bien que vous avez le dernier client git >=2.6, puis rendez-vous ici pour récupérer le binaire qui correspond à votre système d'exploitation. Dézippez-le puis rendez l’exécutable et ajoutez le répertoire d'installation à votre PATH pour pouvoir le lancer directement depuis vos dépôts.

Placez-vous ensuite dans le dépôt dont vous voulez évaluer la taille et lancez la commande

git-sizer --verbose

Et vous obtiendez un joli résultat comme celui-ci (là ça concerne le dépôt Linux)

$ git-sizer --verbose
Processing blobs: 1652370
Processing trees: 3396199
Processing commits: 722647
Matching commits to trees: 722647
Processing annotated tags: 534
Processing references: 539
| Name                         | Value     | Level of concern               |
| ---------------------------- | --------- | ------------------------------ |
| Overall repository size      |           |                                |
| * Commits                    |           |                                |
|   * Count                    |   723 k   | *                              |
|   * Total size               |   525 MiB | **                             |
| * Trees                      |           |                                |
|   * Count                    |  3.40 M   | **                             |
|   * Total size               |  9.00 GiB | ****                           |
|   * Total tree entries       |   264 M   | *****                          |
| * Blobs                      |           |                                |
|   * Count                    |  1.65 M   | *                              |
|   * Total size               |  55.8 GiB | *****                          |
| * Annotated tags             |           |                                |
|   * Count                    |   534     |                                |
| * References                 |           |                                |
|   * Count                    |   539     |                                |
|                              |           |                                |
| Biggest objects              |           |                                |
| * Commits                    |           |                                |
|   * Maximum size         [1] |  72.7 KiB | *                              |
|   * Maximum parents      [2] |    66     | ******                         |
| * Trees                      |           |                                |
|   * Maximum entries      [3] |  1.68 k   |                                |
| * Blobs                      |           |                                |
|   * Maximum size         [4] |  13.5 MiB | *                              |
|                              |           |                                |
| History structure            |           |                                |
| * Maximum history depth      |   136 k   |                                |
| * Maximum tag depth      [5] |     1     | *                              |
|                              |           |                                |
| Biggest checkouts            |           |                                |
| * Number of directories  [6] |  4.38 k   | **                             |
| * Maximum path depth     [7] |    13     | *                              |
| * Maximum path length    [8] |   134 B   | *                              |
| * Number of files        [9] |  62.3 k   | *                              |
| * Total size of files    [9] |   747 MiB |                                |
| * Number of symlinks    [10] |    40     |                                |
| * Number of submodules       |     0     |                                |

[1]  91cc53b0c78596a73fa708cceb7313e7168bb146
[2]  2cde51fbd0f310c8a2c5f977e665c0ac3945b46d
[3]  4f86eed5893207aca2c2da86b35b38f2e1ec1fc8 (refs/heads/master:arch/arm/boot/dts)
[4]  a02b6794337286bc12c907c33d5d75537c240bd0 (refs/heads/master:drivers/gpu/drm/amd/include/asic_reg/vega10/NBIO/nbio_6_1_sh_mask.h)
[5]  5dc01c595e6c6ec9ccda4f6f69c131c0dd945f8c (refs/tags/v2.6.11)
[6]  1459754b9d9acc2ffac8525bed6691e15913c6e2 (589b754df3f37ca0a1f96fccde7f91c59266f38a^{tree})
[7]  78a269635e76ed927e17d7883f2d90313570fdbc (dae09011115133666e47c35673c0564b0a702db7^{tree})
[8]  ce5f2e31d3bdc1186041fdfd27a5ac96e728f2c5 (refs/heads/master^{tree})
[9]  532bdadc08402b7a72a4b45a2e02e5c710b7d626 (e9ef1fe312b533592e39cddc1327463c30b0ed8d^{tree})
[10] f29a5ea76884ac37e1197bef1941f62fda3f7b99 (f5308d1b83eba20e69df5e0926ba7257c8dd9074^{tree})

Plus il y a d'étoiles, plus c'est mauvais, car la note dépasse la moyenne des autres dépôts git présents sur Github. Donc ça vous permettra de mieux cibler vos efforts pour réaliser la cure d'amaigrissement de votre dépôt.

Les sources et la doc de Git-Sizer sont ici.

Amusez-vous bien !

Source


MacWay fête ses 30 ans et qui dit 30 ans dit JEU CONCOURS !

Le grand jeu anniversaire est disponible sur macway.com ! Tentez de remporter un MacBook Air jusqu’au 11 Octobre 2020 !
D’autres lots sont également mis en jeu, avec notamment une trottinette Force Moov , un casque Bose QuietComfort 35.
Bonne nouvelle : il n’y a pas de perdant, puisque chaque participant recevra un bon d’achat de 10€ !
Tirage au sort le 12 Octobre 2020.

En Savoir +




130 idées pour votre Raspberry Pi

Nous sommes nombreux à nous être procuré un petit ordinateur Raspberry Pi pour nous lancer dans des projets de ouf malade… C’est très cool, mais à part le classique Media Center, qu’avez-vous fait avec votre Raspberry Pi ?

Si vous séchez niveau idées, voici une petite sélection que j’ai rassemblée au cours des derniers mois. J’imagine qu’il y a encore beaucoup d’autres idées et de tutos, donc n’hésitez pas à partager les liens dans les commentaires, je les rajouterai à ma liste. Merci et merci à tous ceux qui m’ont envoyé des idées !

En attendant, j’espère que ceux-ci vous donneront de l’inspiration…

On peut donc en faire :

  1. Un module pour ouvrir sa porte de garage à la voix (grâce à SIRI)
  2. Une table basse de jeux d’arcade pour se la raconter quand on invite du monde à la maison.
  3. Une Beetbox pour faire de la musique avec des betteraves.
  4. Un robot Roomba.
  5. Un scanner antivirus avec ClamAV.
  6. Un netbook.
  7. Un système de surveillance vidéo communiquant via Telegram.
  8. Une pirateBox /-)
  9. Un mediacenter avec Kodi.
  10. Un mediacenter avec Plex.
  11. Un mediacenter avec Emby.
  12. Un système de mesure de la qualité de l’air.
  13. Un serveur de streaming avec OpenMediaVault.
  14. Un serveur domotique GPIO.
  15. Un serveur SqueezeBox (Logitech Media Server)
  16. Une alarme pour votre domicile.
  17. Un lecteur d’audiobooks.
  18. Un appareil photo pour prendre le ciel étoilé.
  19. Un serveur Owncloud.
  20. Un jukebox LEGO.
  21. Un outil de surveillance réseau (network monitoring) Il y a également ce projet.
  22. Un char d’assaut.
  23. Un bot Twitter ou encore celui-ci pour poster des photos.
  24. Un connecteur OBD-II (pour la voiture)
  25. Un bloqueur de publicité pour la télévision.
  26. Un serveur BitTorrent.
  27. Un serveur FTP classique.
  28. Un serveur FTP qui fonctionne à l’énergie solaire.
  29. Une borne d’arcade MAME.
  30. Un transmetteur FM.
  31. Un NAS.
  32. Un ECG (Électrocardiogramme) portable.
  33. Un serveur Git
  34. Un serveur de mail.
  35. Un ordinateur portable.
  36. Un outil de surveillance du trafic réseau.
  37. Un cadre photos numérique.
  38. Une Time Machine.
  39. Une box domotique avec Jeedom ou avec OpenHAB.
  40. Un module pour piloter ses guirlandes de Noël.
  41. Un serveur web. (ou un « blog« … enfin, un serveur LAMP quoi)
  42. Des lunettes Raspberry Pi.
  43. Un distributeur de tickets.
  44. Une serre connectée.
  45. Un routeur pour bloquer les pubs.
  46. Un système embarqué pour lire des plaques d’immatriculation.
  47. Une console de rétro gaming.
  48. Des animations en time-lapse.
  49. De quoi streamer de la musique chez vous comme Sonos. (Y’a ça aussi)
  50. Une machine à conseils.
  51. Un ordinateur pour apprendre aux enfants à développer des jeux vidéos [PDF].
  52. Un ordinateur de bord pour la voiture.
  53. Un boite à outils pour faire du pentest (avec Pwnie Express que j’adore)
  54. Un système de contrôle à distance de votre PC Windows.
  55. Un détecteur de mouvement avec capture de photos.
  56. Un serveur Minecraft.
  57. Un système d’affichage dynamique pour diffuser de l’information ou de la publicité.
  58. De quoi streamer des jeux PC.
  59. Un super ordinateur.
  60. Un studio pour faire du Stop Motion.
  61. Du LightPainting (Allez voir, c’est magnifique)
  62. Un thermostat pour gérer vos température.
  63. Une station météo ici ou là.
  64. Un photomaton ou aussi ce projet de Photo Booth.
  65. Une PlayStation.
  66. Un jeu de Quizz avec possibilité d’ajouter des télécommandes.
  67. Une GameBoy.
  68. Un miroir connecté.
  69. Un intercom comme en 1986
  70. Un outil de suivi de votre entrainement physique quotidien.
  71. Une voiture télécommandée.
  72. Un indicateur visuel pour savoir si vous êtes toujours connecté au net.
  73. Un mineur de Bitcoins.
  74. Un serveur DLNA.
  75. Un serveur Asterisk (pour la VoIP).
  76. Un agenda Google à accrocher sur le mur.
  77. Un distributeur de croquettes.
  78. Un jeu pour chat avec un laser.
  79. Un robot.
  80. Un système pour faire de l’astro-photographie.
  81. Un robot chien.
  82. Un robot chat ou un autre robot chat.
  83. Un cluster de serveurs avec OctaPi.
  84. Un serveur VPN.
  85. Un routeur VPN de voyage.
  86. Un module DSLR qui se connecte à un appareil photo reflex et qui permet de transférer les images via le Wifi ou de contrôler le déclenchement à distance.
  87. Un module de prise de photo en haute atmosphère avec un ballon sonde.
  88. Un lecteur RFID.
  89. Un Chromecast.
  90. Une automatisation de votre chemin de fer en modèle réduit (train).
  91. Une passerelle LoRaWan.
  92. Un tracker GPS.
  93. Un serveur VPN à domicile.
  94. Un serveur de webcam.
  95. Faire de la musique en la codant.
  96. Une lampe réveil.
  97. Un ordinateur de bureau.
  98. Un quadcopter pour survoler le jardin des voisins.
  99. Une machine à café pilotable et programmable à distance.
  100. Un relai TOR.
  101. Un traceur (pen plotter) pour dessiner.
  102. Un live stream sur YouTube.
  103. Piloter un téléscope.
  104. Une machine à cocktail.
  105. Du détournement de Kindle pour l’utiliser comme un écran.
  106. Un baladeur capable de lire du MOD, S3M, IT ou encore XM.
  107. Une Super Nintendo.
  108. Des enceintes AirPlay.
  109. Un avertisseur d’emails reçus et il y a aussi ce projet.
  110. Un Raspberry Pi… overclocké.
  111. Un flipper.
  112. Une radio pour écouter la BBC avec le décalage horaire.
  113. Un spectacle pyrotechnique.
  114. Un robot pilotable à distance.
  115. Connecter une imprimante sur le réseau.
  116. Un serveur de synchro pour Firefox.
  117. Un assistant vocal Google Home.
  118. Piloter des ampoules Philips Hue en synchro avec Kodi
  119. Faire du suivi de température.
  120. Une radio pirate.
  121. Un sismographe.
  122. Un détecteur steampunk de radiations et compteur Geiger.
  123. Un routeur OpenWRT pour votre réseau.
  124. Un switch niveau 3 pour votre réseau.
  125. Un walkman lecteur de disquettes.
  126. Un répéteur wifi pour augmenter la portée de votre réseau.
  127. Un piège avec des rayons laser.
  128. Alimenter le Raspberry Pi avec l’énergie solaire.
  129. Un thérémine pour faire de la musique avec votre corps.
  130. Un wikipedia offline.

Et si vous cherchez un moyen rapide et pas cher de faire un boitier de protection pour vos Raspberry Pi, pensez aux LEGO.

Bon, je pourrai continuer comme ça toute la journée, mais va bien falloir que je m’arrête. Je pense que vous avez déjà de quoi faire pour vous lancer dans de nouveaux projets avec votre Raspberry Pi !

Amusez-vous bien !

Article mis à jour le 21 septembre 2020.
Publication d’origine le 16 janvier 2013.


MacWay fête ses 30 ans et qui dit 30 ans dit JEU CONCOURS !

Le grand jeu anniversaire est disponible sur macway.com ! Tentez de remporter un MacBook Air jusqu’au 11 Octobre 2020 !
D’autres lots sont également mis en jeu, avec notamment une trottinette Force Moov , un casque Bose QuietComfort 35.
Bonne nouvelle : il n’y a pas de perdant, puisque chaque participant recevra un bon d’achat de 10€ !
Tirage au sort le 12 Octobre 2020.

En Savoir +



Rejoindre la discussion sur Korben Communauté