Skip to content

Instantly share code, notes, and snippets.

View tomsihap's full-sized avatar

tomsihap

View GitHub Profile

Awesome-Selfhosted

Awesome

Selfhosting is the process of locally hosting and managing applications instead of renting from SaaS providers.

This is a list of Free Software network services and web applications which can be hosted locally. Non-Free software is listed on the Non-Free page.

See Contributing.

@tomsihap
tomsihap / github-conventional-comments.js
Last active February 3, 2023 09:23 — forked from ifyoumakeit/github-conventional-comments.js
GitHub Conventional Comments (instructions to install in comment below code)
(async function generateReplies(document) {
// https://conventionalcomments.org/#labels
const DATA = {
praise: { label: "👏 praise", comment: "Praises highlight something positive. Try to leave at least one of these comments per review. Do not leave false praise (which can actually be damaging). Do look for something to sincerely praise."},
nitpick: { label: "🤓 nitpick", comment: "Nitpicks are small, trivial, but necessary changes. Distinguishing nitpick comments significantly helps direct the reader's attention to comments requiring more involvement." },
suggestion: { label: "💡 suggestion", comment: "Suggestions propose improvements to the current subject. It's important to be explicit and clear on what is being suggested and why it is an improvement. Consider using patches and the blocking or non-blocking decorations to further communicate your intent." },
issue: { label: "Ø issue", comment: "Issues highlight specific problems with the subject under review. These problems can be user-f
@tomsihap
tomsihap / search.php
Created August 31, 2020 12:20
Search form example on Sakila database (PDO course)
<?php
$films = [];
if (!empty($_GET)) {
$bdd = new PDO('mysql:host=localhost;dbname=sakila;charset=utf8;port=8889', 'root', 'root', [
'ATTR_ERRMODE' => PDO::ERRMODE_EXCEPTION
]);
<?php
// Exercice 1
// Créer une variable name et l'initialiser avec la valeur de votre choix. Afficher son contenu.
$name = "Thomas";
// Exercice 2
// Créer trois variables lastname, firstname et age et les initialiser avec les valeurs de votre choix. Attention age est de type entier. Afficher leur contenu.
@tomsihap
tomsihap / td.md
Last active September 16, 2020 10:38
TD LAMP

TD : Déploiement de serveur LAMP

Votre chef de projet vous propose de mettre à l'épreuve vos compétences d'administration système afin de déployer le prototype de projet que vous lui avez fourni. Après avoir suivi une rapide introduction Linux d'une heure, vous allez devoir mettre en pratique vos connaissances tout en vous renseignant sur Internet afin de mener à bien votre tâche.

Certains fichiers ou screenshot vous seront demandés dans cet exercice, vous les mettrez dans un dossier d'examen et rendrez un fichier zippé contenenant le tout. Les fichiers doivent être nommés par le nom de l'exercice, par exemple: exercice01.png, exercice02.txt...

Exercice 1 (2 points) - Créer des fichiers et dossiers

Créez l'arborescence de fichiers suivante dans votre dossier utilisateur. Dans cette arborescence, les lignes commençant par / sont des dossiers, les lignes sans / sont des fichiers.

@tomsihap
tomsihap / cours.md
Last active November 22, 2020 14:19
Cours LAMP

Cours : Déploiement d'un serveur LAMP

Ce cours s'appuie sur la base d'une distribution Linux type Debian (Ubuntu...). Néanmoins, la plupart des commandes fonctionnent pour tout environnement Linux.

Se connecter à un serveur en SSH

SSH (Secure Shell) est un protocole de communication sécurisé, ainsi qu'un logiciel de terminal. Il permet de se connecter à un serveur distant grâce à un login et un mot de passe, ou via une paire de clés de chiffrement.

  • Sous Linux et Mac, ssh est déjà installé, vous pouvez l'utiliser immédiatement depuis le terminal. :
@tomsihap
tomsihap / examples.php
Created June 5, 2020 08:27
OOP examples
<?php
/**
* Classe abstraite: ne peut pas être instanciée (généralement ne sert qu'à faire de l'héritage)
*/
abstract class Personnage {
protected $force; // protected: cet attribut est accessible à Personnage elle-même et à ses enfants
protected $defense;
private $hello; // private: accessible à Personnage elle-même uniquement
public $foobar; // public: accessible à Personnage elle-même, à l'extérieur ($p = new Personnage; $p->foobar) et aux enfants
@tomsihap
tomsihap / 01enonce.md
Last active March 25, 2024 11:46
TP Symfony
@tomsihap
tomsihap / TP1.md
Created January 27, 2020 13:11
TP Formulaires

TP 1

But du TP : créer un formulaire en utilisant des données externes d'une base de données par exemple, et valider les données reçues.

Soignez votre CSS ! Utilisez un Bootstrap par exemple

Le projet doit être proprement codé : utilisez les balises HTML et attributs qui conviennent ! (un type=email pour un input d'email par exemple)

Vous allez créer une page pour enregistrer un futur apprenant. On utilisera la liste de pays en JSON suivante : https://gist.githubusercontent.com/keeguon/2310008/raw/bdc2ce1c1e3f28f9cab5b4393c7549f38361be4e/countries.json

@tomsihap
tomsihap / get-post.md
Created January 23, 2020 11:46
GET et POST

GET, POST et les superglobales

PHP contient des variables appelées superglobales qui contiennent plein d'informations sur la vie de votre application : les cookies gérés, des informations sur le serveur, des informations sur l'utilisateur/le client, des données qui transitent... Elles sont accessibles partout dans le code, et comme leur nom l'indique, elles sont super-globales : plus "puissantes" que le scope global, on peut les lire de partout, même dans une fonction par exemple : Il n'est pas nécessaire de faire global $variable; pour y accéder dans les fonctions ou les méthodes.

Superglobales

Superglobale Description
$GLOBALS Liste les variables disponibles dans le contexte global de l'application
$_SERVER Contient des informations comme les en-tête, dossier, chemin du script. Informations générées par le serveur
$_REQUEST Un tableau associatif qui contient par défaut le contenu des variables $_GET, $_POST et $_COOKIE.