forked from Shiloh/githaven
6433ba0ec3
Use [chi](https://github.com/go-chi/chi) instead of the forked [macaron](https://gitea.com/macaron/macaron). Since macaron and chi have conflicts with session share, this big PR becomes a have-to thing. According my previous idea, we can replace macaron step by step but I'm wrong. :( Below is a list of big changes on this PR. - [x] Define `context.ResponseWriter` interface with an implementation `context.Response`. - [x] Use chi instead of macaron, and also a customize `Route` to wrap chi so that the router usage is similar as before. - [x] Create different routers for `web`, `api`, `internal` and `install` so that the codes will be more clear and no magic . - [x] Use https://github.com/unrolled/render instead of macaron's internal render - [x] Use https://github.com/NYTimes/gziphandler instead of https://gitea.com/macaron/gzip - [x] Use https://gitea.com/go-chi/session which is a modified version of https://gitea.com/macaron/session and removed `nodb` support since it will not be maintained. **BREAK** - [x] Use https://gitea.com/go-chi/captcha which is a modified version of https://gitea.com/macaron/captcha - [x] Use https://gitea.com/go-chi/cache which is a modified version of https://gitea.com/macaron/cache - [x] Use https://gitea.com/go-chi/binding which is a modified version of https://gitea.com/macaron/binding - [x] Use https://github.com/go-chi/cors instead of https://gitea.com/macaron/cors - [x] Dropped https://gitea.com/macaron/i18n and make a new one in `code.gitea.io/gitea/modules/translation` - [x] Move validation form structs from `code.gitea.io/gitea/modules/auth` to `code.gitea.io/gitea/modules/forms` to avoid dependency cycle. - [x] Removed macaron log service because it's not need any more. **BREAK** - [x] All form structs have to be get by `web.GetForm(ctx)` in the route function but not as a function parameter on routes definition. - [x] Move Git HTTP protocol implementation to use routers directly. - [x] Fix the problem that chi routes don't support trailing slash but macaron did. - [x] `/api/v1/swagger` now will be redirect to `/api/swagger` but not render directly so that `APIContext` will not create a html render. Notices: - Chi router don't support request with trailing slash - Integration test `TestUserHeatmap` maybe mysql version related. It's failed on my macOS(mysql 5.7.29 installed via brew) but succeed on CI. Co-authored-by: 6543 <6543@obermui.de>
278 lines
9.8 KiB
Markdown
Executable File
278 lines
9.8 KiB
Markdown
Executable File
---
|
||
date: "2017-08-23T09:00:00+02:00"
|
||
title: "Documentation"
|
||
slug: "documentation"
|
||
url: "/fr-fr/"
|
||
weight: 10
|
||
toc: false
|
||
draft: false
|
||
---
|
||
|
||
# A propos de Gitea
|
||
|
||
Gitea est un service Git auto-hébergé très simple à installer et à utiliser. Il est similaire à GitHub, Bitbucket ou Gitlab. Le développement initial provient sur [Gogs] (http://gogs.io), mais nous l'avons forké puis renommé Gitea. Si vous souhaitez en savoir plus sur les raisons pour lesquelles nous avons fait cela, lisez [cette publication] (https://blog.gitea.io/2016/12/welcome-to-gitea/) sur le blog.
|
||
|
||
## Objectif
|
||
|
||
Le but de ce projet est de fournir de la manière la plus simple, la plus rapide et sans complication un service Git auto-hébergé. Grâce à Go, cela peut se faire via un binaire indépendant fonctionnant sur toutes les plateformes que Go prend en charge, y compris Linux, macOS et Windows, même sur des architectures comme ARM ou PowerPC.
|
||
|
||
## Fonctionalités
|
||
|
||
- Tableau de bord de l'utilisateur
|
||
- Choix du contexte (organisation ou utilisateur actuel)
|
||
- Chronologie de l'activité
|
||
- Révisions (_Commits_)
|
||
- Tickets
|
||
- Demande d'ajout (_Pull request_)
|
||
- Création de dépôts
|
||
- Liste des dépôts
|
||
- Liste de vos organisations
|
||
- Liste des dépôts miroires
|
||
- Tableau de bord des tickets
|
||
- Choix du contexte (organisation ou utilisateur actuel)
|
||
- Filtres
|
||
- Ouvert
|
||
- Fermé
|
||
- Vos dépôts
|
||
- Tickets assignés
|
||
- Vos tickets
|
||
- Dépôts
|
||
- Options de tri
|
||
- Plus vieux
|
||
- Dernière mise à jour
|
||
- Nombre de commentaires
|
||
- Tableau de bord des demandes d'ajout
|
||
- Identique au tableau de bord des tickets
|
||
- Types de dépôt
|
||
- Miroire
|
||
- Normal
|
||
- Migré
|
||
- Notifications (courriel et web)
|
||
- Lu
|
||
- Non lu
|
||
- Épinglé
|
||
- Page d'exploration
|
||
- Utilisateurs
|
||
- Dépôts
|
||
- Organisations
|
||
- Moteur de recherche
|
||
- Interface personnalisables
|
||
- Fichiers publiques remplaçables (logo, css, etc)
|
||
- Protection CSRF et XSS
|
||
- Support d'HTTPS
|
||
- Configuration des types et de la taille maximale des fichiers téléversés
|
||
- Journalisation (_Log_)
|
||
- Configuration
|
||
- Base de données
|
||
- MySQL
|
||
- PostgreSQL
|
||
- SQLite3
|
||
- MSSQL
|
||
- [TiDB](https://github.com/pingcap/tidb) (expérimental)
|
||
- Fichier de configuration
|
||
- Voir [ici](https://github.com/go-gitea/gitea/blob/master/custom/conf/app.example.ini)
|
||
- Panel d'administration
|
||
- Statistiques
|
||
- Actions
|
||
- Suppression des comptes inactifs
|
||
- Suppression des dépôts archivés
|
||
- Suppression des dépôts pour lesquels il manque leurs fichiers
|
||
- Exécution du _garbage collector_ sur les dépôts
|
||
- Ré-écriture des clefs SSH
|
||
- Resynchronisation des hooks
|
||
- Recreation des dépôts manquants
|
||
- Status du server
|
||
- Temps de disponibilité
|
||
- Mémoire
|
||
- Nombre de goroutines
|
||
- et bien plus...
|
||
- Gestion des utilisateurs
|
||
- Recherche
|
||
- Tri
|
||
- Dernière connexion
|
||
- Méthode d'authentification
|
||
- Nombre maximum de dépôts
|
||
- Désactivation du compte
|
||
- Permissions d'administration
|
||
- Permission pour crééer des hooks
|
||
- Permission pour crééer des organisations
|
||
- Permission pour importer des dépôts
|
||
- Gestion des organisations
|
||
- Membres
|
||
- Équipes
|
||
- Avatar
|
||
- Hooks
|
||
- Gestion des depôts
|
||
- Voir toutes les informations pour un dépôt donné et gérer tous les dépôts
|
||
- Méthodes d'authentification
|
||
- OAuth
|
||
- PAM
|
||
- LDAP
|
||
- SMTP
|
||
- Visualisation de la configuration
|
||
- Tout ce que contient le fichier de configuration
|
||
- Alertes du système
|
||
- Quand quelque chose d'inattendu survient
|
||
- Surveillance
|
||
- Processus courrants
|
||
- Tâches CRON
|
||
- Mise à jour des dépôts miroires
|
||
- Vérification de l'état des dépôts
|
||
- Vérification des statistiques des dépôts
|
||
- Nettoyage des anciennes archives
|
||
- Variables d'environement
|
||
- Options de ligne de commande
|
||
- Internationalisation ([21 langues](https://github.com/go-gitea/gitea/tree/master/options/locale))
|
||
- Courriel
|
||
- Notifications
|
||
- Confirmation d'inscription
|
||
- Ré-initialisation du mot de passe
|
||
- Support de _reverse proxy_
|
||
- _subpaths_ inclus
|
||
- Utilisateurs
|
||
- Profil
|
||
- Nom
|
||
- Prénom
|
||
- Courriel
|
||
- Site internet
|
||
- Date de création
|
||
- Abonnés et abonnements
|
||
- Organisations
|
||
- Dépôts
|
||
- Activité
|
||
- Dépôts suivis
|
||
- Paramètres
|
||
- Identiques au profil avec en plus les éléments ci-dessous
|
||
- Rendre l'adresse de courriel privée
|
||
- Avatar
|
||
- Gravatar
|
||
- Libravatar
|
||
- Personnalisé
|
||
- Mot de passe
|
||
- Courriels multiples
|
||
- Clefs SSH
|
||
- Applications connectées
|
||
- Authentification à double facteurs
|
||
- Identités OAuth2 attachées
|
||
- Suppression du compte
|
||
- Dépôts
|
||
- Clone à partir de SSH / HTTP / HTTPS
|
||
- Git LFS
|
||
- Suivre, Voter, Fork
|
||
- Voir les personnes qui suivent, les votes et les forks
|
||
- Code
|
||
- Navigation entre les branches
|
||
- Création ou téléversement de fichier depuis le navigateur
|
||
- URLs pour clôner le dépôt
|
||
- Téléchargement
|
||
- ZIP
|
||
- TAR.GZ
|
||
- Édition en ligne
|
||
- Éditeur Markdown
|
||
- Éditeur de texte
|
||
- Coloration syntaxique
|
||
- Visualisation des Diffs
|
||
- Visualisation
|
||
- Possibilité de choisir où sauvegarder la révision
|
||
- Historiques des fichiers
|
||
- Suppression de fichiers
|
||
- Voir le fichier brut
|
||
- Tickets
|
||
- Modèle de ticket
|
||
- Jalons
|
||
- Étiquettes
|
||
- Affecter des tickets
|
||
- Filtres
|
||
- Ouvert
|
||
- Ferme
|
||
- Personne assignée
|
||
- Créer par vous
|
||
- Qui vous mentionne
|
||
- Tri
|
||
- Plus vieux
|
||
- Dernière mise à jour
|
||
- Nombre de commentaires
|
||
- Moteur de recherche
|
||
- Commentaires
|
||
- Joindre des fichiers
|
||
- Demande d’ajout (_Pull request_)
|
||
- Les mêmes fonctionnalités que pour les tickets
|
||
- Révisions (_Commits_)
|
||
- Representation graphique des révisions
|
||
- Révisions par branches
|
||
- Moteur de recherche
|
||
- Voir les différences
|
||
- Voir les numéro de révision SHA
|
||
- Voir l'auteur
|
||
- Naviguer dans les fichiers d'une révision donnée
|
||
- Publication
|
||
- Pièces jointes
|
||
- Titre
|
||
- Contenu
|
||
- Suppression
|
||
- Définir comme une pré-publication
|
||
- Choix de la branche
|
||
- Wiki
|
||
- Import
|
||
- Éditeur Markdown
|
||
- Paramètres
|
||
- Options
|
||
- Nom
|
||
- Description
|
||
- Privé / Publique
|
||
- Site internet
|
||
- Wiki
|
||
- Activé / Désactivé
|
||
- Interne / externe
|
||
- Tickets
|
||
- Activé / Désactivé
|
||
- Interne / externe
|
||
- URL personnalisable pour une meilleur intégration avec un gestionnaire de tickets externe
|
||
- Activer / désactiver les demandes d'ajout (_Pull request_)
|
||
- Transfert du dépôt
|
||
- Suppression du wiki
|
||
- Suppression du dépôt
|
||
- Collaboration
|
||
- Lecture / Écriture / Administration
|
||
- Branches
|
||
- Branche par défaut
|
||
- Protection
|
||
- Webhooks
|
||
- Git hooks
|
||
- Clefs de déploiement
|
||
|
||
## Configuration requise
|
||
|
||
- Un simple Raspberry Pi est assez puissant pour les fonctionnalités de base.
|
||
- Un processeur double coeurs et 1Gb de RAM est une bonne base pour une utilisation en équipe.
|
||
- Gitea est censé être exécuté avec un compte utilisateur dédié et non root, aucun autre mode de fonctionnement n'est pris en charge. (**NOTE**: Dans le cas où vous l'exécutez avec votre propre compte d'utilisateur et que le serveur SSH intégré est désactivé, Gitea modifie le fichier `~ /.ssh /authorized_keys` afin que vous ne soyez **plus capable** de vous connecter interactivement).
|
||
|
||
## Navigateurs supportés
|
||
|
||
- Consultez [Semantic UI](https://github.com/Semantic-Org/Semantic-UI#browser-support) pour la liste des navigateurs supportés.
|
||
- La taille minimale supportée officielement est de **1024*768**, l'interface utilisateur peut toujours fonctionner à une taille plus petite, mais ce n'est pas garanti et les problèmes remontés ne seront pas corrigés.
|
||
|
||
## Composants
|
||
|
||
* Framework web : [Chi](http://github.com/go-chi/chi)
|
||
* ORM: [XORM](https://xorm.io)
|
||
* Interface graphique :
|
||
* [Semantic UI](http://semantic-ui.com/)
|
||
* [GitHub Octicons](https://octicons.github.com/)
|
||
* [Font Awesome](http://fontawesome.io/)
|
||
* [DropzoneJS](http://www.dropzonejs.com/)
|
||
* [Highlight](https://highlightjs.org/)
|
||
* [Clipboard](https://zenorocha.github.io/clipboard.js/)
|
||
* [CodeMirror](https://codemirror.net/)
|
||
* [jQuery MiniColors](https://github.com/claviska/jquery-minicolors)
|
||
* Connecteurs de base de données :
|
||
* [github.com/go-sql-driver/mysql](https://github.com/go-sql-driver/mysql)
|
||
* [github.com/lib/pq](https://github.com/lib/pq)
|
||
* [github.com/mattn/go-sqlite3](https://github.com/mattn/go-sqlite3)
|
||
* [github.com/pingcap/tidb](https://github.com/pingcap/tidb)
|
||
* [github.com/denisenkom/go-mssqldb](https://github.com/denisenkom/go-mssqldb)
|
||
|
||
## Logiciels et services
|
||
|
||
- [Drone](https://github.com/drone/drone) (Intégration continue)
|