Skip to content
Snippets Groups Projects
Commit f397d6b9 authored by Laurine's avatar Laurine
Browse files

finish doc and starter set up

parent cc79fc32
Branches
No related tags found
No related merge requests found
Showing
with 224 additions and 1 deletion
......@@ -6,6 +6,7 @@
<sourceOutputDir name="target/generated-sources/annotations" />
<sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
<outputRelativeToContentRoot value="true" />
<module name="demo" />
</profile>
</annotationProcessing>
<bytecodeTargetLevel>
......@@ -15,6 +16,7 @@
<component name="JavacSettings">
<option name="ADDITIONAL_OPTIONS_OVERRIDE">
<module name="back-skeleton" options="-parameters" />
<module name="demo" options="-parameters" />
</option>
</component>
</project>
\ No newline at end of file
......@@ -2,5 +2,6 @@
<project version="4">
<component name="Encoding">
<file url="file://$PROJECT_DIR$/back-skeleton/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/webapp-hello-world/src/main/java" charset="UTF-8" />
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ExternalStorageConfigurationManager" enabled="true" />
<component name="ProjectRootManager" version="2" default="true">
<component name="MavenProjectsManager">
<option name="originalFiles">
<list>
<option value="$PROJECT_DIR$/webapp-hello-world/pom.xml" />
</list>
</option>
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_17" default="true" project-jdk-name="17" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" />
</component>
</project>
\ No newline at end of file
# GIT CHEAT SHEET
Quelques informations pratiques pour la mise en place d'un projet de petite envergure avec git.
## Démarrer un projet
Initialiser votre git en ouvrant une console à la racine de votre projet:
```
> git init
```
Si ce n'est pas déjà le cas, configurer votre clé ssh avec votre compte en ligne : [Clé SSH sur Gitlab](https://gitlab.com/-/profile/keys).
Établir le lien entre votre dossier local et le repository que vous avez créé en ligne (récupérer l'**url** en cliquant sur "clone" sur GitLab):
```
> git remote add origin <url>
```
Créer votre première branche (qui sera la branche principale pour la suite du projet):
```
> git checkout -b master
```
Ajouter dans *.gitignore* les fichiers/dossiers qu'on ne veut pas pousser avec le projet.
Une fois fait, créer un premier commit qui englobe l'ensemble des sources sur la branche principale :
```
> git commit -am "[CHORE] First commit"
```
Pousser le commit tout juste créé tout en liant la branche locale à son équivalent sur le repository.
```
> git push --set-upstream origin master
```
Vérifier l'état du repository sur Gitlab. Les autres contributeurs pourront cloner le projet :
```
> git clone <url>
```
## Au quotidien
Toujours *pull* la dernière version de la branche principale avant d'en créer une nouvelle:
```
> git checkout master
> git pull origin master
> git checkout -b ma-super-branche
```
Toujours sauvegarder mes modifications dans un *commit* quand je finis une étape importante de mon développement ou que je dois fermer mon ordinateur:
```
> git add .
> git commit -m "Une description de mon avancement"
> git push origin ma-super-branche
```
Toujours *rebaser* ma branche sur la branche principale si des changements y ont été ajoutés depuis la dernière fois:
```
> git checkout master
> git pull
> git checkout ma-super-branche
> git rebase master
```
Et résoudre les conflits dans IntelliJ si besoin.
## Pratique
Pour voir l'historique des derniers commits de la branche sur laquelle je suis:
```
> git log
```
Pour voir tous les fichiers modifiés depuis le dernier commit, ou carrément toutes les modifications:
```
> git status
> git diff
```
Pour récupérer les informations des nouvelles branches créées sur le repository:
```
> git fetch origin
```
Lorsque j'ai des modifications en attente que je ne veux pas commiter, je peux les ajouter à la pile des brouillons:
```
> git stash
```
Pour ajouter mes modifications au sein du dernier commit, plutôt que dans un nouveau:
```
> git commit --amend
```
Pour pousser ma branche après avoir modifié son historique (après un *rebase* ou un *amend* par exemple):
```
> git push --force
```
Lorsque je suis au bout de ma vie:
```
> git --help
```
N'oubliez pas de jeter un coup d'oeil à l'arbre git de votre repository, il contient toutes les informations dont vous avez besoin pour comprendre ce qu'il se passe !
Raccourcis IntelliJ par défaut Windows/Linux
====
note : c'est globablement les mêmes sur Mac, remplacer juste `Ctrl` par `command` et `alt` par `control`.
Vous pouvez retrouver l'ensemble des raccourcis Intellij dans Preferences -> Keymap --> Editor Actions
C'est aussi ici que vous pouvez les modifier à votre sauce.
+ Selection multiple : `Ctrl + shift + MAJ + clique`
+ Duplique la sélection : `Ctrl + D`
+ Elargie la selection : `Ctrl + W`
+ Selectionne les autres occurrences : `Ctrl + J ou Alt + J`
+ Fast access (le graal) : `shift + shift`
—> Permet de chercher n’importe quel fichier ou fonctionnalité présente dans IntelliJ
(IntelliJ est en anglais donc il faut chercher en anglais les fonctionnalités)
+ Recherche classique : `Ctrl + F`
+ Recherche dans tout le projet : `Ctrl + MAJ + F`
+ Equivalent du Alt + Tab pour les fichiers IntelliJ : `Ctrl + Tab`
+ Reformater le code (clean tout tes espaces et indentation) : `Ctrl + Alt + L`
+ Supprime les imports pas utiliser : `Ctrl + Alt + O`
+ Commenter les lignes selectionnées : `Ctrl + /`
# Troubleshooting
Ici, nous avons consigné la plupart des choses que vous pouvez rencontrer sur votre chemin avant d'avoir un projet qui **run**.
## VT-x/AMD-V hardware acceleration is not available on your system
Lancer dans un powershell admin: `docker-machine create default --virtualbox-no-vtx-check`.
Si ça ne marche toujours pas, installer la **dernière version** (6.X) de VirtualBox.
Si cela ne fonctionne toujours pas, vérifier :
* Qu'il soit activé dans le BIOS (c'est généralement le cas)
* Que Hyper-V est désactivé dans Windows (dans un invite de commande admin : `dism.exe /Online /Disable-Feature:Microsoft-Hyper-V`
## Docker
`Looks like something went wrong in step 'Looking for vboxmanage.exe' ... Press any key to continue...`
Désinstaller Docker et Virtual Box. Dans l'explorateur de fichier, à la racine de votre utilisateur (C:/utilisateurs/%user%/), supprimer les dossiers .docker et .virtualBox.
Réinstaller Docker
`Unable to locate bash.exe `
Pointer vers le répertoire d'installation de Git (C:\Program Files (x86)\Git\bin\bash.exe par défaut)
## IP Hote Docker pour Windows
Si vous êtes sur Windows Home ou Family, Docker utilisera une VM Virtualbox pour faire fonctionner vos containers.
Du coup, l'adresse de tous les services (càd la DB) ne sera pas `localhost` mais `192.168.99.100`
## Application qui ne démarre pas
Si quand vous lancez votre application Spring Boot, vous avez des messages d'erreur qui ressemblent à cela (quand vous fouillez dans la Stacktrace) :
`Caused by: java.net.ConnectException: Connection refused (Connection refused)`
ou
`Caused by: java.sql.SQLNonTransientConnectionException: Socket fail to connect to host:localhost, port:3306. Connection refused (Connection refused)`
C'est que vous avez un soucis de connexion entre votre application et votre DB.
1. Vérifiez que votre DB est bien lancée et que vous pouvez y accéder via votre client SQL (Intellij IDEA, PhpMyAdmin, Adminer, MySQLWorkbench, etc...)
2. Vérifiez que le host, le login / password, et le port sont bien indiqués et sont les bons (si vous êtes sur windows ou pas, cela peut changer !!!) dans `src/main/resources/application.properties`
## Dépendances externes qui ne compilent pas (Spring, ou autre)
Vous pouvez réimporter le projet maven, en cliquant sur l'onglet "Maven" tout à droite de votre écran.
img-readme/main-readme/img11.png

240 KiB | W: | H:

img-readme/main-readme/img11.png

1.4 MiB | W: | H:

img-readme/main-readme/img11.png
img-readme/main-readme/img11.png
img-readme/main-readme/img11.png
img-readme/main-readme/img11.png
  • 2-up
  • Swipe
  • Onion skin
img-readme/main-readme/img16.png

187 KiB | W: | H:

img-readme/main-readme/img16.png

220 KiB | W: | H:

img-readme/main-readme/img16.png
img-readme/main-readme/img16.png
img-readme/main-readme/img16.png
img-readme/main-readme/img16.png
  • 2-up
  • Swipe
  • Onion skin
img-readme/main-readme/img17.png

146 KiB | W: | H:

img-readme/main-readme/img17.png

1.34 MiB | W: | H:

img-readme/main-readme/img17.png
img-readme/main-readme/img17.png
img-readme/main-readme/img17.png
img-readme/main-readme/img17.png
  • 2-up
  • Swipe
  • Onion skin
img-readme/main-readme/img18.png

201 KiB | W: | H:

img-readme/main-readme/img18.png

2.1 MiB | W: | H:

img-readme/main-readme/img18.png
img-readme/main-readme/img18.png
img-readme/main-readme/img18.png
img-readme/main-readme/img18.png
  • 2-up
  • Swipe
  • Onion skin
img-readme/main-readme/img19.png

113 KiB | W: | H:

img-readme/main-readme/img19.png

766 KiB | W: | H:

img-readme/main-readme/img19.png
img-readme/main-readme/img19.png
img-readme/main-readme/img19.png
img-readme/main-readme/img19.png
  • 2-up
  • Swipe
  • Onion skin
img-readme/main-readme/img20.png

44.5 KiB | W: | H:

img-readme/main-readme/img20.png

30.4 KiB | W: | H:

img-readme/main-readme/img20.png
img-readme/main-readme/img20.png
img-readme/main-readme/img20.png
img-readme/main-readme/img20.png
  • 2-up
  • Swipe
  • Onion skin
img-readme/main-readme/img23.png

123 KiB | W: | H:

img-readme/main-readme/img23.png

593 KiB | W: | H:

img-readme/main-readme/img23.png
img-readme/main-readme/img23.png
img-readme/main-readme/img23.png
img-readme/main-readme/img23.png
  • 2-up
  • Swipe
  • Onion skin
img-readme/main-readme/img24.png

110 KiB | W: | H:

img-readme/main-readme/img24.png

94.3 KiB | W: | H:

img-readme/main-readme/img24.png
img-readme/main-readme/img24.png
img-readme/main-readme/img24.png
img-readme/main-readme/img24.png
  • 2-up
  • Swipe
  • Onion skin
img-readme/main-readme/img31.png

59.5 KiB | W: | H:

img-readme/main-readme/img31.png

12 KiB | W: | H:

img-readme/main-readme/img31.png
img-readme/main-readme/img31.png
img-readme/main-readme/img31.png
img-readme/main-readme/img31.png
  • 2-up
  • Swipe
  • Onion skin
img-readme/main-readme/img4.png

38.3 KiB

img-readme/main-readme/img5.png

90.6 KiB | W: | H:

img-readme/main-readme/img5.png

15.9 KiB | W: | H:

img-readme/main-readme/img5.png
img-readme/main-readme/img5.png
img-readme/main-readme/img5.png
img-readme/main-readme/img5.png
  • 2-up
  • Swipe
  • Onion skin
img-readme/main-readme/img6.png

28.9 KiB | W: | H:

img-readme/main-readme/img6.png

36.2 KiB | W: | H:

img-readme/main-readme/img6.png
img-readme/main-readme/img6.png
img-readme/main-readme/img6.png
img-readme/main-readme/img6.png
  • 2-up
  • Swipe
  • Onion skin
img-readme/main-readme/img8.png

81.7 KiB

# See http://help.github.com/ignore-files/ for more about ignoring files.
# compiled output
target
dist
tmp
out-tsc
# Only exists if Bazel was run
bazel-out
# dependencies
node_modules
# profiling files
chrome-profiler-events*.json
speed-measure-plugin*.json
# IDEs and editors
.idea
.project
.classpath
.c9/
*.launch
.settings/
*.sublime-workspace
# IDE - VSCode
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
.history/*
# misc
.sass-cache
connect.lock
coverage
libpeerconnection.log
npm-debug.log
yarn-error.log
testem.log
typings
# System Files
.DS_Store
Thumbs.db
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment