PHPackages                             huge/repo - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [HTTP &amp; Networking](/categories/http)
4. /
5. huge/repo

ActiveLibrary[HTTP &amp; Networking](/categories/http)

huge/repo
=========

Application permettant de stocker des livrables via une API en REST.

v1.1.2(11y ago)015MITPHPPHP &gt;=5.3.3

Since Aug 21Pushed 11y ago1 watchersCompare

[ Source](https://github.com/ffremont/HugeRepo)[ Packagist](https://packagist.org/packages/huge/repo)[ RSS](/packages/huge-repo/feed)WikiDiscussions master Synced 1w ago

READMEChangelog (4)Dependencies (6)Versions (5)Used By (0)

HugeRepo
========

[](#hugerepo)

[Télécharger v1.1.2](https://hubic.com/home/pub/?ruid=aHR0cHM6Ly9sYjEwNDAucGNzLm92aC5uZXQvdjEvQVVUSF85ZmQ3YTIxNDk1OTEwOGI2NjNiNDY4OGJkOWQzNzdhMS9kZWZhdWx0Ly5vdmhQdWIvMTQwOTkzMzUwM18xNDEwNzk3NTAzP3RlbXBfdXJsX3NpZz00MDQ2Yzg4MjNjMGRiYzI5MzQ2YWQ2MTk3M2RkZmU2ZGZiN2QyNmU4JnRlbXBfdXJsX2V4cGlyZXM9MTQxMDc5NzUwMw==)

Application permettant de stocker des livrables via une API en REST. Vous pouvez organiser votre stockage en fonction de votre organisation, par exemple :

- multi-instances
    - dev. mobile (slave): instance Huge/Repo avec sa base Mongo
    - dev. desktop (slave): instance Huge/Repo avec sa base Mongo
    - master : instance Huge/Repo avec sa base Mongo et pointe vers les 2 slaves
- une instance
    - master : instance Huge/Repo avec sa base Mongo

\##Installation

- Télécharger la version d'HugeRepo
- Décompresser
- Modifier la configuration src/main/resources/config.php pour pointer vers votre mongo
- Créer un virtualhost qui pointe vers src/main/webapp
- Plus d'informations dans la rubrique "Configuration"

Fonctionnalités
---------------

[](#fonctionnalités)

- Api REST
    - GET : récupérer le(s) livrables
    - POST : ajout le livrable
    - DELETE : supprimer le livrable
- Stockage souple grâce à Mongo

Livrable
--------

[](#livrable)

- vendorName (obligatoire): Nom du vendor
- projectName (obligatoire): Nom du projet
- version (obligatoire): X.Y.Z (1.0.0-SNAPSHOT par exemple)
- classifier (facultatif): déclinaison de votre livrable (dev, prod, ...)
- sha1 (facultatif) : permet de réaliser une vérification côté serveur

Configuration
-------------

[](#configuration)

- VirtualHost sur src/main/webapp
- Module rewrite obligatoire
- Répertoire log en écriture pour www-data
- src/main/resources/config.php

```
return array(
    // nom de l'instance master, slave1, slave2 ...
    'instance.name' => 'master',
    'mongo.server' => 'mongodb://localhost:27018',
    'mongo.dbName' => 'hugeRepo',
    'debug' => false,
    'memcache.enable' => true,
    'memcache.host' => '127.0.0.1',
    'memcache.port' => 11211,
    // liste des slaves
    'slaves' => array(
    /* 'http://slave1.fr' */
    ),

    'klogger' => array(
        'level' => 'warn',
        'path' => __DIR__.'/../../../log/'
    )
);
```

Ordonner votre stockage
-----------------------

[](#ordonner-votre-stockage)

- Possibilité d'installer plusieurs dépôts de livrables
    - master
        - Redispatch la récupération des livrables (GET du livrable)
    - slaves
- Chaque instance est autonome (sa base mongo)
- La seule différence entre master/slave, c'est que le dépôt "master" permet de récupérer un livrable sur un slave
- Pour connaître l'instance utilisée : X-Powered-By: NOM\_INSTANCE
- Votre gestionnaire de déploiement se base UNIQUEMENT sur le master

Ajouter un livrable
-------------------

[](#ajouter-un-livrable)

- Path : /livrable
- Méthode : POST
- Paramètres : attributs du livrable + paramètre "force" avec la valeur "1" pour forcer l'upload
- Accept : application/json
- Description
    - Ajout d'un livrable sur l'instance

Télécharger un livrable
-----------------------

[](#télécharger-un-livrable)

- Path : /livrable/{ID} ou /livrable/{vendorName}/{projectName}/{version}/{classifier}
- Méthode : GET
- Accept : application/octet-stream ou */*
- Description
    - Télécharge un livrable depuis l'instance courante ou depuis une autre instance

Rechercher
----------

[](#rechercher)

- Path : /livrable/search
- Méthode : GET
- Accept : application/json ou */*
- Paramètres en GET : vendorName, projectName, version, classifier
- Description
    - Recherche \* livrables sur l'instance courante

Supprimer
---------

[](#supprimer)

- Path : /livrable/{ID}
- Méthode : DELETE
- Description
    - Supprime un livrable sur l'instance courante

Authentification
----------------

[](#authentification)

- Délégué à apache2

Limitations
-----------

[](#limitations)

- Mongo pour le stockage
- Non prise en charge de l'authentification

\## Envoyer automatiquement votre livrable

- curl -i  -F file=@/var/www/pays\_out.json -F vendorName="Huge" -F projectName="Toto" -F version="1.0.0" -H "Accept: application/json"

Télécharger
-----------

[](#télécharger)

- wget

\## Tests

- VirtualHost sur le répertoire /target/hugeRepo-dev/src/test/webapp
- Variabiliser /src/test/resources/variables.ini
- phing -f build.xml clean test

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity61

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~5 days

Total

4

Last Release

4272d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/4fdc59a962708456dade186f976e91c3cddff1db2253d8739051810da9d65012?d=identicon)[floorent](/maintainers/floorent)

---

Top Contributors

[![ffremont](https://avatars.githubusercontent.com/u/5568721?v=4)](https://github.com/ffremont "ffremont (42 commits)")

---

Tags

restbinarystorerepositorylivrable

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/huge-repo/health.svg)

```
[![Health](https://phpackages.com/badges/huge-repo/health.svg)](https://phpackages.com/packages/huge-repo)
```

###  Alternatives

[zircote/swagger-php

Generate interactive documentation for your RESTful API using PHP attributes (preferred) or PHPDoc annotations

5.3k132.9M468](/packages/zircote-swagger-php)[nelmio/api-doc-bundle

Generates documentation for your REST API from attributes

2.3k63.6M233](/packages/nelmio-api-doc-bundle)[pusher/pusher-php-server

Library for interacting with the Pusher REST API

1.5k94.8M293](/packages/pusher-pusher-php-server)[shopify/shopify-api

Shopify API Library for PHP

4634.8M16](/packages/shopify-shopify-api)[eightpoints/guzzle-bundle

Integrates Guzzle 6.x, a PHP HTTP Client, into Symfony. Comes with easy and powerful configuration options and optional plugins.

45912.1M55](/packages/eightpoints-guzzle-bundle)[api-platform/metadata

API Resource-oriented metadata attributes and factories

223.5M96](/packages/api-platform-metadata)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
