olivier.massot 7 jaren geleden
commit
a7251235fc

+ 30 - 0
Git - Codebox/GIT Les instructions GIT basiques en ligne de commande .TXT

@@ -0,0 +1,30 @@
+
+
+# Créer un repository GIT
+git init
+
+# Ajout d'un depot sur CODEBOX avec le nom par défaut "origin"
+git remote add origin http://CODEBOX/[groupe ou user]/[nom du projet].git
+
+# Suppression du depot distant "origin"
+git remote remove origin
+
+# Commit
+git commit -m "Wouhou je commit!"
+
+# Commit en validant les modifs
+git commit -a
+
+# Status des modifications
+git status
+
+# Récupération des éventuelles modifications faites sur le serveur distant
+git pull origin master
+
+# Envoi vers le serveur des commits de la branche "master"
+git push -u origin master
+
+# Retour à une ancienne version en supprimant les fichiers en cours
+git reset --hard #SHA1#
+git clean -fdx (-n pour prévisualiser les fichiers qui seront supprimés)
+

+ 18 - 0
Git - Codebox/Git - Envoyer un nouveau projet sur GitLab.TXT

@@ -0,0 +1,18 @@
+Pour charger un nouveau projet sur GitLab:
+
+Sur Gitlab:
+Créer le projet 
+
+
+Dans Git Bash:
+
+>> cd /path/to/my/repo
+
+# creer le depot
+git remote add origin http://url/projet.git
+
+git push -u origin --all # pushes up the repo and its refs for the first time
+
+git push -u origin --tags # pushes up any tags
+
+Note: 'origin' est (par convention) le nom du dépot par défaut d'un projet

+ 3 - 0
Git - Codebox/Git - deployer sur un nouveau poste.TXT

@@ -0,0 +1,3 @@
+Dans Git Bash:
+
+>> git clone http://url/projet.git

+ 5 - 0
Git - Codebox/git - configurer proxy.TXT

@@ -0,0 +1,5 @@
+Dans git bash:
+
+>> git config --global http.proxy http://olivier.massot:*****@olfeov5.cg67.fr:8080
+
+Attention: le mdp sera stocké en clair dans ~\.gitconfig

+ 141 - 0
Jenkins + python.md

@@ -0,0 +1,141 @@
+# Utiliser Jenkins pour tester son code python
+
+> Testé avec Python 3.4
+
+## Librairies python:
+
+Librairies requises:
+
+* nose2 > `pip install nose2`
+* cov-core > `pip install cov-core`
+* junit-xml > `pip install junit-xml`
+* pylint > `pip install pylint`
+> si ImportError au lancement de pylint, executer aussi:
+> `pip install wrapt lazy_object_proxy --upgrade`
+
+
+
+## Configurer son projet
+
+### Séparer le code des tests
+
+Créer une structure du type:
+
+* projet
+ * projet
+ * tests
+
+### Les tests et leur couverture avec nose2
+
+nose2 executera les tests de tous les fichiers dont le nom commence par 'test_'  
+
+En ligne de commande windows: `nose2 --with-coverage --coverage=.\core`
+
+### La qualité du code
+
+pylint contrôle la qualité du code
+
+En ligne de commande windows: `pylint .\core`
+
+
+## Installer et configurer Jenkins
+
+### Installer jenkins
+
+Executer l'installeur Windows ([ici](https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+as+a+Windows+service))
+
+Vérifier que le service Jenkins est actif (dans le gestionnaire de taches)
+
+Pour le démarrer, redémarrer, arrêter, ou vérifier son status:  
+
+	cd c:\Program Files\Jenkins\  
+	jenkins start  
+	jenkins restart  
+	jenkins stop  
+	jenkins status  
+
+Accéder à l'interface via `localhost:8080`
+
+### Configurer jenkins
+
+Installer les plugins:  
+
+* Cobertura
+* Git Plugin
+* Violations
+* PostBuildScript
+
+Cliquer sur `Télécharger et redémarrer ensuite`
+
+Dans `Configurer Jenkins`>`Configurer le système`
+
+* Git Plugin: renseigner user.name et user.email
+* Shell: `C:\Windows\system32\cmd.exe`
+
+
+### Créer le Job
+
+Cliquer sur `New Job` > `Freestyle project` > `OK`
+
+Sur la page de configuration du Job, choisir Git comme SCM, avec le chemin du repo local comme repository path
+
+`Add Build Step` > `Execute windows batch command`
+
+Ajouter au champs Command:
+	
+	set PYTHONPATH=''
+	nose2 --plugin nose2.plugins.junitxml --junit-xml --with-coverage
+	python -m coverage xml --include=.\*
+	pylint -f parseable [nom_du_module]  > pylint.log
+	exit 0
+
+> attention au module pylint: celui-ci doit comprendre un fichier \_\_init__.py'
+
+Puis pour interpréter les résultats:
+
+* `Add Post Build Step` > `Publish Cobertura Coverage Report`
+
+Dans Xml report pattern: `coverage.xml`
+
+
+* `Add Post Build Step` > `Publish JUnit test result report`
+
+Dans Test report xmls: `nose2-junit.xml`
+
+* `Add Post Build Step` > `Report Violations`
+
+Dans `pylint`: `**/pylint.log` *attention au type de slash*
+
+Dans Source Path pattern: `**/`
+
+* `Add Post Build Step` > `Execute a set of scripts` > `Build steps` > `Executer une commande windows`
+
+Insérer la commande:
+
+	echo off
+	setlocal enabledelayedexpansion
+	cd %JENKINS_HOME%\jobs\%JOB_NAME%\builds\%BUILD_NUMBER%\violations
+	for /f "delims=" %%l in (violations.xml) do (
+	    set str=%%l
+	    set str=!str:\=/!
+	    echo !str! >> violations.tmp
+	)
+	ren violations.xml violations.old
+	ren violations.tmp violations.xml
+
+Cocher:
+
+* Execute script only if build succeeds
+* Mark build unstable instead of failed on script error
+
+> ce dernier script permet de corriger le fichier violations.xml et de le rendre lisible par Jenkins
+
+
+
+### Lancer le Job
+
+Cliquer sur `Lancer le build`
+
+Les résultats de l'éxecution sont accessibles dans Console Output
+
+Depuis l'écran principal, on a accès aux résultats des tests, à leur couverture, ainsi qu'aux violations pylint

BIN
Office/ACCESS 2010.pdf


BIN
Office/ameliorer ses tableaux excel.mp4


+ 9 - 0
Python/Python - Installer des librairies avec PIP.TXT

@@ -0,0 +1,9 @@
+Avec Python 3.4:
+
+Dans la fenetre de commande windows:
+
+set http_proxy=http://CG67\prenom.nom:*****@olfeov5.cg67.fr:8080
+set https_proxy=http://CG67\prenom.nom:*****@olfeov5.cg67.fr:8080
+pip3 install [nom de la librairie]
+
+(pour accéder aux autres commandes comme uninstall, search...etc, taper >> pip3 help )

+ 23 - 0
Python/Python - créer des interfaces avec Qt.TXT

@@ -0,0 +1,23 @@
+Python / Qt Creator
+
+1. Installer la suite Qt Creator (ou seulement Qt Designer)
+2. Créer une ou des interfaces
+3. Celles-ci sont enregistrées au format .ui
+4. Convertir ces fichiers en classes python avec la commande pyuic (installée avec pyqt)
+
+Avec Pyqt5:
+pyuic5 -x window.ui -o [nom_fichier].py
+
+5. Importer dans son programme la classe ainsi générée:
+from [nom_fichier] import Ui_[nom_fichier]
+
+6. Créer une classe fenetre (qui héritera de QDialog ou autre)
+
+7. Ajouter à cette classe la méthode:
+
+    def createWidgets(self):
+        """construction de l'interface"""
+        self.ui = Ui_[nom_fichier]()
+        self.ui.setupUi(self)
+
+8. Appeller cette methode dans le constructeur de la classe

+ 31 - 0
Python/Python - installer et configurer eclipse.TXT

@@ -0,0 +1,31 @@
+0. Trouver la derniere version de eclipse for java developpers (attention au 32/64 bits)  -> [ici](http://www.eclipse.org/downloads/packages/eclipse-ide-java-ee-developers/mars1)
+1. Extraire eclipse vers un répertoire (pas d'installation nécessaire)
+2. Creer un espace de travail (ex: 'eclipse_ws') dans ce repertoire
+3. Ouvrir eclipse et choisir ce workspace
+4. installer pydev: help -> install new software, taper 'http://pydev.org/updates' dans 'work with' (name: 'pydev'), suivre l'installation
+5. traduire en francais: dans le dossier 'eclipse fr', selectionner tous les fichiers archive, decompresser ici, tout doit se mettre dans deux rep: features et plugins. Copier le contenu de ces dossiers vers leurs homonymes dans /eclipse/.
+6. Dans eclipse: fichier -> importer -> general -> existing project, puis choisir le repertoire du projet
+
+
+7. Optionnel: pour configurer la commande rapide de pyuic
+
+Dans eclipse: executer-> config excterne -> config
+
+nom: pyuic5 
+empacement: ${workspace_loc:/DMonde/lib/ui/pyuicEclipse.bat}
+rep: ${workspace_loc:/chemin/relatif/ui}
+
+creer un fichier .bat dans le repertoire ./ui/ contenant:
+
+    @echo off
+    set fname=%1
+    set fname=%fname:.ui=.py%
+    pyuic5 -x %1 -o %fname%
+
+args: ${resource_loc}
+
+desactiver 'generer avant de lancer'
+activer 'regenerer aprés'-> le dossier
+cocher 'favori'
+
+

+ 5 - 0
Python/Python - installer l'environnement de dev.TXT

@@ -0,0 +1,5 @@
+1- Installer Python34 ->  [telecharger](https://www.python.org/downloads/)
+2- Installer Qt Creator -> [telecharger](http://www.qt.io/download-open-source/)
+3- Installer Pyqt5 -> [telecharger](https://riverbankcomputing.com/software/pyqt/download5)
+4- Installer Git (cf git.txt) -> [telecharger](https://git-scm.com/downloads)
+5- Installer eclipse -> [telecharger](https://eclipse.org/downloads/)

+ 86 - 0
ajax.md

@@ -0,0 +1,86 @@
+# Integrer Ajax à un projet MVC
+
+## Controller
+
+Le controlleur doit fournir deux méthodes:
+
+Les exemples ci dessous utilient un modele `PersonModel`, avec deux propriétés: `name` (string) et `DateTime` (DateTime) 
+
+### GET 
+
+Une methode GET qui retourne la view
+
+### POST
+
+Une methode POST qui retourne un `JsonResult`
+
+### Exemple
+
+	public class HomeController : Controller
+	{
+		// GET: Home
+		public ActionResult Index()
+		{
+			return View();
+		}
+	 
+		[HttpPost]
+		public JsonResult AjaxMethod(string name)
+		{
+			PersonModel person = new PersonModel
+			{
+				Name = name,
+				DateTime = DateTime.Now.ToString()
+			};
+			return Json(person);
+		}
+	}
+
+## View 
+
+la view contient ici une textbox et un bouton.
+On assigne à la vue un event hadler jquery qui appellera la méthode du controlleur via AJAX. 
+
+### Exemple
+
+	@model jQuery_AJAX_MVC.Models.PersonModel
+	 
+	@{
+		Layout = null;
+	}
+	 
+	<!DOCTYPE html>
+	 
+	<html>
+	<head>
+		<meta name="viewport" content="width=device-width"/>
+		<title>Index</title>
+	</head>
+	<body>
+		<input type="text" id="txtName"/>
+		<input type="button" id="btnGet" value="Get Current Time"/>
+		<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
+		<script type="text/javascript">
+			$(function () {
+				$("#btnGet").click(function () {
+					$.ajax({
+						type: "POST", // => Request Type
+						url: "/Home/AjaxMethod", // => Controlleur
+						data: '{name: "' + $("#txtName").val() + '" }', // => Paramètre et valeur
+						contentType: "application/json; charset=utf-8",
+						dataType: "json",
+						success: function (response) {
+							alert("Hello: " + response.Name + " .\nCurrent Date and Time: " + response.DateTime); // => Méthode si succès
+						},
+						failure: function (response) {
+							alert(response.responseText); // => Méthode si echec
+						},
+						error: function (response) {
+							alert(response.responseText); // => Méthode si erreur
+						}
+					});
+				});
+			});
+		</script>
+	</body>
+	</html>

+ 31 - 0
ajax.txt

@@ -0,0 +1,31 @@
+# Integrer Ajax à un projet MVC
+
+## Controller
+
+Le controlleur doit fournir deux méthodes:
+
+### GET 
+
+Une methode GET qui retourne un JsonResult
+
+Ex:
+
+	public class HomeController : Controller
+	{
+		// GET: Home
+		public ActionResult Index()
+		{
+			return View();
+		}
+	 
+		[HttpPost]
+		public JsonResult AjaxMethod(string name)
+		{
+			PersonModel person = new PersonModel
+			{
+				Name = name,
+				DateTime = DateTime.Now.ToString()
+			};
+			return Json(person);
+		}
+	}

BIN
jenkins-the-definitive-guide.pdf


+ 2 - 0
proxy.txt

@@ -0,0 +1,2 @@
+http://olivier.massot:*******@olfeov5.cg67.fr:8080
+localhost,127.0.0.1,*.cg67.fr,172.*,*.bas-rhin.fr,<local>

+ 94 - 0
raccourcis_windows.txt

@@ -0,0 +1,94 @@
+Combinaisons de touches de système Windows
+•	F1 : aide
+•	CTRL + ÉCHAP: Menu d'ouvrir Démarrer
+•	ALT + TAB : Basculer entre les programmes ouverts
+•	ALT + F4 : Quitter le programme
+•	MAJ + SUPPR : Supprimer définitivement l'élément
+•	Logo Windows + L: Verrouiller l'ordinateur (sans utiliser CTRL + ALT + SUPPR)
+•	F2 : Objet de renommer
+•	F3 : Rechercher tous les fichiers
+•	ALT + ENTRÉE : Ouvrez les propriétés de l'objet sélectionné
+Combinaisons de touches de programme Windows
+•	CTRL + C: copie
+•	CTRL + X: coupe
+•	CTRL + V: coller
+•	CTRL + Z: annuler
+•	CTRL + B: gras
+•	CTRL + U: souligné
+•	CTRL + I: italique
+•	CTRL + A: Sélectionner tous les éléments dans la fenêtre active
+Combinaisons de modificateurs de clavier + souris pour les objets du shell
+•	MAJ + clic droit : affiche un menu contextuel contenant des commandes alternatives
+•	Maj + double clic : exécute la commande auxiliaire par défaut (le deuxième élément du menu)
+•	ALT + double-clic : affiche les propriétés
+•	MAJ + SUPPR : Supprime immédiatement un élément sans le placer dans la Corbeille
+Commandes clavier générales
+•	F10 : Active les options de barre de menu
+•	MAJ + F10 ouvre un menu contextuel pour l'élément sélectionné (c'est le même que le clic droit sur un objet
+•	CTRL + ÉCHAP ou ÉCHAP: sélectionne le bouton Démarrer (appuyez sur TAB pour sélectionner la barre des tâches, ou appuyez sur MAJ + F10 pour un menu contextuel)
+•	CTRL + MAJ + ÉCHAP: Ouvre le Gestionnaire des tâches Windows
+•	ALT + flèche bas : Ouvre une zone de liste déroulante
+•	ALT + TAB : Basculer vers un autre programme actif (maintenez enfoncée la touche ALT et appuyez sur la touche TAB pour afficher la fenêtre de basculement de tâches)
+•	MAJ : Appuyez sur et maintenez la touche MAJ enfoncée pendant que vous insérez un CD-ROM pour ignorer la fonctionnalité d'exécution automatique
+•	ALT + espace : Affiche le menu système de la fenêtre principale (à partir de la Système menu, vous pouvez restaurer, déplacer, redimensionner, réduire, agrandir ou fermer la fenêtre)
+•	ALT + - (ALT + trait d'union): affiche la fenêtre d'Interface multi document
+•	CTRL + TAB : Basculer vers la fenêtre fille suivante d'un programme d'Interface multi document (MDI, Multiple Document Interface)
+•	ALT +lettre soulignée dans un menu: Ouvre le menu	
+•	CTRL + F4 : Ferme la fenêtre d'Interface multi document active
+•	ALT + F6 : Basculer entre plusieurs fenêtres dans le même programme (par exemple, lorsque le bloc-notes Rechercher boîte de dialogue s'affiche, ALT + F6 bascule entre la boîte de dialogue Rechercher et la fenêtre principale du bloc-notes)
+Pour copier un fichier
+Appuyez sur et maintenez la touche CTRL enfoncée pendant que vous faites glisser le fichier vers un autre dossier.
+Pour créer un raccourci
+Appuyez sur CTRL + MAJ enfoncée pendant que vous faites glisser un fichier vers le dossier Bureau.
+Contrôle des raccourcis/fichier général
+•	F4 : Sélectionne la case Aller à un autre dossier et descend les entrées dans la zone (si la barre d'outils est active dans l'Explorateur Windows)
+•	F5 : Actualise la fenêtre en cours.
+•	F6 : Se déplace dans les volets de l'Explorateur Windows
+•	Retour arrière : Basculer vers le dossier parent
+•	MAJ + clic +Fermer bouton : pour les dossiers, fermer le dossier courant et tous les dossiers parents
+Contrôle d'arborescence de l'Explorateur Windows
+•	Pavé numérique *: développe tous les éléments sous la sélection en cours
+•	Pavé numérique +: étend la sélection en cours
+•	Pavé numérique-: Réduit la sélection en cours.
+•	Flèche vers la droite : Étend la sélection en cours si elle n'est pas agrandie, sinon elle va vers le premier enfant
+•	Flèche vers la gauche : Réduit la sélection en cours si elle est agrandie, sinon elle va vers le parent
+Contrôle des propriétés
+•	CTRL + TAB / CTRL + MAJ + TAB : se déplacer dans les onglets de propriétés
+Raccourcis d'accessibilité
+•	Appuyez sur la touche MAJ cinq fois : activer et désactiver les touches rémanentes
+•	Appuyez et maintenez la touche MAJ droite pendant huit secondes : activer et désactiver les touches filtres
+•	Appuyez et maintenez la touche VERR. NUM pendant cinq secondes : Active/désactive et désactiver les touches bascules
+•	ALT gauche + gauche + VERR. MAJ : Active/désactive désactivation des touches souris
+•	ALT gauche + MAJ + IMPR. écran à gauche : Active ou désactive le contraste élevé et désactiver
+Touches de clavier Microsoft Natural Keyboard
+•	Windows Logo : Menu Démarrer
+•	Windows + R: Boîte de dialogue exécuter
+•	Windows + M: Réduire tout
+•	MAJ + Windows + M: Annule réduire tout
+•	Windows + F1 : aide
+•	Windows + E: Explorateur Windows
+•	Windows + F: Rechercher des fichiers ou des dossiers
+•	Windows + D: Réduit toutes les fenêtres ouvertes et affiche le bureau
+•	CTRL + Windows + F: Recherche d'ordinateur
+•	CTRL + Windows + TAB : Place le focus à partir du début, sur la barre d'outils Lancement rapide, dans la barre d'état système 
+•	Windows + TAB : Parcourir les boutons de la barre des tâches
+•	Windows + saut : Boîte de dialogue Propriétés système
+•	Touche application : affiche un menu contextuel pour l'élément sélectionné
+Clavier Microsoft Natural Keyboard avec le logiciel IntelliType
+•	 Windows + L: Fermer la session Windows
+•	 Windows + P: Démarrage du Gestionnaire d'impression
+•	 Windows + C: Ouvre le panneau de configuration
+•	 Windows + V: Lance le Presse-papiers
+•	 Windows + K: Ouvre la boîte de dialogue Propriétés du clavier
+•	 Windows + I: boîte de dialogue s'ouvre, Propriétés de la souris
+•	 Windows + A: Options d'accessibilité démarre (si installé)
+•	 Windows + espace : Affiche la liste des raccourcis clavier Microsoft IntelliType
+•	 Windows + S: Bascule VERR sous et hors tension
+Commandes de clavier de boîte de dialogue
+•	ONGLET : Déplacer vers le contrôle suivant dans la boîte de dialogue
+•	MAJ + TAB : Déplacer vers le contrôle précédent dans la boîte de dialogue
+•	Barre d'espace : Si le contrôle actuel est un bouton, il clique sur le bouton. Si le contrôle actuel est une case à cocher, cela active ou désactive la case à cocher. Si le contrôle actuel est une option, cela sélectionne l'option.
+•	ENTRÉE : Équivalent à cliquer sur le bouton sélectionné (le bouton dont le contour)
+•	ESC: Équivalent à cliquer sur le bouton Annuler
+•	ALT +lettre soulignée dans un élément de la boîte de dialogue: Passer à l'élément correspondant
+