Jeux cool pour s’occuper #1

Dans cette catégorie seront présenté des petits jeux sympas pour s’occuper à plusieurs pendant une pause ou un interclasse en multijoueur. Ils seront de préférence gratuit/MultiOS et multijoueur au moins en local


Gravity Guy

Jeu mobile PlayStore, AppleStore
Multi possible jusqu’à 4 (sur le même terminal)
GamePlay à une touche, efficace. Le but, survivre le plus longtemps en changeant la gravité de son personnage. Idéale pour de petites sessions nomades et rapides.

Eggnogg

Jeu PC/Mac/Linux itch.io PayWhatYouWant : 0€ si on veut :p
Multi local uniquement à deux
Ce jeu est une parodie de Nidhogg ne l’ayant pas essayer je peux pas comparer. juste que EggNogg est gratuit alors que l’autre coûte 15 boules.
Eggnogg est un jeu de duel à l’épée demandant beaucoup de skill. Les contrôles sont minimaliste : 4 touches de déplacements + une touche de saut + une touche d’attaque. le but est de tuer son adversaire pour pouvoir accéder à son tableau suivant, la partie ce fini lorsque un des membres atteint la fin de la map.
Les sessions de jeu sont assez courtes, la maniabilité est simple à prendre en main, un peu plus à maîtriser. Beaucoup de technique et de Mind-Game, c’est un véritable coup de cœur.

La chronique du dimanche #1

En quoi consiste cette chronique

Retrace ma semaine de cours :

  • Afin de me remettre en tête des connaissances acquises et les partager
  • Prodiguer des conseils, ou support de cours numériques
  • Éventuellement quelques extrait de codes
  • Tout cela généralement dans le domaine informatique puisque c’est un blog perso certes, mais de développeur

Le rythme :

Le nom étant assez évocateur… la chroniques sera hebdomadaire, et seras publié le dimanche.
Cela me permettra ainsi de me prendre un peu de temps le week-end pour des révisions, et être au point pour la semaine suivante


Commençons donc

L’analyse descendante, les 7 Commandements :

  1. La définition du problème tu fera, de l’attention aux connaissances induite tu aura
  2. Une division en sous problèmes tu résoudra
    • Pour réduire la complexité
    • Itératif le processus sera
    • Jusqu’à un niveau tribale tu divisera
    • Petit le gradient entre les étapes tu gardera (entre 2 et 6)
    • à ceux que la somme des sous problèmes soient égale au problème attention tu fera (à tout niveau de la division)
  3. Trop tôt tu ne détaillera pas
  4. De la structure de donné trop tôt, tu ne te préoccupera pas.
    • Le plus tard possible tu la choisira
    • être capable de justifier pourquoi, capable tu sera
  5. Les Algorithmes tu fera, les Algos complexes tu détaillera
  6. Tourner à la main tes Algorithmes tu fera
    • Si l’intuition que tu as merdé tu as, de la merde tu as fait
    • Les entrées et sorties tu vérifiera
  7. Sur la lisibilité de ton code tu veillera
    • Ton programme conforme au cahier des charges tu veillera
    • À commenter ton code et le documenter tu veillera
    • De l’efficacité tu ne te préoccupera pas
  8. Tout tu refera !
    • Mauvaise intuition = trop tard
    • Dans le déni tu ne continuera pas
    • En cas d’impasse, remonter d’un niveau dans l’analyse et tu recommencera

La programmation objet + Java

Tout est objets !

Un objet est un petit être intelligent, il est composé de deux choses : Des caractéristiques d’états et Des fonctions / méthodes lui permettant de communiquer avec d’autres objets ou lui même
Généralement les caractéristiques d’états sont protégés (seul l’objet y a accès) afin d’éviter des bugs structurel.
Les méthodes généralement sont public (afin que le monde extérieur puisse communiquer avec l’objet), parmi les méthodes s’en trouvera toujours une : Le constructeur,qui permettra à l’objet d’initialisé ses caractéristiques d’états.

Concernant Java

Les méthodes (y compris le constructeur) peuvent être surchargés, c’est à dire que un même nom de méthodes permet de faire la même chose grâce à des type et un nombre de paramètre différent.
En Java toute les variables de types « objets » ne sont pas des objets en réalité mais des références (pointeurs) d’une instance objet :

Point A = new Point(0.0, 1.5, "Pa"), B;
B = A;

Avec ces lignes de codes, on a pas copié le contenu du Point A dans Le Point B, on a entré dans B l’adresse mémoire (référence) contenu dans A : A et B pointent sur la même instance de Point :
L1 : A –> Instance de Point | B
L2 : A –> Instance de Point <– B

Prog Web – PHP

Commencer à réfléchir son code PHP en objets selon le Modèle MVC (Modèle Vue Contrôleur)

Les bases de données

Les fonctions type mysql_connect()… on oublie ! Place à la PDO
C’est un outil permettant de gérer les différents gestionnaire de bases de données tous de la même manière. ça permet de rendre le code plus facilement maintenable, modifiable, et portable d’un SGBD à un autre.
Utilisation Basique :

$host="localhost";
$base="m3104_2";
$login="root";
$passe="";
$driver="mysql";
$port="3306";
$db = new PDO("$driver:host=$host;dbname=$base;port=$port", $login, $passe); // créé un obj PDO connecté à la BDD

l’idéale ensuite est de préparer les requêtes, cela permet de s’assurer à 99% de ne pas avoir de problèmes d’injection SQL, et de rendre plus efficaces les instructions SQL répétitives.

$req = $db->prepare("INSERT INTO genres VALUES (:id , :nom)");
$req->execute( array(":id" => $id, ":nom" => $nom) );

:machin étant les truc à préparer et à sécuriser
vous remarquerez que l’on exécute via $req et non pas via $db
et le array dans exécute est un tableau associatif précisant que doit remplacer quoi.

Travail en collaboration

Méthodes agiles

Résumé de la semaine : UML/Cahier des charges (méthodes peu agiles) -> Poubelle.
On fait place aux méthodes agiles, par exemple la méthodes SCRUM.
Les principes de cette méthodes sont : La transparence : en mettant l’équipe sur un modèle de hiérarchie horizontale, tout en mettant un langage commun entre management et développement. L’inspection : Afin de mettre au point régulièrement des problèmes pouvant émerger, variation non conforme à l’objectif visé. * L’adaptation : ce type d’organisation existe avant tout pour s’adapter, produire du code modulaire pour s’adapter au besoins potentiellement évolutif du client.

Schéma du fonctionnement de SCRUM :
Schéma Scrumm

Les méthodes agiles permettent d’entretenir le dialogue avec le client et éviter l’effet tunnel (Foncer tête baisser dans le développement, et ce rendre compte à là fin que le produit ne répond pas/pus aux besoins du client)

Git

Git est un logiciel de gestion de version, idéale pour l’utilisation de méthodes agiles. Il permettra de développer un projet, de créer plusieurs versions, et de les maintenir séparément si besoin (via les brancher). De travailler à plusieurs sur un même dépôts. Taguer des révisions, récupérer le code tel qu’il était avant…
pas trop envie de réécrire tout mon TD sur Git, je demanderai à mon prof si je peux le transmettre ici (probablement de manière raccourcie), néanmoins voici quelques commandes utiles :
init : initialise un depot git
clone : afin de cloner un dépôt (distant ou non)
add : Ajoutes des fichiers au depot local git (afin de les commit) commit : versionne les fichiers modifié via add (commit -a équivaut à add * puis commit, commit -m « Message du commit »)
pull : met à jours le dépôt local (via un dépôt de référence)
push : met à jours le dépôt distant (à partir des modif du dépôt local)
branch : créé une nouvelle branch
merge : fusione deux branches
checkout : permet de naviguer entre les branches

Pour corriger les betises de loic :
git reset –hard hashDuCommitVouluDernier // reinitialise le depot au commit souhaité
git push –force origin master // met a jours le depots distant en corrigeant les erreurs

Apprendez à vous debrouiller seul. – Partie 1

Bonjour,
La grande majorité de mes proches sont de vrai brèles en informatique, et me prennent pour Mr HelpDesk, Mais je déteste ça, et ce débrouiller en informatique ne veux pas dire « Dieu de l’assistance ». Je fais des études en informatique, plus précisément en programmation. On ne m’a jamais appris à dépanner un ordinateur, dans le dépannage j’ai seulement tâtonné, et je tente de me souvenir de mes tâtonnements ayant fonctionnés.

Ce billet, ou cette suite de billet, est ici pour servir de mémo/astuce de ce que je sais. Afin qu’on me laisse un peu en paix. Et puisque la plus part de mes proches ont le cerveau lavé par microsoft, au point de me dire Linux c’est trop compliqué alors que la vérité c’est que c’est beaucoup plus simple.

Je vais faire ce premier billet sur comment entretenir son windaube !

Commençons donc.
Quels sont les problèmes récurrents avec windows ?

  1. Les virus, malwares et autres conneries du genre…
  2. Lenteurs
  3. Les registres (une vrai déchetterie ambulante)

1. Comment éviter au maximum d’avoir des virus, malwares, et autres :

Déjà ça arrive pas tout seul sur votre système, si vous en avez c’est que vous avez été négligeant dans 98% des cas.

  • Si c’est pas déjà fait, virez votre connerie d’autorun, vous n’en avez pas besoin. Pour économiser une ou deux secondes vous augmentez drastiquement vos chances de vous faire infecter.
  • Laissez pas n’importe qui brancher n’importe quoi sur votre PC.
  • Faites attentions à votre navigation : téléchargez pas n’importe quoi, n’importe où. pour ça vous pouvez utiliser OpenDNS qui comporte un filtre anti-phishing. Et utilisez un plugin de navigation : MyWOT (Web Of Truth) grâce à cette application chaque membre de la communauté peux donner une note à n’importe quelle adresse internet, ainsi lorsque vous accéderez à un site vous verrez son karma, et si son karma est dans le rouge, l’addon vous demanderas de confirmer si vous souhaitez accéder à ce site.
  • Quand vous avez besoin d’un logiciel, préférez un logiciel Open-source, c’est gratuit, le code source est approuvé par de nombreuses personnes.
  • Téléchargez vos applications sur les sites officiels (déjà si vous voyez « softonic » dans l’adresse fuyez) on évite à tout prix 01.net, clubic ou autres site du genre. Le seul site qui me parait correcte (qui ne change pas l’installateur officiel pour mettre des logiciels publicitaires) c’est filehippo, mais après je peux me tromper,  dans tout les cas, préférez le site officiel.
  • Apprenez à trouver les bons boutons de téléchargements plutôt que de cliquer sur les pubs… Ou mieux, faites disparaitre ces pubs avec AdBlock, et au passage passez à Firefox plutot que Internet explorer…
  • Et bordel, quand vous installez un logiciel sur windows, lisez ce que dit l’installateur et décochez les cases dont vous n’avez pas besoins… Je doute que vous souhaitez installer une YahooBar sur votre navigateur. Laissez pas les logiciels vous installer McAfee, ça doit genre être le pire antivirus du monde qui est payant et qu’on vous installe en version démo – 30jours plus tard : « La version d’essai est terminé, vous n’êtes plus protégé veuillez acheter le logiciel pour être protégé à nouveau » McAfee c’est genre la capote que même avec, vous chopez le SIDA !

Récap : pour naviguer sereinement, Installez Firefox, ajoutez les addons MyWOT et AdBlock, et pourquoi pas utiliser OpenDNS. Préférez les logiciels Open-sources téléchargés sur leur site officiel. Quand on installe un logiciel on regarde ce qu’il veut installer (et préférez le mode avancé, les mecs vous prennent littéralement pour des cons ! Les laissez pas avoir raison.)

Bon avec tout ça, vous évitez grandement la catastrophe, mais parce qu’on est jamais trop prudent on sort l’artillerie lourde !

  • Un antivirus : Avast. c’est pas parfait mais c’est un bon début. Et c’est gratuit
  • Anti-Spyware : Spybot Search & Destroy.
  • Anti-Malware : malwarebytes
  • Un désinstalateur pas aveugle : GeekUninstaller. Léger efficace, et enlève les traces de caca que le logiciel laisse partout lors d’une désinstallation classique.
  • Rogue-Killer : un bon complément à l’attirail ci-dessus
  • AdwCleaner : pour supprimer les Pubiciels et autres bordels.

2. Résoudre les problèmes de lenteurs :

Pour ça déjà il faut savoir à quoi ils sont du généralement.

  • Les virus et autres conneries. (ça tombe bien, on s’en est occupé au dessus)
  • Disques dur fragmentés
  • Disques surchargés
  • Ram insuffisante
  • … et pleins d’autre problèmes potentiels

Déjà il faut savoir que windows avec votre disque dur, c’est un gros dégueulasse. Voyez votre disque dur comme une grande armoire. Windows c’est un gamin de 5 ans à qui on demande de ranger sa chambre : il n’a aucune organisation. il voit de la place ? Il met. si ça rentre pas il coupe et met le reste ailleurs. du coup quand il veut accéder à quelque choses ben faut qu’il les retrouve dans tout ce bazar et qu’il rassemble les bouts éparpillés partout.
Du coup une fois de temps en temps il faut l’engueuler pour lui dire de ranger ça chambre correctement (c’est à dire qu’il rassemble au moins les bouts de fichiers ensembles)

Donc défragmentation du disque dur à faire régulièrement.
Et Defraggler pour défragmenter votre disque dur, il est plus efficace que le soft de windows de base.

Disques surchargés : mettre vos musiques, photos, film dans des clés USB, et disques dur externes. vous n’en avez pas besoin dur la machine en elle même. et désinstallez les logiciels inutiles (notamment ceux qui ne vous disent rien dans GeekUninstaller, si ils ne vous disent rien, généralement il y a une bonne raison 😉 )
Videz aussi votre dossier de DL :p

Ram insuffisante : ouvrez votre gestionnaire des taches. Regardez ce qui en prend le plus. et regardez si vous avez pas des programmes que vous connaissez pas… Si rien ne cloche particulièrement, va peut être falloir acheter une barrette de ram suplémentaire.

Vous pourrez avoir besoin de CCleaner (il permet de nettoyer les fichiers temporaires, cookies, et autres truc dans le genre, qui peuvent peser très lourds)

3. Nettoyer la décheterie des registres

Windows utilise un registre qui est plutot immonde, sauvegarde énormement de choses inutiles à l’interieur. Un peu de nettoyage ne feras pas de mal. Utilisez CCleaner.

Conclusions

Liste des softs :

Je finirais avec ceci : « Windows ça s’entretient, Linux ça s’utilise ». La partie 2 seras donc « Apprendez à utiliser Linux », z’allez voir c’est très simple.