PHPackages                             abollinger/partez - 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. [Framework](/categories/framework)
4. /
5. abollinger/partez

ActiveProject[Framework](/categories/framework)

abollinger/partez
=================

A simple &amp; fast PHP starter kit for web app

v3.0.0(1y ago)295MITPHPPHP ^8.1

Since Nov 29Pushed 1y agoCompare

[ Source](https://github.com/Antoine-Bollinger/partez)[ Packagist](https://packagist.org/packages/abollinger/partez)[ Docs](https://github.com/Antoine-Bollinger/partez)[ RSS](/packages/abollinger-partez/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (9)Versions (73)Used By (0)

[![Logo partez](/public/partez.png)](/public/partez.png)

A simple &amp; fast PHP starter kit for web app.

 [🐛 Report Bug](https://github.com/Antoine-Bollinger/partez/issues) | [See on Packagist 📦️](https://packagist.org/packages/abollinger/partez)

[![Total Downloads](https://camo.githubusercontent.com/8e1436114520a33b2803c1961d8c5e49f04a838968fc53b172ee6fe59d01eaf1/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f61626f6c6c696e6765722f70617274657a)](https://packagist.org/packages/abollinger/partez)[![Latest Stable Version](https://camo.githubusercontent.com/e7ba53abc689509ac7aa3f04e0073890533e6bc6287494ca79286cac9c935c16/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f61626f6c6c696e6765722f70617274657a)](https://packagist.org/packages/abollinger/partez)[![License](https://camo.githubusercontent.com/8936f297902102fcc0a327dff5f261988c583b90400d8339d3ac8e929a298e58/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f61626f6c6c696e6765722f70617274657a)](https://packagist.org/packages/abollinger/partez)

`partez` is a PHP starter kit designed to help developers quickly set up and manage a PHP web application. It includes robust backend support with streamlined front-end automation via `bricolo`, a JS package that compiles assets, serves your app, and provides live reloading for a smooth development workflow.

[![Home](/public/images/preview.webp)](/public/images/preview.webp)

1. [Getting Started](#getting-started)
    - [Requirements](#requirements)
    - [Installation and Setup](#installation-and-setup)
2. [How It Works](#how-it-works)
    - [Configuration](#configuration)
    - [The Router](#the-router)
    - [The Pages](#the-pages)
    - [The Public Folder](#the-public-folder)
    - [The API](#the-api)
3. [Bricolo JS Automation](#bricolo-js-automation)
    - [Configuration](#bricolo-js-configuration)
    - [Usage](#usage)
4. [Built With](#built-with)
5. [Contributing](#contributing)
6. [Contact](#contact)

Getting started
---------------

[](#getting-started)

### Requirements

[](#requirements)

- [Composer](https://getcomposer.org/) for backend dependency management.
- [Node.js](https://nodejs.org/) (v12 or higher) and npm for `bricolo` to enable asset compilation and live reloading.

### Installation and Setup

[](#installation-and-setup)

1. **Project Setup**: Create a new folder for your project and open a terminal in it.
2. **Install the PHP Framework**: Run this command to install `partez` and its dependencies:

```
composer create-project abollinger/partez .
```

3. **Create a `.env` File**: If not automatically created, create a `.env` file at the project root. You can use .env.example as a reference.
4. **Automatic Front-End Setup with `bricolo`**: `bricolo` is automatically installed via npm as part of the post-create command in `composer.json`. This includes asset compilation and live reloading. If you run the create-project command with `--no-script` options, you should run `npm install` to make sure that `bricolo` will be available.
5. Run the Development Server: Start the server with the command below to view the app in your browser at [localhost:1234](http://localhost:1234) (the port may change according to the other ports already in use on your machine. Please check the log in the console):

```
composer serve
```

How it works
------------

[](#how-it-works)

### Configuration

[](#configuration)

1. **HTML Customization**: Modify the HTML layout in `src/views/Layout.twig` to adjust the document head.
2. **Routing**: Routes are automatically derived from controllers in `src/Controllers` using specific annotations (see below).

### The Router

[](#the-router)

Define routes in src/Controllers files using PHP annotations:

```
/**
 * @Route(path="/", name="Home", auth=false)
 */
```

- URI (`path="/"`) is mandatory.
- Name (`name="Home"`) specifies the route's name.
- Authentification (`auth=false`) restricts the access if set to `true` (default is `false`, you can also use a $\_ENV\["APP\_AUTH"\] variable to set the default, for example in your `.env`, set `APP_AUTH=true` if needed.).
- Administrator (`admin=true`) restricts acces to some admin parameters that you can set in your app.

### The Pages

[](#the-pages)

Controllers in `src/Controllers` extend the main controller (`Abstract/Controller.php`). The `init()` method call `renderPage("Page.twig")` to render the Twig template. Each page extends the main layout in `src/views/Layout.twig`.

### The Public Folder

[](#the-public-folder)

The public directory houses `index.php`, as well as `js`, `css` and `images` folders, which can be customized freely.

### The API

[](#the-api)

A basic API is available in `api/` and runs on a MySQL database.

Bricolo JS Automation
---------------------

[](#bricolo-js-automation)

The Partez PHP framework includes `bricolo` as an automation tool for front-end tasks, so you can focus on development without needing to handle asset compilation or live reloading setup yourself. `bricolo` is installed automatically during setup, and it's already configured with a bricoloconfig.json file that defines custom settings to integrate with this project.

You can find more information on the [npm](https://www.npmjs.com/package/bricolo) of the `bricolo` (js) package.

### Bricolo JS Configuration

[](#bricolo-js-configuration)

`bricolo` is automatically installed within the project and configured with the file `bricoloconfig.json`:

```
{
    "phpServer": {
        "port": 8080,
        "command": "composer serve p={port}"
    },
    "jsBuild": {
        "entry": "assets/js/main.ts",
        "output": "public/js/bundle.js"
    },
    "sassBuild": {
        "entry": "assets/css/main.scss",
        "output": "public/css/style.min.css"
    },
    "watch": {
        "directories": [
            "src/**/*.php",
            "src/**/*.yaml",
            "view/**/*.twig",
            "public/**/*.css",
            "public/**/*.js",
            "public/**/*.svg"
        ]
    },
    "server": {
        "port": 1234
    }
}
```

**Configuration Overview**

- **PHP Server**: The PHP server will run on port 8080 using the command `composer serve p={port}`.
- **Asset Compilation:**

    - **JavaScript**: Compiles assets/js/main.ts into a bundle at public/js/bundle.js.
    - **CSS**: Compiles assets/css/main.scss into a minified CSS file at public/css/style.min.css.
- **File Watching**:

    - `bricolo` monitors files in specified directories (`src/**/*.php`, `view/**/*.twig`, `public/**/*.css`, etc.) for changes, which will trigger asset compilation and live browser reload.
- **Live Reload Server**: The development server is set to run on port 1234 for hot reloading.

### Usage

[](#usage)

After creating the project, you can simply start the bricolo automation and server:

```
npm run serve
```

Or, if you prefer, use the command directly:

```
npx bricolo serve
```

This command will:

1. Start the PHP server on port 8080.
2. Compile and watch for changes in JavaScript and Sass files.
3. Automatically reload the browser at [localhost:1234](http://localhost:1234) whenever changes are detected in watched files.

Build with
----------

[](#build-with)

- This kit is build in **[PHP](https://www.php.net/)**, using as much as possible the **MVC pattern**. We use the **[Twig](https://twig.symfony.com/)** template engine to generate the pages.
- Style is now powered by **[Bootstrap v5.2](https://getbootstrap.com/)**, using the simple CDN link.
- You can add JS scripts in the public folder or wherever you want, as mentioned earlier.

The basic structure is:

```
.
├── api/
│   ├── Abstract/ (Basic logic of the api)
│   ├── Config/ (Configuration files)
│   ├── Controllers/
│   │   └── [Controllers, typo is Controller.php]
│   ├── Models/
│   │   └── [Models, typo is Model.php]
│   ├── Provider/ (Providers logic like Database or any other resources provider)
│   ├── Router/ (main router logic for the api)
│   ├── View/ (set up a standardized response for every API request)
│   └── Starter.php
├── assets/
│   ├── css/ (Contains scss files that will be compiled into css in the public/css folder, based on bricolo js automation)
│   └── js/ (Contains typescript scripts that will be compiled into js in the public/js folder, based on bricolo js automation)
├── public/
│   ├── css/
│   ├── images/
│   ├── js/
│   └── index.php
├── src/
│   ├── Abstract/ (Basic logic of the app)
│   ├── App/ (Starter of the app)
│   ├── Config/ (Some configuration files like Bootstrap or Session)
│   ├── Controllers/
│   │   └── [Controllers, typo is Controller.php]
│   └── Router/ (Contains main Router logic)
├── views/ (Contain Twig templates for your app)
└── .env
```

Contributing
------------

[](#contributing)

We welcome contributions! Here’s how to contribute:

- **Fork** the project.
- **Create your feature branch**: `git checkout -b features/Myfeature`.
- **Commit your changes**: `git commit -m "✨ Introducing Myfeature!"`.
- **Push to Github**: `git push origin features/Myfeature`.
- **Open a Pull Request**.

Contact
-------

[](#contact)

If you have any questions, feel free to reach out:

Antoine Bollinger - [LinkedIn](https://www.linkedin.com/in/antoinebollinger/) -

You can talk to me in 🇫🇷, 🇧🇷 or 🇬🇧.

###  Health Score

38

—

LowBetter than 85% of packages

Maintenance49

Moderate activity, may be stable

Popularity15

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity69

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 ~13 days

Recently: every ~43 days

Total

70

Last Release

370d ago

Major Versions

v1.3.0 → v2.0.02024-03-05

v2.9.1 → v3.0.02025-05-14

### Community

Maintainers

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

---

Top Contributors

[![antoinebollinger](https://avatars.githubusercontent.com/u/56133015?v=4)](https://github.com/antoinebollinger "antoinebollinger (102 commits)")

---

Tags

frameworkphpstarter-kitphpframeworkfast

### Embed Badge

![Health badge](/badges/abollinger-partez/health.svg)

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

###  Alternatives

[contao-community-alliance/dc-general

Universal data container for Contao

1578.3k86](/packages/contao-community-alliance-dc-general)[usbac/wolff-framework

Web development made just right

381.2k](/packages/usbac-wolff-framework)

PHPackages © 2026

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