mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-11-23 22:01:22 +00:00
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>
9.8 KiB
Executable file
9.8 KiB
Executable file
date | title | slug | url | weight | toc | draft |
---|---|---|---|---|---|---|
2017-08-23T09:00:00+02:00 | Documentation | documentation | /fr-fr/ | 10 | false | 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 (expérimental)
- Fichier de configuration
- Voir ici
- 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
- Base de données
- Internationalisation (21 langues)
- 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
- Profil
- 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
- Options
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 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
Logiciels et services
- Drone (Intégration continue)