Merge pull request #1235 from ae-utbm/update-docs

update doc
This commit is contained in:
thomas girod
2025-11-09 21:32:14 +01:00
committed by GitHub
7 changed files with 27 additions and 51 deletions

View File

@@ -182,29 +182,19 @@ ainsi même que de l'héritage de templates.
si on souhaite faire des modifications côté client, si on souhaite faire des modifications côté client,
il faut utiliser du Javascript, rien ne change à ce niveau-là. il faut utiliser du Javascript, rien ne change à ce niveau-là.
### jQuery ### Typescript
[Site officiel](https://jquery.com/) [Site officiel](https://www.typescriptlang.org/)
jQuery est une bibliothèque JavaScript Pour rendre le site interactif, nous n'utilisons
libre et multiplateforme créée pour faciliter pas directement Javascript, mais Typescript.
l'écriture de scripts côté client Il s'agit d'un langage construit par-dessus Javascript,
dans le code HTML des pages web. en ajoutant un typage statique et des éléments de sucre syntaxique.
La première version est lancée en janvier 2006 par John Resig. Grâce au système de type, le code est plus lisible,
à la fois par les humains et par l'IDE, et plus fiable.
C'est une vieille technologie et certains Il faut parfois se battre un peu contre le système de types de Typescript,
feront remarquer à juste titre que le Javascript mais globalement Typescript est une alternative largement préférable à Javascript.
moderne permet d'utiliser assez simplement
la majorité de ce que fournit jQuery
sans rien avoir à installer.
Cependant, de nombreuses dépendances du projet
utilisent encore jQuery qui est toujours
très implanté aujourd'hui.
Le sucre syntaxique qu'offre cette librairie
reste très agréable à utiliser et économise
parfois beaucoup de temps.
Ça fonctionne et ça fonctionne très bien.
C'est maintenu et pratique.
### AlpineJS ### AlpineJS
@@ -270,17 +260,6 @@ sur tous les navigateurs contrairement
à un simple icône unicode qui s'affiche à un simple icône unicode qui s'affiche
lui différemment selon la plate-forme. lui différemment selon la plate-forme.
!!!note
C'est une dépendance capricieuse qui évolue très vite
et qu'il faut très souvent mettre à jour.
!!!warning
Il a été décidé de **ne pas utiliser**
de CDN puisque le site ralentissait régulièrement.
Il est préférable de fournir cette dépendance avec le site.
## Workflow ## Workflow
### Git ### Git

View File

@@ -1,4 +1,4 @@
L'ORM de Django est puissant, très puissant, non par parce qu'il L'ORM de Django est puissant, très puissant, non pas parce qu'il
est performant (après tout, ce n'est qu'une interface, le gros du boulot, est performant (après tout, ce n'est qu'une interface, le gros du boulot,
c'est la db qui le fait), mais parce qu'il permet d'écrire c'est la db qui le fait), mais parce qu'il permet d'écrire
de manière relativement simple un grand panel de requêtes. de manière relativement simple un grand panel de requêtes.

View File

@@ -51,7 +51,7 @@ Pour accéder au fichier, il faut utiliser `static` comme pour le reste mais en
Le bundler ne génère que des modules javascript. Le bundler ne génère que des modules javascript.
Ajouter `type="module"` n'est pas optionnel ! Ajouter `type="module"` n'est pas optionnel !
### Les imports au sein des fichiers des fichiers javascript bundlés ### Les imports au sein des fichiers javascript bundlés
Pour importer au sein d'un fichier js bundlé, il faut préfixer ses imports de `#app:`. Pour importer au sein d'un fichier js bundlé, il faut préfixer ses imports de `#app:`.

View File

@@ -36,11 +36,4 @@ SITH_SUBSCRIPTIONS = {
} }
``` ```
Une fois ceci fait, il faut créer une nouvelle migration : Après ça, n'oubliez pas de gérer les traductions (cf. [ici](./translation.md))
```bash
python ./manage.py makemigrations subscription
python ./manage.py migrate
```
N'oubliez pas non plus les traductions (cf. [ici](./translation.md))

View File

@@ -157,16 +157,18 @@ que sont VsCode et Sublime Text.
Si vous avez réussi à terminer l'installation, vous n'avez donc pas de configuration Si vous avez réussi à terminer l'installation, vous n'avez donc pas de configuration
supplémentaire à effectuer. supplémentaire à effectuer.
Pour utiliser Biome, placez-vous à la racine du projet et lancer la commande suivante: Pour utiliser Biome, placez-vous à la racine du projet et lancez la commande suivante:
```bash ```bash
npx @biomejs/biome check # Pour checker le code avec le linter et le formater npx @biomejs/biome check # Pour checker le code avec le linter et le formater
npx @biomejs/biome check --write # Pour appliquer les changemnts npx @biomejs/biome check --write # Pour appliquer les changements
``` ```
Biome va alors faire son travail sur l'ensemble du projet puis vous dire Biome va alors faire son travail sur l'ensemble du projet puis vous dire
si des documents ont été reformatés (si vous avez fait `npx @biomejs/biome format --write`) si des documents ont été reformatés (si vous avez fait `npx @biomejs/biome format --write`)
ou bien s'il y a des erreurs à réparer (si vous avez faire `npx @biomejs/biome lint`) ou les deux (si vous avez fait `npx @biomejs/biome check --write`). ou bien s'il y a des erreurs à réparer
(si vous avez fait `npx @biomejs/biome lint`)
ou les deux (si vous avez fait `npx @biomejs/biome check --write`).
Appeler Biome en ligne de commandes avant de pousser votre code sur Github Appeler Biome en ligne de commandes avant de pousser votre code sur Github
est une technique qui marche très bien. est une technique qui marche très bien.

View File

@@ -30,7 +30,7 @@ opérations, telles que la validation de formulaire.
En effet, valider un formulaire demande beaucoup En effet, valider un formulaire demande beaucoup
de travail de nettoyage des données et d'affichage de travail de nettoyage des données et d'affichage
des messages d'erreur appropriés. des messages d'erreur appropriés.
Or, tout ce travail existe déjà dans django. Or, tout ce travail existe déjà dans Django.
On veut donc, dans ces cas-là, ne pas demander On veut donc, dans ces cas-là, ne pas demander
toute une page HTML au serveur, mais uniquement toute une page HTML au serveur, mais uniquement
@@ -84,7 +84,7 @@ Grâce à ça, on peut écrire des vues qui
fonctionnent dans les deux contextes. fonctionnent dans les deux contextes.
Par exemple, supposons que nous avons Par exemple, supposons que nous avons
une `EditView` très simple, contenant une `UpdateView` très simple, contenant
uniquement un formulaire. uniquement un formulaire.
On peut écrire la vue et le template de la manière On peut écrire la vue et le template de la manière
suivante : suivante :
@@ -94,8 +94,10 @@ suivante :
```python ```python
from django.views.generic import UpdateView from django.views.generic import UpdateView
from core.views import AllowFragment
class FooUpdateView(UpdateView):
class FooUpdateView(AllowFragment, UpdateView):
model = Foo model = Foo
fields = ["foo", "bar"] fields = ["foo", "bar"]
pk_url_kwarg = "foo_id" pk_url_kwarg = "foo_id"
@@ -132,7 +134,7 @@ Dans ces situations, pouvoir décomposer une vue
en plusieurs vues de fragment permet de ne plus en plusieurs vues de fragment permet de ne plus
raisonner en termes de condition, mais en termes raisonner en termes de condition, mais en termes
de composition : on n'a pas un seul template de composition : on n'a pas un seul template
qui peut changer les situations, on a plusieurs qui peut changer selon les situations, on a plusieurs
templates que l'on injecte dans un template principal. templates que l'on injecte dans un template principal.
Supposons, par exemple, que nous n'avons plus un, Supposons, par exemple, que nous n'avons plus un,
@@ -238,10 +240,10 @@ qui se comportera alors comme une vue normale.
#### La méthode `as_fragment` #### La méthode `as_fragment`
Il est à noter que l'instantiation d'un fragment Il est à noter que l'instanciation d'un fragment
se fait en deux étapes : se fait en deux étapes :
- on commence par instantier la vue en tant que renderer. - on commence par instancier la vue en tant que renderer.
- on appelle le renderer en lui-même - on appelle le renderer en lui-même
Ce qui donne la syntaxe `Fragment.as_fragment()()`. Ce qui donne la syntaxe `Fragment.as_fragment()()`.

View File

@@ -76,7 +76,7 @@ cd /mnt/<la_lettre_du_disque>/vos/fichiers/comme/dhab
```bash ```bash
sudo pacman -Syu # on s'assure que les dépôts et le système sont à jour sudo pacman -Syu # on s'assure que les dépôts et le système sont à jour
sudo pacman -S uv gcc git gettext pkgconf npm redis sudo pacman -S uv gcc git gettext pkgconf npm valkey
``` ```
=== "macOS" === "macOS"