Le développement Agile

Manifeste pour le développement Agile de logiciels

Nous découvrons comment mieux développer des logiciels
par la pratique et en aidant les autres à le faire.
Ces expériences nous ont amenés à valoriser :

Les individus et leurs interactions plus que les processus et les outils
Des logiciels opérationnels plus qu’une documentation exhaustive
La collaboration avec les clients plus que la négociation contractuelle
L’adaptation au changement plus que le suivi d’un plan

Nous reconnaissons la valeur des seconds éléments,
mais privilégions les premiers.

Principes sous-jacents au manifeste

Nous suivons ces principes:
Notre plus haute priorité est de satisfaire le client
en livrant rapidement et régulièrement des fonctionnalités
à grande valeur ajoutée.

Accueillez positivement les changements de besoins,
même tard dans le projet. Les processus Agiles
exploitent le changement pour donner un avantage
compétitif au client.

Livrez fréquemment un logiciel opérationnel avec des
cycles de quelques semaines à quelques mois et une
préférence pour les plus courts.

Les utilisateurs ou leurs représentants et les
développeurs doivent travailler ensemble quotidiennement
tout au long du projet.

Réalisez les projets avec des personnes motivées.
Fournissez-leur l’environnement et le soutien dont ils
ont besoin et faites-leur confiance pour atteindre les
objectifs fixés.

La méthode la plus simple et la plus efficace pour
transmettre de l’information à l’équipe de développement
et à l’intérieur de celle-ci est le dialogue en face à face.

Un logiciel opérationnel est la principale mesure d’avancement.

Les processus Agiles encouragent un rythme de développement
soutenable. Ensemble, les commanditaires, les développeurs
et les utilisateurs devraient être capables de maintenir
indéfiniment un rythme constant.

Une attention continue à l’excellence technique et
à une bonne conception renforce l’Agilité.

La simplicité – c’est-à-dire l’art de minimiser la
quantité de travail inutile – est essentielle.

Les meilleures architectures, spécifications et
conceptions émergent d’équipes autoorganisées.

À intervalles réguliers, l’équipe réfléchit aux moyens
de devenir plus efficace, puis règle et modifie son
comportement en conséquence.

source : http://agilemanifesto.org/

Coder proprement

  1. Tu es responsable du code que tu produis
  2. Le nommage des variables doit les rendre explicites
  3. Le nom des fonctions doit correspondre à une intention : utiliser un verbe explicite
  4. Le code explicite se suffit à lui-même et rend inutiles les commentaires
  5. Du code lisible plutôt sur du code optimisé
  6. Les tests unitaires – idéalement approche TDD Test Driven Developement
  7. Utiliser les Linters qui analysent les erreurs dans le code
  8. Itérer sur la revue du code à plusieurs
  9. Pratiquer le clean code régulièrement

Debian installation fichier.deb

Sous Debian, voici la commande pour installer un logiciel à partir de son fichier .deb avec gdebi. L’avantage par rapport à dpkg est que gdebi installera les dépendances nécessaires s’il y a lieu.

Pour installer gdebi : sudo apt install gdebi

Utilisation de GDebi en ligne de commande :
sudo gdebi /chemin_vers_fichier/mon_fichier.deb

Utilisation GDebi par l’interface graphique
Lancez Gdebi par le menu (Installeur de paquet Gdebi) ou avec la commande :
gdebi-gtk

Installer tous les fichiers .deb d’un dossier :

sudo dpkg -i *.deb

Mettre à jour php dans laragon

Se rendre sur https://www.php.net/downloads

Aller dans la section « current stable PHP » pour prendre la dernière version stable.
Cliquer sur « Windows downloads »

Aller dans la section x64 Thread Safe.
Télécharger le fichier zip.
Le dézipper dans O:\laragon\bin\php\

Lancer laragon / clic droit / php / Version… / sélectionner la dernière version de php.

En dehors de Laragon, il est utile de déclarer php dans le Path de Windows :

A partir de l’explorateur Windows, copier le chemin qui mène à la dernière version de php, par exemple :
O:\laragon\bin\php\php-7.4.8-Win32-vc15-x64\

Touche Windows / taper « variable » / sélectionner « modifier les variables d’environnement système » / Cliquer en bas à droite sur « Variables d’environnement… »
Sélectionner Path / cliquer sur Modifier / Nouveau / Coller le chemin menant à php

OK / OK / OK

Touche Windows / taper « cmd » pour ouvrir l’invite de commandes.
Taper php -v pour vérifier que le path fonctionne.

animation CSS – focus input et e-mail invalide

SCSS

$cd-txt2: #6300a0;
$cd-box: white;
$cd-txt--invalid: #fff;
$cd-danger: #b20a37;
.form {
    &__group {
        & input {
            border: 2px solid $cd-box;
            border-radius: 100rem;
            color: $cd-txt2;
            font-size: 1.5rem;
            outline: none;
            padding: .5rem 1.5rem;
            width: 100%;
            transition: background-color 400ms;
            &:focus {
                border: 2px solid $cd-txt2;
            }
            &:not(:focus):invalid {
                background-color: $cd-danger;
                border: 2px solid $cd-danger;
                color: $cd-txt--invalid;
            }
        }
    }
}

Les pseudoclasses les plus adaptées pour déclencher des transitions sont celles qui impliquent une interaction avec l’utilisateur.
Les pseudoclasses les plus courantes pour déclencher une transition sont :hover, :active, :focus, :valid, :invalid, :not(), :checked, :enabled, et :disabled

animation CSS – transition transform scale

Passez la souris sur le bouton :

Document
transition transform scale

Voir le code pen

Les 5 éléments nécessaires pour créer une transition sont :

  • une propriété CSS à modifier,
  • une valeur initiale pour votre propriété CSS,
  • une valeur finale pour cette même propriété,
  • une durée,
  • une pseudo-classe pour déclencher l’animation.

On applique la valeur initiale à l’élément qu’on veut modifier, et la valeur finale dans la pseudo-classe qui déclenche la transition, ici :hover

.btn {
background: #2B4570;
color: #fbcf88;
font-size: 1.5rem;
cursor: pointer;
padding: 0.8rem 1.5rem;
border-radius: 7rem;
transform: scale(1);
transition: transform 250ms;
}
.btn:hover {
transform: scale(1.15);
}